CSDN博客

img 李学凌

自由软件创世纪

发表于2002/2/1 16:35:00  1207人阅读

8年前,芬兰一个醉心于网络的“黑客”Linus,因为不满赫尔新基大学里那台“只能16个人同时使用的”的电脑,自己动手编写出了一个与Unix极其相似的操作系统,被命名为Linux。5年前这个叫做Linux的软件正式加盟“自由软件联盟”。而今,虽然Linus说,他还是不同意“自由软件联盟”创始人Stallman的处世哲学,但“自由软件”的概念已经开始改变世界。英特尔为这个世界观的改变注入了自己的资金,而微软也转而开始支持这个黑客们联手创造的小软件。这是自由软件清纯世界的开始吗?


自由软件创世纪

本报记者  李学凌


    如果5年之后,微软帝国訇然倒塌,谁会取而待之?
A.Unix    B. Mac OS    C. OS/2    D. Linux   E. 其他

    半年以前,如果人们来做这道题的话,答案会千变万化,但很少会有人选择Linux,没有人会相信,一种纯粹的免费软件会有能力挑战商业软件巨人--微软。而如今,再做这道选择题时,Linux却可能力拔头筹--世界开始变化了。
   1998年9月英特尔和网景以及两家风险投资公司忽然宣布向Linux发行商小红帽(Red Hat)注入资金,帮助她发展Linux集成软件,整个产业界的目光都一齐投向了名不见经传 的“小公司”。Wintel联盟曾被称为的信息产业界最优秀的组合,微软和英特尔联手把PC机做成了个人电脑的标准,使得苹果电脑在个人电脑市场连战连败。如今,同样都受到反托拉斯困挠的Wintel联盟,兄弟般的两大公司却开始貌合神离,微软加大扶持AMD的力度,英特尔的眼光开始瞄向这个一直不被商业人士看好的自由软件。巨人的争斗使得这个潜行8年之久的自由软件终于露出了冰山一角。开放源代码联盟在他们的主页上(www.opensource.org)骄傲地宣称:未来终于到来!(The future is here!)。
    可能有许多人到现在也没有听说过Linux。8年前,芬兰一个醉心于网络的“黑客”Linus,因为不满赫尔新基大学里那台“只能16个人同时使用的”的电脑,自己动手编写出了一个与Unix极其相似的操作系统,并把它放到网上,征求全世界编程高手的建议。这些源程序吸引了世界上许多编程高手的目光,在1994年3 月正式推出的Linux 1.0版中罗列了100多位作出过突出贡献人的名字和地址,正是这些分居在全世界各地的编程高手,共同完成了这一史诗般的操作系统。
    这是一个业余的作品,但并不是一个业余水平的作品,Linux1.0让那些著名软件公司的老板们,一边睁大了眼睛,一边伸手摸索着他们掉在地上的眼镜。短短几年,Linux在互联网上已名声大振,据统计,在国际互联网上,有29%的互联网络服务器采用了LInux超过微软Windows NT6个百分点。
    虽然Linux取得了如此瞩目的成绩,可那些坐在宽大办公桌后面的软件公司总裁们却并不看好她,因为他们认定没有人会把至关重要的工作建立在一个免费软件上。虽然Linux的的确确进入了一些大公司的硬盘,每天把成千上万至关重要的数据般来般去,但还是没有人会相信,自由软件能突破商业软件的壁垒,创造一个新世纪。
    一个突如其来的事件,改变了自由软件的历史。1998年2月,网景公司向世界宣告,她最著名的网络浏览器Netscape Navigator彻底屏弃商业背景,进入自由软件的行列,为此,网景公司公布了新版本Navigator的全部源代码。
    自由软件联盟沸腾了。
    1984年,麻省理工学院(MIT)的R.stallman提出了一套称为GNU的自由软件发展计划,并于1985年创建了自由软件基金会(FSF),1991年公布了GPL2.0( General Public License普遍公用许可)。GPL要求所有加入联盟的自由软件必须为用户提供所有可读的源代码,而且购买自由软件的用户可以根据自己的需要任意改写这些程序,并可以在GPL的约束下考贝转让给任何人,甚至可以收取转让费用。其实在这一条约下,已经没有所谓的“盗版”软件了,真正意义上的盗版是“出售那些改变了软件创作者名字的自由软件”。自由软件彻底改变了软件保护的定义,把软件从商业的泥潭拉加到纯技术的“伊甸园”。
    1976年,比尔盖茨在Altair用户的《业务通迅》上曾发表过一封著名的公开信,信用第一次把那些盗版用户称为“贼”。盖茨的观点得到了商界和司法界的广泛支持。从盖茨的观点中衍生出了一整套软件版权保护体系。许多用户已经习惯了这一整套的版权法则,很少有人能够深入思考,软件版权保护的究竟是什么。当我们使用着100兆以上的大软件时,我们并不知道这些软件是怎样写出来。成文的软件保护法保护着这些软件的版权,在每一个说明书上都写着
