开源的历史(翻译版)zz

发信人: cathayan (.org), 信区: ITExpress
标  题: 开源的历史(译完了)
发信站: 水木社区 (Tue Jul  5 10:32:22 2005), 站内

【 以下文字转载自 GNU 讨论区 】
发信人: electo (coffee), 信区: GNU
标  题: 开源的历史(译完了)
发信站: 水木社区 (Mon Jul  4 22:00:37 2005), 站内

和另一个同学一起译完了一章。
虽然说是一家之言,不过也可以对开源的历史有个比较完整的了解。
可以避免版面上原来的由于不了解而导致的不必要的讨论。
不足的地方请大家指正。
-------------------------

历史
Unix的历史 1969 – 1995
早期的发展
Unix的祖父是小而简单的兼容分时系统(Compatible Time-Sharing System, CTSS),这是第一代分时系统。Unix的父亲是早期的Muti
cs项目,一个创建有完备功能的分时系统以使大型机支持多用户的尝试。这个项目因为它的庞大而归于失败。

Unix在1969年诞生于Bell实验室。它的作者Ken Thompson曾从事于Multics项目。当贝尔实验室从这一项目退出的时候,Ken Thompson依旧保留着如何构建文件系统的一些灵感。同时,他也失去了可以用来玩一个他自己写的叫做太空冒险的游戏的机器。这些促使了他与他的第一个合作者Dennis Ritchie(C语言的发明者之一)开始往实验室中的一台PDP-7小型计算机上移植这一游戏,同时实践他关于操作系统的各种设想。

Ritchie后来说到:"我们要保留的不仅是一个好的编程的环境,更重要的是一个系统,一个可以围绕之交流思想,萌发友情,产生团体的系统。编程不是仅仅将程序敲入系统,更重要的是促进紧密的交流。"

这一"协作"(fellowship)的主旨一直贯穿于Unix今后的发展历史。

早期的协作发展以及私有概念的尚未出现使得没有人去关心创新的专有权——这一模式的价值直到25年后才被重新认识。


早期的Unix操作系统由汇编语言写成,运行于它之上的实用软件则是汇编与B语言的杂烩。但B语言没有足够的能力去完成系统编程,于是1971年,Ritchie在B语言上发展出了C语言。1973,Thompson和Ritchie用C语言重写了Unix。

1974年,Thompson和Ritchie在Communications of the ACM发表了一篇文章,这篇文章使得Unix进入了公众的领域,此后各个研究实验室、大学纷纷要求在他们自己的机器上尝试Unix。Bell实验室在1958年的一件反托拉斯法案上被禁止从事于计算机商业行为。这使得Thompson可以自由的将Unix分发给询要者。
这些都发生在个人计算机出现之前。到1979年,Unix在研究领域已经广泛的传播。 Unix的商业开发也随之出现。第一个Unix公司(SCO)在1978年开始运作,第一个商业C语言编译器也与同一年开始出售。但是微软的出现使得Unix作为一个商品的时间相当的短暂。



TCP/IP的出现
在1969年,Unix诞生的同一年,美国国防部的ARPANET计划(当今Internet的直接祖先)于同一年起步。

从1974年开始,加州大学的Berkeley分校一直是Unix研究的亮点。Thompson在1975-76年任教于Berkeley分校,更是极大的促进了Unix在这一大学的发展。各种设想和代码源源不断的从Berkeley反馈回Bell实验室。

1980年,美国国防部需要一个小组开发TCP/IP协议,Berkeley接受了这一任务,并于1983年发布了TCP/IP 4.2版。(这使得这一大学一直处于互联网研究的前列)在TCP/IP之前,只有极少的互联网应用,没有FTP等等复杂功能,Internet文化与Unix文化独立的发展。Dennis Ritchie的关于计算机是"紧密交流"的工具看法只留在以中心计算机(这时个人PC尚未出现)为核心形成的团体上。早期的ARPANET用户团体(主要是大学生)开始于70年代中期形成,在他们大多人的眼中,Unix不过是在"缓慢发展的硬件上跛行的权宜之计"。

TCP/IP出现之后,事情全然改变。两种文化开始在边缘上融合起来,这一融合最终拯救了这两种文化。




