(理查德·斯托曼,自由软件运动创始人。图片来源于网络)
前情回顾:
比特币史话·94 | 隐私(1): 抽刀断水
比特币史话·95 | 隐私(2): 比特硬币
比特币史话·96 | 隐私(3): 熔币重铸
比特币史话·97 | 隐私(4): 混币
比特币史话·98 | 隐私(5): 道阻且长
正文:
要论对个人隐私的重视程度,当今世界上恐怕没有人能够超越美国自由软件运动创始人、GNU项目发起人理查德·斯托曼(Richard Stallman, 1953-)了。他拒绝使用手机,视之为“移动监视和追踪设备”。他拒绝使用钥匙卡,因为门禁刷卡系统会跟踪持卡人每一次刷卡的位置和时间。他不用个人电脑浏览网站,因为网站会收集个人隐私信息,他使用代理程序把网站下载下来然后用电子邮件发给自己查阅。他公开称赞维基揭秘创始人朱利安·阿桑奇(Julian Assange)以及棱镜门吹哨人爱德华·斯诺登(Edward Snowden),反对政府和大企业对个人隐私的监视和侵犯。[1]
在这个互联网无处不在的信息时代,理查德·斯托曼的这些行为可以称得上是一个怪人了。但是,毫不夸张的讲,没有他发起和推动的自由软件运动(free software movement)、GNU项目、copyleft(反版权)、开源(开放源代码,open source),也许就不会有整个互联网产业。今天世界上最大的互联网巨头企业,服务器系统用Linux,网站服务器用Apache或者Nginx,编程语言用Java或者Python或者C++,编译器用GCC,数据库用MySQL或者PostgreSQL,手机操作系统安卓底层是Linux编程用Java,等等一切,都是自由、开源和免费使用的。正是这些源代码完全开放、并且自由免费使用的基础组件,支撑起了互联网产业数万亿美元的市值。这一切都不能不说是人类自愿、自动、自发协作的奇迹。
理查德·斯托曼的全名首字母缩写是RMS,这个三字母缩写是他的知名代号。1983年9月,斯托曼启动了GNU项目,目的就是要创建出一个和Unix系统类似的自由操作系统。为了显示出与封闭的Unix道不同不相为谋,GNU这个名字取得是“GNU’s Not Unix”的递归首字母缩写[2]。同步的,斯托曼发起了自由软件运动,并于1985年成立了自由软件基金会FSF (Free Software Foundation)来支持该运动。[3]
在GNU项目中,斯托曼开发了Linux开发最常用的C/C++编译器之一、GNU编译器套件GCC (GNU Compiler Collection),传奇式的文本编辑器Emacs,并编写了最流行的开源协议之一、通用公共许可GPL (General Public License),在法律层面上有力保障了开源的精神不会被利欲熏心的商业公司所侵蚀。
到1990年左右,一个操作系统所需的大部分程序,比如库、编译器、文本编辑器、命令行处理器(Shell)、视窗系统等等,都已经在GNU项目中开发完成。只剩下操作系统内核,被卡住迟迟无法交付。Linux之父、来自芬兰的莱纳斯·托瓦尔兹(Linus Torvalds)开始考虑自己动手,按照自己的思路写一个操作系统内核出来。
1991年,莱纳斯·托瓦尔兹发布了第一个版本的Linux操作系统内核。后来GNU项目的开发者们把GNU开发好的系统软件和库代码贡献出来,与Linux内核结合在一起,就产生了GNU/Linux这个自由、开源、免费的操作系统。[4]
虽然开放源代码的“开源”诞生于自由软件运动之中,但是斯托曼对“自由”软件和“开源”软件进行了分开的阐述,他说,“自由软件是一种社会运动,而开源则是一种开发模式”[1]。PGP作者齐默曼(Phil Zimmermann)向我们展示了开源的力量,通过把PGP算法的源代码打印到书上传播和出口,就可以受到美国宪法第一修正案的保护,避免被裁定为非法出口军火,拿到书的人就可以把代码输入计算机,使用GCC编译器编译还原出PGP算法。[参见“密码朋克(1)”]
开源让全世界的优秀程序员自愿、自动、自发协作起来开发一个伟大的项目。开源就像透明厨房,让每一个人只要愿意都可以把软硬件中的每一处设计细节都仔细审视清楚。正如中本聪在2009年12月10日在论坛中回复有关比特币的帖子时说的那样,“开源意味着任何人都可以独立审查代码。如果(比特币)是闭源的,那么没有人可以验证它的安全性。我觉得对于本质如此的程序,开源是必须的。”[5]
【未完待续】(公众号:刘教链)