“任何反向工程,反编译都将受到法律制裁”,源代码成了软件公司的绝对机密。用户只是花钱买到了软件可执行代码(我们称之为程序的东西),我们可以靠着这些程序的帮助,完成一些工作,但没有人能说得清,这些010101组成的程序在我们的电脑里究竟干了些什么。最近报纸上纷纷报导一些电脑爱好者在软件中发现的隐藏小程序(一般称之为“圣诞节彩蛋”),Windows、Word、Exel里都隐藏了许多彩蛋。没有人知道在这上千万行的程序里究竟隐藏了什么,那些商业用户只好双手合十仰天祷告“上帝呀,但愿他们没有藏点别的什么。”由商业软件公司一手操办的版权保护法彻底剥夺了用户的“知情权”。
    电脑技术的发展,已经带领世界进入到了一个“信息自由传播的”新世界。以前,为了防止盗版,软件公司呕心沥血,费尽心机,奔走呼号,加密装狗,忙得不已乐乎。近几年来,软件公司却纷纷宣布放弃加密,竞相逃出,生怕放弃的晚了,丢了市场。不知有没有人想过,全世界的盗版为什么屡禁不绝,为什么Internet上,自由软件日渐壮大?一位久观产业发展的人士一语道破许多玄机:电脑和网络已经进入了一个自由传播的时代,可文化和法律还没有跟上。是的,比特从本质上来讲,就是一个复制品,它因复制而产生,却不会因复制而消亡,它在复制中延续自己,却不会因复制而有所改变。人类历史上还从未出现过这样一种东西。书的出现,使复制大为容易,创造出了农业社会和工业社会的繁荣,而电脑的出现使复制完全没有成本,Internet在改变人们的时空观的同时,又使得世界范围的复制变为可能,世界开始经历一次新的飞跃,而文化总是滞后于技术进步的脚步。自由软件将一种软件版权的新定义带给世界,在自由软件的世界里,跟本就没有盗版这个词,所有的软件都是授权可以免费使用的。软件企业依靠没有成本的无限考贝的办法集中世界财富的时代需要有人来终结,这一希望不再任何别的地方,就在软件本身,在自由软件那里。
    软件产业经历了一个“暴胀”的发展期,也创造出了一批白手打天下的英雄。微软公司的财富一举超越了美国三大汽车公司的总和,但这对形成一个稳定的产业这并不是一件好事。老子说过“暴雨不终朝”,软件企业的财富 来自于软件可无限考贝的属性,但软件公司也不可能总以暴富者的形象矗立世界。微软为了能在疯狂发展的软件业保持巨头地位,不得已拼命扩展自己的领地。微软已经大到使其他软件公司难心立足的地步,这时制衡的另一极就开使滋长了。Power PC阵营挑战过微软,NC阵营挑战过微软,虽然他们都梦断午夜,但足以证明,微软模式已经阻碍了软件业的发展。自由软件以一个全新的思维再次挑战微软,“自由”的大旗得到了难以想像的支持,微软能胜一次,胜二次,但谁会想信,她将一胜再胜。
    自由软件并不会排斥商业,但自由软件将服务软件业的思想带到世界。一位研究Linux现象的专家这样形容自由软件世界里的商业:Internet上有许多美丽的小花,自由软件发行公司从中找出好用的来,查看它们的源代码,并修正其中的错误 。
    让我们来看一看Linux阵营吧:Oricale、Infomax、Sybase(世界上最大的数据库软件公司),Intel、IBM、康柏,SUN、CA、Netscape、Corel。仅看这几个公司,就可以知道Linux的发展潜力了。
    自由软件面临的最大问题就是信任问题,但由于自由软件的特性,大的软件公司可以修改和测试这些程序,如果出了IBM Linux、CA Linux、Intel Linux,谁还会怀疑这些软件的稳定性呢?
     微软并不是完全不向软件企业提供源代码,但她只会向自己的“战略合作伙伴”提供这些至关重要的东西。中软公司也曾投巨资来发展我们自己的操作系统,但这些推动力总显得不太强大。如今,中文Linux系统将可以成为国内系统软件新的增长点,国内有许多优秀的汉化公司,四通利方、新天地等公司都有着强大的汉字平台制作力量,如果这些公司能及时的投入到中文Linux制作的队伍中来,我们自己的操作系统很快就会产生出来,而国内软件公司开发的大量标准C语言的应用软件,不需要做任何改动就可以移植到Linux系统上来,对于徘徊已久的国产软件业来讲,这是一个新天地。
    Linux用了7年,创建了一个新世界,为世界谱写了一个“创世纪”的新篇章,而国内软件产业新的机遇就在其中。


    Linux运动本身是一场博爱运动
    GPL方式使得自由软件可以免费发行,而不是被精于算计的商业组织当作产权利用和封闭起来。
    Linux和自由软件社区可以说是真正的能人政治。在传统的开发小组里,程序员对面临的任务,要么知之不多,要么并不擅长。在自由软件开发中,程序员可以选择他擅长的领域工作。
    商业软件需要几年才能成熟的某些特征,Linux很快就实现了。
   

 

 

 

 

让Linux更富魅力!

译者 赵蔚zhaoway@163.net
你能花多一点时间为我们工作吗?

当然,没问题,我会尽我最大的努力。

在美国过的愉快吗?我更喜欢我们的芬兰领导,而不是又来一个指手画脚的美国佬....你怎么看这个问题?考虑过再回芬兰吗?


 到现在我在这过的都非常好:我非常喜欢在赫尔辛基大学里的日子但是我觉得尝试一些不同的东西也是值得的,并且到目前为止一切都非常好。我同意说芬兰在很多方面都更加“中立”,这对于Linux的发展很有利:有很多人对美国很敏感甚至是不喜欢美国,但是我确实不知道有谁是真的不喜欢芬兰。所以看来有些不好,但是我觉得大家信任我,并不是特别注意我是一个芬兰人,所以我并不认为这是一个非常严重的问题。美国这里的天气也比芬兰好得多(虽然这是很长时间以来海湾地区最多雨的冬季),这里的生活也更加有趣一些。虽然我真的非常喜欢我在大学里做的工作,但是我现在正在做的东西更刺激,很快就要完成了,就说这么多。

我们都知道美国对加密技术的限制;他们影响了Linux在这一领域的发展了吗?

 

 这个看来并不是特别严重。在我搬到美国来之前,美国对加密技术出口的愚蠢的限制就已经是一个问题了:主要是因为如果我们想要或者当我们想要在内核当中加入对加密技术的支持的时候,我们不得不把这个做成模块分离出来,这样CD商(大部分都是美国的)才能在海外卖他们的CD。所以我搬到这里对这件事并没有什么真正的影响,只不过现在显然不能由我来做加密的工作了(事实上我原本就不负责这方面的工作,我在这一领域不是专家)。但是不管怎么样,我还是希望美国的加密法能很快的改掉。美国的一些法律把好多原本简单的事情弄的非常的复杂。(公平的说美国并不是唯一有问题的国家:法国在这方面的问题要更为严重,并且他们正试图让整个欧洲都像他们一样。幸好法国人的这些疯狂的想法并没有多大的影响力,美国就不同了,他们在信息技术领域举足轻重)。


 你曾经想过要放弃继续担任Linux协调员吗?这个工作是否还像一开始那样的有趣?如果你打算离开,那么能跟我们说说你的下一个计划吗?


 我从来没有真的想过要离开,有几次有人问我如果我对此不再有兴趣了,那么留下来还有什么意思呢?Linux的协调工作总是非常有意思的,虽然我老是觉得它占了我太多的时间

请原谅我的好奇心,你现在每天花多少时间编程序?你现在主要的活动是什么?


 现在我已经没有那么多时间编代码了:偶尔我还是会连续几个星期整天都在编制代码,不过很少这样干了,这样干的时候大部分是因为内核需要做一些基本的改动。去年这样的情形发生了四到五次,大部分是因为SMP,还有这个“dentry”文件系统的缓存。我的大部分时间花在阅读Email并且回信上——协调大家的工作,在一些问题上讲一下我自己的观点,整理patch。现在这就是我的大部分工作:坦白的说,编程只占10%,协调的工作占了90%。


 你是怎么样处理好这件事情的?一方面在写一个免费的内核,同时仍旧能挣钱养活自己?