Unix内战
两个无关的事件导致了Unix与Internet文化的灾难:微软的崛起,AT&T的产权回收。

1981年,IBM的推出个人PC,微软从这里开始了它的历史。那个时候,没多少人预料到微软将会有多少成功。IBM PC并没有运行Unix的必要硬件,Unix团体中很少有人关注于PC。 对他们来说,另一些事情更为有趣,比如1982 Sun Microsystems公司的成立。创始人Bill Joy, Andreas Bechtolsheim,和 Vinod Khosla 开始构建带了联网功能的Unix 机器——他们将Stanford大学的硬件设计和Berkeley的Unix组合在一起,创造了相当成功的服务器市场。这个时候,没有人关心与Unix源代码的一个分支慢慢的消失,Sun公司越来越像一个传统的公司——Berkeley对其受取的软件费为每个40000美金,Bell实验室对此睁一只眼闭一只眼,Sun公司开始将这个版本Unix私有化。看上去,Sun公司对Unix商业化好像是当时最好的事情——能极大地促进Unix的发展。

这个时候,有不少于6种的类Unix系统在PC机上运行,不过它们都不能重要到能够成功的商业化——这是需要Unix移植到PC机上的一个信号。不过这时的Unix社团却认为以微处理器为基础的个人PC不值一提;同时,没有一个个人能做这样的事情,40000美元的授权费不是个人所能承担。

1983年,AT&T在第二次反托拉斯法案中失败,并将Bell实验室分解出来。这一次分解使得AT&T从1958年的法案中解脱出来,并迫不及待的进行了Unix的商业化——这一举动差点杀死了Unix。



        So true.But their marketing did spread Unix internationally.
                                                                               
                                                                     --Ken Thompson

多数的Unix支持者认为这次分解是一个天大的好消息。他们认为分解后的AT&T、Sun微系统公司、以及Sun的小型模仿者们将会形成一个健壮的Unix工业,使用廉价的68000工作站,将会挑战并最终破开笼罩在计算机工业上的IBM垄断阴影。

他们没有预料到的是,Unix的产业化将会破坏对Unix的生命力起至关重要作用的代码自由交换。AT&T极为清楚,没有别的方法能比开发商业产品更容易攫取利润,因此它竭力压制源代码的发行。当知道可能惹上官司后,人们对私卖Unix磁带的兴趣大减。来自大学的贡献日渐干枯。

更糟糕的是,Unix市场的各大新玩家们立即犯下了重大的策略性失误。有些人想通过产品间的区别来争取优势,但这却最终导致了不同的Unix系统间接口的分歧。这无形中是放弃了跨系统得兼容性,也是Unix市场变得支离破碎。

另一个微妙的错误是对个人电脑和微软视如不见。Sun公司没有预见到家庭电脑市场将不可避免的崛起并取代它的工作站市场。AT&T专注于小型机和大型机,尝试了多种手段成为计算机业的主要统治者,但都以失败告终。一批支持Unix和PC的小公司相继出现,但它们都资金不足而且只专注于向开发者和工程师销售,从来没有关注过微软的目标--商业和家庭市场。

实际上,在AT&T的解体后的几年内,Unix社区正全神贯注于Unix战争的第一阶段--一场System V Unix与BSD Unix之间的内部纷争。这场纷争有好几个层次,有的是技术上的,有的是文化上的。分歧大概相当于长头发和短头发间的差别;程序员和技术人员倾向于站在Berkeley和BSD的一边,而商人则更认同AT&T和System V。长头发们重申十年前Unix的宗旨,自视为反抗公司帝国的英雄。

1985年,英特尔发行第一块386芯片,能够用一个平铺的地址空间对多达4G的内存寻址。8086和286笨拙的分段寻址方式立即被放弃。这是一个天大的消息,因为这意味着主流的英特尔微处理器有能力运行Unix。但Sun和其他的工作站制造商没有看到这个机遇。

1985年也是Richard Stallman发表GNU宣言并建立自由软件基金会的一年。几乎没有人看得上他和他的GNU计划,但以后的事实将证明这是一个错误。同年,X系统得创始人发布了X系统得源代码,并不收任何版税,没有任何限制,无须注册码。

