星期三, 三月 18, 2009

FSF的一小段历史

刚刚看完OS Revolution,其实完全是被开篇的一句I‘m your worst nightmare~~所吸引就看了下去,同时也是Linus和RMS等大牌的影响,将FSF发展简要介绍一下。

在20世纪70年代末以前,计算的硬件是收费的,而软件是可以免费共享的,那时候的人根本不知道软件的知识产权为何物。后来由于BG发表了BASIC后,他认为软件质量上不去是由于使用者没有对开发者付费,由于没有收入,所以就没有好的软件、书籍和文档,他是主张软件知识产权的先锋。

在提出了软件的知识产权后,公司纷纷将自己的源代码保护起来,很多人由于不能得到源码,所以一直用着蹩脚的软件。很多有能力修改软件的人也由于法律和源代码的保护只能忍受开发者的功能缺陷,即使你有对软件改进有益的想法,你也不能合法的获得源代码。

这时,RMS出现了!他1971年进入MIT的人工智能研究室工作,不久就融入了一个活跃的HACKER组织,和他们共同完成了一个操作系统。但是由于当时商业上的影响,他们被要求在这个系统中添加一个登录程序。当时他们完成这个系统的理念就是希望每一个坐在这台机器前的人都能自由的完成他自己的任务,而不受别人或者前一个使用者的控制。他们被要求添加的登录程序恰恰就是管理员用来控制用户的工具!这个登录程序加入后,RMS就HACK了那个系统,破解了密码的加密算法,然后给每个用户发信息,告知我已经得到的密码,并建议用户简单的使用Enter作为密码(就是不设置密码)。谁知这个建议竟然被20%的用户采纳了!

在1984年,RMS辞去了MIT的工作,着手创建GNU项目,当时UNIX是商业授权的操作系统,他不得不自己开始写一个类似UNIX的系统,但是不能使用UNIX的任何一行源码。后来越来越多的人通过网络加入,他们把一个个UNIX的小程序改写出来,到1991年就全部完成了。到了这时他们才发现,他们已经有了compiler,debugger等许多工具,唯一缺少的就是kernel了。其实他们早就发现了这一点,但是他们的设计理念限制了他们自己内核的开发。

由于长期使用UNIX系统,他们的哲学就是:一切皆文件,每个程序只完成简单的单一功能,运用小程序叠加出强大的功能。GNU的内核被设计成许多小程序,它们之间使用消息通讯,虽然是高层次的设计,但是由于复杂的消息时序,就造成了这个内核调试代价极大同时不够稳定。在这时Linus出现了,他来的太是时候了。

起初的Linus开发Linux是为了自己能方便的使用PC,开始他只自己单干,也不知道有RMS和FSF以及GNU项目。由于要编译源码,他必须找一个免费开源的编译器,而后他发现了GNU项目的一些成熟的成果,而RMS也发现了Linux这个kernel,他们一直寻找的东西。二者可以说是一拍即合,Linus本人非常认同GPL的理念,而RMS也为GNU项目找到了最后急需的一缕东风!

在Linux和GNU项目联姻后,并没有迅速的发展起来,原因是没有合适的应用。知道另一个被大家熟知的开源软件(或者说是基金会)出现,那就是Apache!你现在浏览的网页有66%的可能就是出自它之手,Linux与Apache的组合,可以说是大大降低了ISP的运营成本,同时Apache最先支持了虚拟主机,而同时期的IIS和NT并没有这种功能。这时,由于Linux的低成本、稳定和效率,Apache的定制性和扩展性,Linux一发不可收拾,成为了Web Server的绝对领军人物。也正是这种开放共享的精神,造就了一个不同寻常的OS Revolution!

没有评论: