理查德·斯托曼和他的“革奴”宣言

理查德·斯托曼,美国的自由软件运动精神领袖、GNU工程的发起者以及自由软件基金会(FSF)的创立者。1953年3月16日出生于1953年出生于美国纽约曼哈顿地区的犹太人家庭。1971年进入哈佛大学学习,同年受聘于麻省理工学院人工智能实验室,成为一名职业黑客。其主要作品包括Emacs及后来的GNU Emacs、GNU C编译器及GDB调试器。他开发的CPL是世上最广为采用的自由软件许可证。主要荣誉有:1990年度麦克阿瑟奖、1991年度美国计算机协会颁发的Grace Hopper Award、1998年度电子前线基金会先锋奖、1999年Yuri Rubinsky纪念奖、2001年武田研究奖。2002年成为美国国家工程院院士。

理查德·斯托曼和他的“革奴”宣言

 

2015年2月,关于国家自然科学一等奖项目“透明桌面系统”涉嫌“抄袭”引起的巨大争议,把一个对于业外人来说陌生的名词——GPL带到了公众面前。确实,“抄袭”一词用得并不准确,正如“透明桌面项目组”在2月3日的声明中所说:“透明桌面项目组在研发过程中遵循开源代码重用协议GPL,使用了bVNC和aSPICE的部分开源代码。这是一种合法的使用……”引发这段争议的源代码开发者、加拿大软件工程师约丹·约丹诺夫(Iordan Iordanov)在接受果壳网的采访中也表示,尽管“透明桌面”在学术领域的原创性另当别论,但是只要项目组愿意将他们的完整成果按照开源软件协议公开源代码,就不算是违反了软件业的原则。

事实上,与“外行看热闹”不同,业内质疑的核心不在于项目是否使用了其他工程师开发的开源代码,而是项目获奖者张尧学在此前公布的“透明计算”成果演示视频中,第四、第五部分注明“透明计算知识产权归中南大学、清华大学透明计算实验室所有”——显然,这不符合GPL协议精神。

“知识产权”一词,正是GPL之父——理查德·斯托曼(Richard M. Stallman)最为痛恨的字眼。他曾经对前来采访的记者抱怨不要使用这个词,因为“知识产权”是欺骗,它掩盖了其背后诸如版权、专利、法律等一系列阻挡了人们自由分享的手段。

而这些手段,却是“聪明而贪婪的商人”(斯托曼评语)比尔·盖茨成就的基础。

 

美好时光

 

在1976年盖茨发表著名的《致电脑业余爱好者的一封公开信》(“谁会从事专业的软件开发却分文无获?哪有业余爱好者会花费三年的精力去编写软件,去修正软件,编写使用手册,却免费发放给别人使用?”)、标志着在世界知识产权组织《伯尔尼公约》框架下软件步入版权时代的时候,比他大两岁、但同于1974年离开哈佛(盖茨退学)的斯托曼还在麻省理工学院(MIT)的人工智能实验室(AI Laboratory)里,继续与一帮黑客营造着“一个没有管制的世界”。他在哈佛读书期间,就受到这个专门为顶尖的人工智能研究而设立的实验室吸引,并得到在这里工作的机会。这里与哈佛计算机实验室的刻板、官僚流程完全不同的自由和协作氛围,深深吸引了他。“在那里总算能呼吸到新鲜空气了。人工智能实验室里,人们更关心手头的工作,而不是各自的地位状态”。作为一名“素不相识的外校学生”,一开始他并不知道,AI开放的氛围得益于当年参与了国防部资助的MAC项目的一批人,他们中间的多位如理查德·格林布拉特(Richard Greenblatt)、比尔·高斯伯(Bill Gosper)等,这些名垂世界计算机青史的黑客们,最蔑视的就是低劣的软件、学术官僚主义和自私自利的行为。在这里,黑客可以用各种办法——撬锁、爬通风管道,甚至用手推车撞开教授们紧锁的办公室门,去“解放”被囚禁的计算机终端,然后连续几十个小时坐在显示器前,协同作战。

这无疑是斯托曼一生中度过的最美妙的时光。在这里,他接受了黑客的世界观,在年少轻狂的“坚持个人自由”之上注入公共责任的概念。尽管从70年代开始,原本用作计算机课研究的国防经费开始捉襟见肘,为了寻求更多的资金,实验室和大学都转向私人领域;一些教授开始对文件的安全保护提出要求,系统管理员开始要求程序员需要使用用户名、密码登陆——而斯托曼至今都坚持认为任何一台计算机都不应该有用户名和密码,但他们仍然可以通过各种手段抗争并获胜,继续在“伊甸园”里畅游。那时AI实验室里还没有几个人读过盖茨那一纸充满怨气的宣言,更不会意识到早期互联网最重要的精神——自由与分享,正在瓦解。

 

宣言前奏

 

就在盖茨发表声明的那年,斯托曼被斯坦福人工智能实验室一个叫做E的编辑器所吸引。这是早期几个“所见即所得”的编辑器之一,可以根据用户的输入,适时更新显示器上的内容,让用户看到最新的修改结果。斯托曼决定把这个功能加到AI实验室的TECO编辑器上。他开发出“宏”,黑客们可以通过宏更快捷地使用各种组合,最后发展成为一个允许用户自己扩展的“所见即所得”编辑器,这在当时是个突破。在加入“宏”之后,各种创造接踵而来,大家互相分享、不断改进、再分享。这些宏越来越强大,并涵盖了很多常用操作,俨然成为一套单独的系统软件。

随着越来越多的人使用宏,把各种宏加到ECO编辑器上,两年后几乎每个人手上都有自己的一套宏,各种兼容问题形成了沟通障碍。斯托曼和另外一位黑客一起开发出了“宏编辑器”Emacs。本着分享精神,斯托曼在源代码里写上了使用条款,用户可以自由地修改和分发这个软件的代码,但需要把所有的改动都发回来。斯托曼称之为“加入Emacs公社”。Emacs具有极强的扩展性,这增进了用户之间的交流与合作。根据斯托曼的使用条款,如果用户不把自己的修改贡献出来,就用不到最新的版本,用不上最新的功能(如今,GNU Emacs的用户遍布世界各地,并集合大家之力扩展得异常强大,功能齐备,以至于后来的Emacs开发者甚至找不出词来概括它的功能)。毕业于MIT的博士、后协助斯托曼成立自由软件基金会的哈尔·埃布尔森(Hal Abelson)认为,“Emacs既可以让程序员不断添加新功能,又不会影响整个系统。斯托曼的经验为未来大规模合作开发的软件工程铺平了道路,它结构稳定,可以接受世界各地的人贡献代码,这种松散的大规模协作开发前无古人。”

但后有来者。事实证明,Emacs只是斯托曼更伟大的“GNU宣言”的前奏。

 

史诗工程

 

从20世纪70年代走到80年代,软件版权的商业行动已经变成新时期的“政治宣言”,里根政府所主导的刺激扩张政策,必然要求清除市场上前任们为了避免竞争而制定的种种限制。唯利是图的商业市场刺激着程序员写出更多的软件,同时也带来了更多使用许可证、禁止用户复制或修改的专有软件充斥市场。新的计算机用户们不再是当年的技术精英,他们并不关心软件的源代码,只关心“用户体验”。曾经让程序员引以为傲的黑客精神,一下子在商业化的冲击下显得怪诞而不合时宜,甚至被认为“有违美国精神”。AI实验室里的顶级黑客早就是各大公司垂涎的对象,被纷纷挖角,最后只剩下斯托曼一人坚守。面对“换了人间”的现实,斯托曼只有两个选择:要么和其他人一样,扔掉对自由软件的坚持,接受专有软件;要么创造一套独立于各种专有软件的自由的操作系统,帮助自己和有意愿的人可以逃脱专有软件的枷锁。

斯托曼选择了后者。

与盖茨通过宣言瓦解了斯托曼的自由世界一样,1983年9月27日斯托曼也发布了一则宣言——《重写UNIX系统》,称将开发GNU工程。与七年前盖茨顺势建立了商业帝国的宣告相比,斯托曼表达的仿佛是一个堂·吉诃德式的理想,在精神早已消解的黑客圈中也只能得到敷衍的认同。然而,他以犹太先贤希肋耳(Hillel)的话来表明决心:“我不为我,谁人为我?我只为我,我为何物?此时不为,更待何时?”

由于担心MIT要求产品的所有权,给产品强行加入销售条件,最终又成为专有软件,1984年1月斯托曼辞去了在MIT的工作,专职开发GNU,仅靠兼职咨询师来维持生计。买不起电脑,他就每天晚上溜回以前的AI实验室去工作。而实验室主任Patrick H. Winston始终不把斯托曼的辞职当真,从不限制他的活动,到后来斯托曼白天也可以在实验室干活了。为了避免法律纠纷,斯托曼拒绝了任何机构拥有GNU系统,一开始甚至把自己隔离在社区之外。

1984年9月,斯托曼着手开发GNU版本的Emacs编辑器、在撰写GNU Emacs版权许可证的时候,斯托曼完美地运用法律语言,“以彼之矛攻彼之盾”向他所挑战的世界保证了许可证的表述中,不存在任何可能被别人利用进而把其变成专有软件的漏洞的可能。“不自由”的现实无法阻挡他向人们诠释什么是黑客和黑客精神。

1985年,斯托曼发表了著名的《GNU宣言》,在这个宣言里,他直接回答了盖茨当年的那个反问——“难道程序员们的这些创造就不值得什么物质奖励吗”——“创造本身的确是一种有益于社会的活动,但前提是这个社会可以自由地使用那些创造出来的东西。”

1987年GNU C编译器(GCC)的诞生,一举奠定了斯托曼无可撼动的传奇程序员地位。GCC原本只能处理C语言,但很快扩展,变得可处理C++、Fortran、Pascal、Objective-C、Java、Ada,以及Go与其他语言。许多操作系统,包括许多类Unix系统,如Linux及BSD家族都采用GCC作为标准编译器。被“果粉”膜拜的苹果电脑Mac OS X 操作系统也采用这个编译器。程序员出身的企业家迈克尔·蒂曼(Michael Tiemann)的评价,也许代表了当时程序员们的心声:“就像所有的作家都梦想要写出一部伟大的小说一样,20世纪80年代,每个程序员都在梦想要写出一个伟大的编译器,斯托曼以迅雷不及掩耳之势完成了这项工作,这实在是很让其他程序员蒙羞。”

在开发GNU工程的下一个里程碑——源代码调试器时,斯托曼移除了许可证中的Emacs字眼,使它变为一个保护所有GNU软件版权的许可证。因为意识到自己在Emacs公社的权威地位,并担心未来的源代码维护人员可以用他们的权力迫使自己做出妥协,为了自由软件的精神不遭受破坏,斯托曼自我限制权力,更改了原有的Emacs公社协议要求,程序员修改Emacs并仅供自己个人使用时,只需公开衍生作品的代码即可,而无须再把代码发给斯托曼。这意味着用户从此可以不受任何限制地对软件进行创新,并保证了整个社区可以获得相同的软件版本。

1989年斯托曼发布了GPL(GNU通用公共许可证)1.0版本,在许可证序言里,他写道:

“通用公共许可证被设计成确保你拥有分发或出售自有软件的权力,确保你可以获取软件的源代码,确保你可以修改软件或在别的自由软件中使用这个软件,并确保你了解你拥有以上权利。

为了保证你的权力,我们禁止任何人剥夺你的以上权力或者要求你放弃这些权力。这些限制条件也作为你分发或者修改这个软件时所必须承担的责任。”

历史证明,GPL是斯托曼最伟大的创造之一,它在现有的版权法律的框架中创造了一种平等的社区系统。它从诞生开始就在自由软件社区中产生了“地心引力”,吸引越来越多的优秀软件程序开始使用。它普惠众生——程序员们一看到GPL这个词,就知道不用担心授权的问题。尽管这套完美的法律语言,对斯托曼来说不过是“只防君子不防小人”,因为他从未拿起过法律的大棒来“制裁”那些违反协议者,宁愿只让这类人遭受道德的诘难。

 

独一无二

 

与IT前辈相比,1953年生人的斯托曼没能赶上贲张的史前年代;与同行相比,这位AI实验室的“最后一个黑客”固执得不合情理,斯托曼得到在技艺上的尊崇,却难得到在信仰上的追随;与学弟盖茨这类商业奇才相比,斯托曼为今天的世界无私且精湛地予以奉献,却从不讨要世俗功名;甚至与后辈——因Linux而暴得大名的李纳斯·托瓦兹(Linus Benedict Torvalds)相比,虽然在GNU/Linux整个系统中,GNU项目贡献了30%的代码,67%的代码来源于其他方面,Linux内核只占整个系统的3%,不受厂商和开源绑架的斯托曼也是“被边缘”的那个……

但是,并非没有人认识到他及他所倡导的“自由”的价值。有人认为,斯托曼的作品未来会像托马斯·杰斐逊(Thomas Jefferson)那样伟大。斯坦福大学劳伦斯·莱斯格(Lawrence Lessig)教授则在2001年出版《思想的未来》一书中写道:

GPL堪称是现在“数字大众”的主要保障,通过把很多社区开发的软件、网络和电信标准聚集起来,在过去的30年中,带来了Internet的指数级增长。与其他Internet先驱相比,如万尼瓦尔·布什(Vannevar Bush)等让大众看到计算机技术发展的人相比,斯托曼的影响更为内省,并且独一无二。

斯托曼把这些争论从“是不是”变为了“应不应该”,他让人们看到危机,并且他创造了一种方式让这些理想得以延续……这更多地是让人们去认识Internet的某种特殊价值,我觉得这样的人前无古人,后无来者。(本文部分材料引自《若为自由故——自由软件之父理查德·斯托曼传》,人民邮电出版社,2015年4月第一版)(文/本刊记者 张鑫)

 

本文刊发于《环球财经》杂志,《环球财经》杂志社保留对此文章的全部权利.