为了调解System V和Berkeley之间矛盾的标准化行动在1983年以/usr/group标准而开始。这在1985年以后发展为最先由IEEE提出的POSIX标准。以后所有的Unix标准都将与POSIX标准合作,并与其保持一致。

但Unix工业的问题变得越来越严重。1988年,AT&T收购了Sun公司的20%股份。这两家Unix的领导者终于意识到PC、IBM、微软的威胁以及过去的五年的大放血使他们变得弱小了。AT&T和Sun的联合以及POSIX标准的制定愈合了System V和BSD之间的裂口。但第二阶段的Unix战争随着IBM、DEC、HP等公司形成开放软件基金会(the Open Software Fundation)并且联合对抗AT&T/Sun轴心而开始。更多的Unix争斗陆续上演。

与此同时,微软正从处于内战中的Unix派别从未注意过的家庭和小商业市场上数以百万计地聚集财富。1990年微软发布了Windows 3.0--第一个成功的图形界面操作系统--牢固的确立了微软的统治地位,同时也为他们在90年代横扫桌面计算机市场创造了条件。

从1989到1993年间是Unix历史上最黑暗的时期。那时,似乎Unix社区的所有梦想都化为乌有:内战使私有的Unix工业蹒跚不前,再也没有信心与能力挑战微软的霸权。优雅的摩托罗拉微处理器被丑陋但便宜的英特尔处理器清出了市场。GNU项目并没有实现1985年所承诺的"自由的"Unix内核(free Unix kernel),这使它的信誉日渐下降。PC技术被无情地公司化。Unix阵营中的先锋黑客(hacker)们已经年近中年,并且慢下来了。硬件变得越来越便宜,但Unix却还是太昂贵。IBM的垄断被微软的垄断所代替,而微软的垃圾软件就像下水道的污水一样涌出来并包围我们。



冲击公司帝国:1991--1995
黑暗中的第一缕光线来自于William Jolitz将BSD移植到386芯片上的努力。受Richard Stallman的影响,Berkeley黑客Keith Bostic从1988年就已经开始了将私有代码从BSD源代码中清除的工作,这一工作使上述的移植变得可能。但在1991年底,这一项目受到了致命的打击,Jolitz放弃了这项工作。关于这件事有许多不同的解释,但一个公认的原因是Jolitz想将它作为完全不受任何人影响的代码发行,但当他知道项目的公司负责人想将这一项目以私有模式发行时,他感到很失望,因此他放弃了这一工作。

1991年八月,一个当时还是一个无名小卒的芬兰大学生--Linus Torvalds,宣布了Linux项目。Torvalds说他设计这一项目的原因是大学里使用的Sun公司的Unix系统太昂贵了。Torvalds还说过如果当时他知道有上述的BSD项目的话,他会加入而不会建立他自己的。但是386BSD的发布最后比Linux还有迟几个月。

这两个项目的重要性只有在回顾的时候才被注意到。在那个时候,它们没有在因特网黑客中间吸引到多少注意力,他们当时正在专注于更可及的机器而不是PC,并忙于将Unix私有化和商业化。

这些移植行动为把整个Unix系统从私有的控制下解脱出来建立了良好的典范,但它对BSD系统的作用却是可怕的。1992到1994年间,Berkeley的计算机科学研究组被解散;之后,BSD内部的党派斗争使他分裂成好几个相互竞争的开发项目。正因如此,BSD在这关键的几年间落后于Linux并且丧失了其在Unix社区中的领先地位。

Linux和BSD项目植根于Internet,这与以往所有的Unix项目很大的不同。他们依赖于分散的开发方式,并通过电子邮件和Usenet新闻组从网上召集程序员。相应的,随着网络服务供应商业务的增长,他们得到了极大的发展。1991年,World Wide Web的发明满足了他们对廉价网络的需求。

Internet的普及在扩大Unix开发者的范围同时也降低了分散开发的成本。它的作用反映在像Xfree86这些系统得开发过程中,完全采用以Internet为中心的开发模式,Xfree86的组织效率比官方的X系统更高。1992年的第一个Xfree86系统为Linux和BSD提供了它们所缺少的一个图形化的界面。

到1993年底,Linux已经拥有了Internet功能和X系统。整套GNU工具已经被安装在Linux上,为它提供了高质量的开发工具。除了GNU工具外,Linux还聚集了过去二十年来分散与各种Unix平台下的各种开源软件。这时的Linux已经是一个可以产品化的操作系统了。

