斯托曼的软件自由之路

去年10月25日,自由软件之父理查德·斯托曼(Richard Stallman)到访中国,此行目的是参加在中国召开的2009年哲思自由软件峰会。这位美国国家工程院院士长发披肩、长髯垂胸,一件大红T恤让他更加抢眼,毫无修饰的朴素外表,使他看起来像个邻家大叔。其实这位“大叔”是世界最早的黑客之一,哈佛高材生,美国自由软件运动的精神领袖,以及自由软件基金会的创立者。90年代以后,斯托曼大部分时间是一个政治运动倡导者,为自由软件辩护,对抗软件概念专利及版权法的扩张,他在世界各地奔走,传播自由精神。

  斯托曼抵达中国之际,正逢微软Windows 7新鲜出炉。这位56岁的科学家忍不住发表感慨:“微软Windows 7与其前一代操作系统Vista一样恶毒,微软没有改变它任何卑鄙的地方。可能微软在Windows7中修正了一些Vista的错误,但他们并没有解决Vista当初故意造成的核心问题。斯托曼认为,已经有人在Windows操作系统里发现了“间谍”功能,可以向外界发布关于用户行为的报告。Windows还有数字版权保护制度(DRM),而这个技术就是为了限制用户在自己的电脑上使用自己的文件。此外还有“后门”,微软可以强制性地修改他们的软件,甚至还可以发出指令让用户的电脑停止工作。

  斯托曼与微软,或者说与“专有软件”的“恩怨”,可不仅仅是微软新发布的新系统,一切都要从“软件自由之路”的起点说起。

  

  软件生来即自由

  

  最初的计算机类似中国的算盘,是一个纯粹的机械装置,只有硬件,没有软件。直到20N纪中叶,随着电子管、晶体管的发明,计算机的电子成分才超越了机械成分,逐步演化成了现在的电子计算机。在这个过程中,出现了软件,并起到越来越重要的作用,最终成为了计算机的灵魂。最初的软件世界里,当然没有“自由”与“专有”之分,公司在出售的硬件里附带了软件,包括源代码和文档。人们根据自己的需要,修改软件,自由地使用硬件,人与人之间互相分享、协作。因此,按照自由软件拥护者的说法,“软件天生就是自由的”,这一点的确是事实。

  但是,后来的情况发生了很大变化,1976年2月3日,比尔·盖茨发表了著名的《致电脑爱好者的一封公开信》,抱怨未经授权使用Altair BASIC的情况太普遍。不久,专有软件迅速发展成为软件界的主流。

  专有软件要求人们购买软件后才能使用,它不允许自由拷贝和分发,也不提供源代码,它只提供二进制文件。这一转变被当时称为“伟大的改变”,被认为是人类文明的一大进步。然而,理查德·斯托曼并不这么想。他认为,一个好的软件,应该自由自在地让人取用。软件不应该拿来做为相互倾轧、剥削的工具。

  这个充满理想主义、自由主义的犹太科学家,1953年生于美国纽约曼哈顿区。在度过了并不快乐的童年之后,他进入哈佛大学,期间成为自由软件社团成员,找到了自己的“乌托邦”。后来进入麻省理工大学人工智能实验室工作,更是大展自己的计算机天赋。对他来说,开发操作系统就像喝水一样,是件很自然的事情,那段日子成为他“最美好的时光”。随着专有软件的日渐流行和自由软件社团的日渐瓦解,理查德·斯托曼变成了孤单的“最后的真正黑客”,1984年,他放弃了在麻省理工大学的工作,发起了GNu计划,以GNU通用公共许可证来保障自由软件的自由。次年创立自由软件基金会(FSF),以势单力薄的自由软件运动领袖的身份对抗专有软件称霸的主流世界。

  

  开启软件自由之路

  

  众所周知,如果没有操作系统,我们几乎没法使用计算机,可是在1983年,所有的操作系统都是专有软件。于是理查德·斯托曼决定开发一个全新的、完整的、自由的操作系统——这就是后来赫赫有名的GNU计划,又称革奴计划。

  在那个时候,AT&T公司发明的UNIX已经非常流行,功能已经十分强大。为了让用户能够习惯新的、自由的操作系统,斯托曼将GNU设计成与UNIX兼容,因此UNIX用户很容易使用GNU操作系统,GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和XWindow视窗系统等,同时GNU计划也开发了大批其他的自由软件。

  理查德·斯托曼不仅是非常优秀的科学家,同时他深知如何通过法律途径让自由软件一直“自由。下去。他发明了GNU通用公共许可证(GNUGPL),GNU GPL是一个具有法律效力的自由软件许可证,在GNU GPL的保护下,已经涌现出成千上万的优秀的自由软件包。这些自由软件包赋予了用户使用计算机的自由。在自由路上行走

  90年代初,在理查德·斯托曼和自由软件基金会的带领下,科学工作者们几乎做完了所有的工作,但是GNU操作系统还缺乏_个非常关键的部件:内核。1991年,林纳斯·托瓦兹(Linu$TorvMds)写了一个操作系统内核:Linux。刚开始Linux并不是一个自由软件,但是在1992年,Linus将Linux的许可证改为GNU GPL,因此Linux就成了自由软件。Linux补充了GNU操作系统的空缺。于是,GNU和Linux结合在一起就变成了一个完整的、自由的操作系统:GNU/Linux。

  后来GNU/Linux越来越流行。人们发现它不仅可以免费、自由地使用,而且功能非常强大,非常稳定可靠,在很多方面都优于专有软件。

  芬兰学者海曼尼认为,Linux与Windows的首要区别在于Linux的开放性:“科学研究者允许同行检验和使用他们的发现,并且用于进一步的测试和发展。参加Linux工程的黑客允许所有其他人使用、测试和开发他们的程序。在科学界,这叫做科学伦理。在计算机编程界,这叫做开放源代码模式。”

  自由软件开发的全过程一般是由社区进行。由全球志愿者组成的社区开发机制是:集体开发、合作创新、对等评估;社区开发不直接考虑市场需求,其推出的“社区发行版”可在网上自由免费下载,社区不负责对已往的发行版进行持续回馈式的纠错改错、打补丁,也不负责向公众或用户提供支持或服务。因此,自由软件在实用性、与个体客户之间的对接上存在不少问题。所以对于普通大众来说,“自由软件”还是十分陌生的名词,我们依然习惯使用微软的操作系统,而只有专业的软件工作者才会花时间学习使用Linux系统,了解其强大的功能和创新的技术。可见,自由软件未来之路还将充满坎坷和不确定因素。

  但我们也看到,经历了23年的自由软件运动之后,自由软件已经取得了巨大的成就,如今的巨型互联网公司,像Google雅虎、新浪等,它们的服务基本都建立在自由软件的基础之上。自由软件运动在研究、教育、出版、互联网、IT工业、法律等领域显示出了与众不同的价值和生命力。

  

  责任编辑 林 京

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: