离职后竟半夜偷溜回办公室写代码?一个为自由软件而战斗的程序员

冷暖自知 提交于 2020-11-06 15:09:15


作者 | 年素清

责编 | 王晓曼

出品 | 程序人生 (ID:coder _life)

理查德•马修•斯托曼(Richard MatthewStallman)是个非常厉害的程序员,他开发出了Emacs及后来的GNU Emacs、GNU C 编译器和GNU除错器。

同时,他也是自由软件运动的发起者,他提出“自由软件”的概念,并不遗余力大范围宣扬自由软件的思想,创立并完善了计算机开源社会的内在逻辑,使得后继者可以基于他的思想进行继承和改进,从而产生了现在蓬勃发展的开源软件世界。他被誉为当今自由软件的斗士、伟大的理想主义者。

 

开发出程序员最喜爱的代码编辑器


斯托曼于1953年出生在美国纽约曼哈顿地区,1971年进考入哈佛大学学习,后来受聘于麻省理工学院(MIT)人工智能实验室,成为一名职业黑客。

在麻省理工工作期间,斯托曼开发了许多对业界影响深远的软件,其中最著名的就是Emacs。说得通俗一点,Emacs就是一个编辑软件,类似于我们今天所使用的office办公软件。

然而,Emacs不仅仅是一个编辑器,还是个集成开发环境,它包括收发电子邮件,通过FTP/TRAMP编辑远程档案,通过Telnet登录主机,登陆IRC和朋友交流,查看日历等功能。它还支持对多种编程语言的编辑,调试程序,结合GDB,EDebug,玩游戏,计算器,记日记,煮咖啡,管理日程等等。

Emacs被公认为是最受专业程序员喜爱的代码编辑器之一。

“GNU IS NOT UNIX”


作为MIT一名杰出的黑客,斯托曼可谓是整个黑客文化的一份子。

上世纪八十年代后,软件商业化渐渐成为大势所趋,黑客社群也面临土崩瓦解的困境,斯托曼在MIT人工智能实验室的许多黑客同事甚至成立了Symbolic公司,试图以专利软件来取代实验室中黑客文化的产物--免费自由流通使用的软件。

气愤无奈之余,斯托曼也曾试着与Symbolic抗争过一段时间,但最后无果而终。1983年9月,斯托曼发表了著名的GNU宣言(GNU Manifesto),正式宣布要开始进行一项宏伟的计划:创造一套完全自由免费,兼容于Unix的操作系统。

“GNU”这个名字的确定就是遵循黑客传统,是一个递归的缩略词:“GNU IS NOT UNIX。”

离职后偷回办公室写代码


1984年1月,斯托曼开始启动GNU计划。他首先做了一个与Unix兼容的操作系统。它很容易被移植,而且Unix用户可以方便地转移过来。斯托曼将这个系统就命名为GNU。

斯托曼担心MIT会索要产品的所有权,会给产品强加入他们的销售条件,这样他开发出来的产品难免又会成为专有软件,所以他干脆辞职离开了MIT。

辞职后,斯托曼一度为买不起电脑而发愁,不久他发现自己原来在人工智能实验室的办公室还未分给其他人用,于是便每晚趁办公室没人时偷偷溜回去写代码。

期间,斯托曼听说有一个自由大学编译器套件(VUCK),便前去询问能否用入GNU,得到的答复是否定的。VUCK对于大学是自由的,但对软件本身不行。于是斯托曼决定为GNU编写的第一个软件就是一个多语言、多平台的编译器。他先是打算利用Pastel编译器的源代码,但尝试后很快就放弃了。最终,斯托曼从头编写了新的编译器GCC(the GNU Compiler Collection)。

1985年初,斯托曼在原来的Emacs基础上进行扩展,开发出文字处理器GNU Emacs,可以在Unix系统上进行文本编辑。而后,他把它放到了MIT计算机的匿名服务器上。

由于当时的互联网还未普及,人们很难通过FTP来拷贝这个新兴的软件,而且失业的斯托曼也需要收入来维持生计。于是,斯托曼宣布任何人都可以用150美元的价格获得全部程序的代码。这个费用是远低于当时的专有软件的价格的,并且用户可以得到软件的源代码。就这样,自由软件的分销商业模式诞生了,并被沿用至今。

 

“Copyleft”


由于GNU公开了源代码,为了防止一些唯利是图的厂商会利用自由软件,将其专有化。斯托曼想出Copyleft的授权办法,让所有的GNU程序遵循一种“Copyleft”原则,即可以拷贝,可以修改,可以出售,但是必须将源代码所有的改进和修改必须向每个用户公开,所有用户都可以获得改动后的源码。Copyleft保证了自由软件传播的可持续性。

GNU计划的成功激励了许许多多年轻的黑客,他们编写了大量的自由软件。1991年,“Linux之父”林纳斯•托瓦兹写了一个类似Unix操作系统的内核,即为Linux,把所有GNU软件和硬件连接了起来,但Linux并不能代表整个操作系统,Linux只是个内核,整个系统还包含数无数由GNU黑客们完成的软件工具和实用程序,大多是由GNU黑客们完成。整个操作系统称为GNU/Linux比较合适。Linux内核为GNU工程画上了一个完满的句号。

 

成立自由软件基金会


斯托曼说过:“我们的社会正越来越依赖计算机,我们使用的软件对保证未来社会的自由至关重要。自由软件使我们能够控制我们使用的技术,让技术造福个人和社会,而不是让技术被商业公司或政府控制,用来限制或监视我们。”

1985年10月,斯托曼成立自由软件基金会(FreeSoftware Foundation,FSF),致力于推广自由软件、促进计算机用户自由。

斯托曼认为在自由软件时代,软件公司不是靠 “Copyright”版权法,迫使客户们花费巨额资金来购买软件,而是凭借向客户提供技术支持和培训等服务来获取报酬。简言之,未来软件业的基本准则就是“资源免费,服务收费”。

Apache Web服务器和GNU/Linux操作系统的流行,使新一代的黑客们备受鼓舞,越来越多的人加盟自由软件。

与斯托曼持对立意见的人们将“自由软件”改成“开源软件”,看起来似乎两者兼容,毕竟自由(free)与免费(free)是同一个词,但斯托曼认为两者最大的区别就是自由软件将自由精神放在首位,而对商人来说,他们更愿意谈论实际问题,也就是能不能攫取利润的问题。

 

自费来华宣扬自由软件


从1994年起,斯托曼曾数次访问中国,这些访问既不是官方邀请,也不是商业活动,而是他的自由软件理念中国追随者的自发行为。他来到中国,多半是去大学演讲,向中国学子传布他的“自由软件”理念,但这些演讲是没有任何费用的,这意味着斯托曼需要自费。据多次邀请斯托曼来中国的哲思自由软件社区创始人徐继哲介绍,只有一次浙江大学负担了斯托曼来华的部分费用。

在演讲上,斯托曼毫不掩饰他对专有软件的不满,他说:“专有软件是对计算机软件行业的控制,并已经建立了一种压迫人民的体系。我们应该意识到,我们需要摆脱它们。”

 

商业成功不能使一个人变得伟大 


作为自由软件的精神领袖,斯托曼对当今许多IT寡头的创始人评价并不怎么友好,他形容比尔•盖茨是个“聪明而贪婪的商人”,对乔布斯的评价是“邪恶的天才”。虽然他们取得了巨大的成功,但斯托曼认为这样的“成功”只是指的是商业成功。

斯托曼说:“我不了解那些取得商业成功的人,因为我从来不关注他们。早在30年前我就发现,美国出版的许多名人传记都是关于他们如何取得商业成功。对我而言,商业成功并不是关注或羡慕一个人的理由,那并不能使他变得伟大。美国社会追逐这种无关紧要的东西,这一点让我十分失望。”

斯托曼认为一个伟大的人应该做伟大的事情,赚很多钱并不是伟大的事情,也不是值得追捧的成就,人生应该有更高的追求。

不修边幅却褒誉无数


斯托曼外表不修边幅,甚至可以用“邋遢”来形容,一头疏于打理的长卷发如同泡面,满脸的络腮胡须,衣着随意,他随身携带一台龙芯笔记本电脑四处布道“自由主义”精神。除了获得大量的自由软件追随者外,斯托曼还获得了来自世界各地的机构和大学授予给他的荣誉,其中包括:

1990年度麦克阿瑟奖;

1991年度美国计算机协会颁发的Grace Hopper Award;

1996年获颁瑞典皇家技术学院荣誉博士学位;

1998年度电子前线基金会先锋奖;

1999年Yuri Rubinsky纪念奖;

2001年武田研究奖励赏;

2002年当选美国国家工程院院士;

2003年获颁布鲁塞尔大学荣誉博士学位;

2004年在阿根廷获颁国立沙尔塔大学荣誉博士学位;

2007年获颁秘鲁印加大学荣誉教授;

2007年获颁帕维亚大学荣誉博士学位。

参考链接:

https://baike.baidu.com/item/%E7%90%86%E6%9F%A5%E5%BE%B7%C2%B7%E9%A9%AC%E4%BF%AE%C2%B7%E6%96%AF%E6%89%98%E6%9B%BC/2122303?fr=aladdin

https://www.sohu.com/a/113917208_477517

http://www.360doc.com/content/16/1006/21/6080914_596260502.shtml

#欢迎来留言#

留言点赞数量最多的前三名

程序人生携手【北京大学出版社】送出

《Python数据分析全流程实操指南》一本

截至11月6日14:00点

更多精彩推荐
☞程序员必备!CSDN 公众号新功能上线!现在体验有惊喜!
☞任正非:明年至少招聘 8000 名应届生,华为人才将分为三类
☞在吗?我要讲件大事了,你绝对不知道CSDN公众号还有这个功能!错过后悔!
☞隐私数据在隐私AI框架中的安全流动

☞荷兰政府用大数据预测天气预防自然灾害,他们是怎么做的?
☞以太坊开发者的常见误解
点分享点点赞点在看
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!