一些思想比较开放的老一辈Unix程序员开始意识到他们期待已久的免费Unix系统正从一个他们没有预料到的方向悄然出现。它不是来自AT&T和Sun等传统售卖者,也不是来自学校里的组织性努力。它在Internet热潮中异军突起,以一种令人惊奇的方式扬弃并重组了Unix系统中原有的元素。




黑客文化的历史
Unix的文化传统并不是技术的简单堆砌,而是一个蕴含有更多底蕴的复杂的文化。它传承着自己的价值观,也有自己的传奇和英雄人物。另有一种Unix文化极有渊源并且相互交织的文化,它可能比Unix文化更复杂而难以用三言两语来概括,这就是黑客文化。(注:这里的黑客指的是具有很强的编程能力并以这种能力为乐趣的人,并非现在一般所指的攻击别人电脑的黑客)特别是在1998年以后,这两种文化融会在一起,发起了所谓的开放源代码运动(the open source movement)。



在学术界的小树林里萌芽
黑客文化的根源可以追溯到1961年,那一年MIT买了第一台PDP-1小型计算机。它吸引了一批来自Tech Model Railroad Club的学生在它上面做各种各样有趣的实验。他们最有名的成就之一是一个叫做SPACEWAR的游戏。这些学生后来成为了MIT人工智能实验室的核心成员,在上世纪六七十年代引领了当时世界上最顶尖的计算机科学潮流。

1969年以后,MIT的人工智能实验室通过ARPANET与斯坦福、CMU等大学的人工智能实验室连接起来。研究人员和学生们首次享受到快速的网络连接带来的乐趣,网络打破了地域的限制,促进了人与人之间的合作与友谊。这些学生们非常年轻、异常聪明、几乎全部是男性,他们热爱编程到了上瘾的地步。几年之后,他们被称为"极客"(geek)。他们拥有一种共同的观念--计算机是人与人之间沟通的工具。

但他们并不是Unix程序员,虽然两者均来自于学术界里的同一类型的人。两者之间有一些重要的不同点:首先,早期的Unix程序员之间并没有通过这种网络的方式进行互联;第二,也是更重要的是,对于Unix程序员而言,共同开发只是一种策略,而对于ARPANET黑客来说,这远不只是一种策略,而是一种共同的信仰,发展成为一种关于思想的社区的理想。




融合与自由软件运动(free software movement)
1983年以后,随着BSD拥有了TCP/IP接口,Unix和ARPARNET两种文化开始相互融合在一起。ARPANET黑客们开始使用C语言来编程,而Unix程序员也开始学TCP/IP并互称为黑客。1983年,DEC公司的Jupiter计划终止了PDP-10及其后续产品的开发,这加速了融合的进程。

但是,TCP/IP并不是1980年以后的黑客们从他们的ARPANET祖先那里继承来的唯一的东西。它同样影响了Richard Stallman,使他对私有软件发动了一场道德上的征讨。

由于廉价的PDP-10不再存在,MIT人工智能实验室只好购买别的机器并使用私有的操作系统。这彻底瓦解了实验室的开源文化,实验室里的许多最优秀的程序员被私有软件公司聘请,这让Richard Stallman感到极其失望,因为他认为将软件私有化是一种违反社会道德的卑劣行为。于是他决定开展一个计划,开发出一个完整地自由操作系统以及上面的所有软件,从而为世界上所有人摆脱私有软件的控制。此时他陷入了强烈的思想斗争之中,因为为了走他的自由软件之路,他必须放弃他现在在实验室的工作,这样才能防止他的工作成果被实验室用于私有化。最终他为他的理想放弃了他的工作,发起了至今为止世界上其中一个最伟大的软件工程项目--GNU工程。GNU是以一种递归的方式定义的:GNU's Not Unix。

1985年,Richard Stallman发表了GNU宣言。在该宣言中,他有意识地在80年代前的黑客价值观的基础上提出了一种意识形态,以一个新颖的、道德的、富有政治色彩的主张,一个自完备而极具个性的演说以及一份激进的改革计划作为结尾。Richard Stallman想将80年代后分散的黑客社区团结为一个强大的社会机器以达成他的改革目标。他的行动于马克思号召全世界劳动人民团结起来有相似之处。