一开始,我是赫尔辛基大学的学生。在芬兰,这就意味着在好几年的时间里你能得到政府的资助以帮助你完成学业,还能得到特别学生贷款。我猜意大利的情况可能和这个差不多,不过也许不像芬兰的这样明确。一两年之后,我开始在大学里干助教,然后是助理研究员,学校始终在鼓励我继续写Linux。现在,显然我是在为一家商业公司工作,但是即使在这里,我还是得做好多Linux的工作,甚至是在上班的时间里,虽然Transmeta公司的业务和Linux没有关系,但是公司内部大量的使用Linux,所以我的Linux工作对公司还是有好处的。所以,不管是在大学里工作或是学习也好,还是在商业机构里工作也好,我总是能“上班”和Linux两不误。从来没有发生过什么严重的冲突,虽然我的上班时间并不是严格的限制在上午九点到下午五点......


为什么不试着转向商业化的支持方面呢?就像Cygnus公司那样?


 我从来就对把Linux的任何一部分转向商业化不感兴趣:维持一个商业的公司或是类似的机构,会花掉我大量的时间,我对此毫无兴趣。而且这会带来负担:我不能随便做我想做的、在技术上合理的事了,因为我必须考虑到我要靠它挣钱养活我和我的家庭。于此相反的是,在大学里或者是在Transmeta公司里工作,我可以不用依靠Linux来挣钱养活自己。这样,对Linux来说,我就是完全自由的了,我不用担心它是否会发给我下一个月的工资......我非常高兴在Linux上我没有任何压力,我想大部分其它的开发人员也是这样看这个问题的(他们不用担心我的判断力受到任何财政问题的影响)。


 你认为你改变了世界吗?或者只是刚刚迈出了第一步?


这是由我开始的,我感到非常的骄傲。我不认为我“改变了世界”,但是我非常骄傲,我改变了许多人的生活——这种感觉非常好,当你意识到有许多人关心你所做的工作。当然我不会说,它“使我的生活变得有意义”,但是Linux肯定是我生活中的一部分,如果你明白我的意思的话。


 你怎么看Richard Stallman的工作,还有他的哲学?

 我个人并不喜欢把政治和技术问题搅在一起,我在许多问题上的看法并不总是和rms一致。对于rms来说,当谈到软件的时候,有许多几乎是宗教信仰的问题,我自己在大部分问题上是比较现实的。所以,我们知道在一些问题上我们的看法不同,我们并不试图在一起工作,因为我们知道这不会很顺利。

 

上面说的话也许会使人认为我不喜欢rms,并不完全是这样。Rms显然是现在大部分的“自由软件”或“开放源码”潮流的推动者,如果缺了rms,这个世界会变得乏味许多。并且为了推动这个潮流,他“必须”显得有些偏激才行。所以准确的说,我真的非常敬仰rms,但是我不想和他一样,因为我们的世界观不同。


谈到现实的问题,2.2的日程表是怎样的?2.0和马上的2.2的主要差别是什么?


 就我现在所看到的,2.2会在夏天的早些时候发行,但是很难说准:有一些东西必须修改好才行,在改正这些问题之前还说不准。眼下这个TCP卡壳了,工作的不好,其它的部分都很好,但是这个问题很严重,在它得到修改之前,我还不敢想2.2。2.2的一个变化是,2.0中新增的一些特征,在2.2里将会变得更加成熟,诸如SMP还有multiple architectures。还有好多好多新东西(新的dentry代码,完全重新写的NFS,等等),但是SMP和architecture将会是2.2中最基本的东西之一。


宣称“占领世界:2003”;这实际吗?依你的观点,自由软件的概念会赢得市场吗?就这方面来说,你对网景公司的改变怎么看?


“占领世界”什么的,好像大家都在这么说,但是我认为,是的;有五年的时间让自由软件还有Linux得到较大的影响,并非不现实。网景的开放源码的行动是个很好的开头,我想很快就会有其他人也这么做。


 各种不同的自由操作系统如何才能共存?你的观点是什么?


 我想大家现在都意识到别人的存在了,但是现在的这种相互之间没有什么合作的状态还是会持续下去。至于Linux,它能够很好的和别的操作系统在一起合作,(特别是微软的那个很烂的操作系统;),我没看出来有变化的迹象,FreeBSD还有其它的系统都会存在下去。也许在一些细节上必须做一些改变,但是我看不出这里有任何根本的问题。


你认为Wine项目,还有其它的一些工具,能够使两个技术上相当,然而一个自由免费,另一个却是产权所有,的操作系统互相合作,运行一样的应用程序吗?(可怕的问题,我个人的看法是)。

 