Richard Stallman的宣言引起了一场至今仍在进行的关于黑客文化的争议。他的计划的影响已经超过了建立一个代码库的程度,而是意味着要废除软件的知识产权。为了追求他的目标,Richard Stallman提出并大力推广"自由软件"一词,这是对整个黑客文化的产品冠以一个名称的第一次尝试。他攥写了General Public Liscense(GPL),这成为了各种争论的焦点。

"自由软件"这个词一方面是一种描述,另一方面是尝试为黑客定义一种文化的标示。在一定程度上,它是相当成功的。在Stallman之前,黑客之间相互是为同伴并使用相同的工具,但从来没有人讨论过黑客是什么或者应该是什么。在他之后,黑客文化变得更加自觉(self-conscious);价值观的争论成为了争论的通常内容。Richard Stallman,一个极具魅力而又极端主义的人,作为一个文化英雄,到2000年已经成为了一个传奇人物。

尽管Richard Stallman的理论甚至影响到跟他持不同意见的黑客,但是他15年的努力却没能使80年代后的黑客们团结到他的意识形态周围。

虽然他领导的自由软件基金会(Free Software Fundation,FSF)已经生产出了几乎所有的软件工具,但这无助于改善Richard Stallman的处境,因为在GNU开始十年后,他认为创造出一个自己的操作系统内核。尽管Emacs和GCC等工具被证明非常有用,但缺少一个内核的GNU既没有给私有Unix的霸权带来太大的威胁,也没有能成为微软的有力竞争对手。

1995年以后,关于Richard Stallman意识形态的争论出现了转变。他的反对者们开始团结在Linus Torvalds(Linux的作者)和Eric S. Raymond(Opensource 概念的提出者)的周围。




Linux的出现以及实用主义者的反应
1990年初,廉价而功能强大的PC与Internet相结合,吸引着新一代的程序员寻找新的挑战来作为自己的试金石。同时,FSF的开发工具使免于私有开发工具的昂贵费用。一些新手加入Richard Stallman的征讨并以GPL作为他们的旗帜;有的则总体上更认同Unix的传统而加入反GPL的阵营,但他们多数都不想分散精神来讨论"主义的"问题,只是专心编写代码。

Linus Torvalds将GNU工具加到他的内核周围并通过GPL具有感染力的部分属性来保护它,但拒绝接受Richard Stallman的意识形态限制。Torvalds声称他总体上觉得自由软件比较好,但有的时候也会使用私有软件。这使得他吸引到了对Richard Stallman的道德标准早就感到不安的大部分黑客的注意,他们正是缺少一个有说服力的代言人。

Torvalds的乐观性格以及老练而又低调的风格对黑客文化在1993年到1997年间的惊人胜利起了促进的作用,不但单纯是技术上的成功,还有一整个围绕着Linux而开展的分发、服务及支持产业发展。这些成果使Torvalds的声望如日中天。Torvalds成为了Internet时代的英雄;到1995年,他用了四年的时间实现了Richard Stallman追求了15年而未实现的目标。

Torvalds没有提供的一样东西是一种新的意识形态--一种新的黑客的行为准则以及一个新的说法来代替Richard Stallman对知识产权的傲慢态度。1997年,Eric S. Raymond在思考为什么Linux的开发没有陷入以前那种混乱中时,无意中填补了这一空缺。其中一个中心的定律是:"在足够多的眼球之下,所有bug都会无所遁形。"

这一观察结果意味着一个半个世纪以来没有一个黑客敢相信的结论:开源的方法可以生产出比私有软件更优雅的、更可靠的、更好的软件。这一结论,非常出乎意料地,正好构成了对"free software"这一说法的正面挑战。对多数黑客和非黑客而言,"使用自由软件,因为它工作的更好"显然胜过"使用自由软件,因为所有软件都必须是自由的"。

在1998年,这一新的想法推动网景公司(Netscape)发布了它的Mozilla浏览器的源代码。对这一事件的关注将Linux带到华尔街,带动了1999-2001年的科技股热潮。这是黑客文化和Unix文化历史上的一次重大转折。

你可能感兴趣的:(开源的历史(翻译版)zz)