不能,我想Wine项目对于PC上的操作系统来说是非常重要的一步,但是这一步造成一个错误的印象:好像一个好的操作系统必须能够运行那些Windows应用程序,诸如MS Office等等,否则就算不上一个好的系统。所以,我想每个系统都应该能运行一些基本的程序,但是没有必要要求两个系统在技术上完全等价,他们有各自不同的侧重点。比方说,微软总是强调性能只要过得去就行,并且他们的体积非常大,而Linux却是(并且也将一直是)强调技术问题。


目前我们没有免费的办公应用软件。你认为这只是迟早的问题,还是这样的软件只可能是商业化的?


我想商业软件总归会有一席之地的,虽然我想我们很快就会有免费的办公应用软件,但是我并不认为我们缺了这个就不行。


我想要一个自由免费的操作系统以及一些基本的应用程序的理由是,我想如果这些基本的东西不够健壮,并且你不能够自由的修改它以适合自己的需要的话,你就是真正的遇到了大麻烦了。但是谈到其它的领域,这个观点就不是那么正确了,并且你是不是能够免费得到源码,也不是那样的重要。


有时候我们会注意到一些“标准”仍旧是产权所有的(比如I20),是否这只是这些公司的垂死挣扎呢,还是说自由软件其实是处于危险当中?


我并不是非常的担心I20以及其它的一些产权所有的标准。产权所有的标准,这一想法其实已经失败了——现在几乎所有成功的标准都是开放的。有的时候,产权所有是因为这些制定标准的公司非常横蛮,他们不愿意放弃,我猜除了Intel和微软之外,就没有其它人这样的横蛮了,即使是这两家公司也会在竞争中被削弱的。


你在这件事中的位置是怎样的?即只能以二进制方式获得Linux模块。


我在某种程度上接受这件事,但是我从来不支持,并且我不喜欢这样。我接受它的理由是,在许多情况下,你有一个,比方说,并不是为Linux而写的设备驱动程序,它可以在SCO Unix或是其它的系统下工作,这时设备制造商突然清醒过来,意识到Linux更有前途。结果就是他们把自己的驱动程序移植到Linux上。但是因为这个驱动程序并非“基于”Linux(它原本就独立于Linux而存在了),所以我不认为我有权利要求他们必须由GPL管辖,所以这些不公开源码的模块接口让这些模块得以在Linux下生存、工作。这并不是说我将接受任何的封锁源码的模块:有些情况下,有些东西是很显然基于Linux的,脱离了Linux内核根本不行。在这些情况下,这就是很显然一个并非完全原创的工作了,上面所说的就不再适用,这就显然属于GPL证书管辖的范围了。


你对KDE-Qt这个问题怎么看?Gnome将会成功吗?


我个人很喜欢Qt,而且KDE看来做得不错。在这整件事上,我采取走着瞧的态度,看看gnome是否也能做的很好......在网络子系统中的一个有趣的挑战是“band reservation”;在Linux中怎么样?


 我看来不得不略过这个问题。我个人并没有参加到这一领域,并且也不是特别的感兴趣,所以我也不会在这上面花太多的精力。这就是Linux工作的方式:如果你需要这个,那么你自己把这个工作做起来,如果有很多人都需要这个,那么我们就把它集成到系统中去..


 有许多人问为什么用C而不是C++写系统内核。你反对在内核中使用C++的理由是什么?你最喜欢的语言是什么,除了C?


 C++可以让我们用到一些我很喜欢的编译器的特征,并且事实上,我们曾经在一个很短的时期用过C++,就是在发布Linux-1.0以前。结果看来,这不是非常的有用,我想我们不会再次尝试了,有好几个理由。一个理由是C++更加复杂,编译器总是做一些让程序员意料不到的事。当然,你可以避开virtual class等等这些特征,但是C++允许许多C所不允许的,这会使得之后的调试、修改变得很困难。另一个理由和上面的这个理由也很有关,就是编译器的速度和可靠程度。因为C++更加复杂,有更多的可能会出现虫子,并且总是会更慢。可以认为这只是编译器的问题,但是C++的复杂性客观来说对于内核的开发是有害的。

 
你对Java现象怎么看?你曾经考虑过在内核当中集成Java虚拟机吗?比如kaffe?

我老是觉得大家对Java有些过分狂热了,现在还是这样。我真诚的“希望”Java能够成功但是我很实际,我不会随便的加入Java一伙。Linux早就支持Java大程序的无缝运行了,我认为Linux内核只是作为一个包裹器,而不是直接的Java虚拟机,这是一个优点。
   

阅读全文
0 0

相关文章推荐

img
取 消
img