最后一名真正的黑客,让微软高管睡不着的人
共 3979字,需浏览 8分钟
·
2021-12-02 12:23
在外人看来,他绝对是一个狂热的偏执狂。
他拒绝使用手机,因为手机的硬件和软件不自由。
他只使用龙芯电脑,因为这是世界上唯一的,从BIOS、硬件驱动到操作系统,100%都是自由软件的电脑。
当他的粉丝请他在一本书上签名时,他说:我不签,因为这不是自由图书。
他的衣着服饰,头发胡子,都在彰显自己的与众不同。
他说:软件的自由,关系到人类的自由。
他就是理查德·斯托曼(Richard Stallman),一生追求自由软件的人。
MIT 545号楼9层是AI实验室,这里的人头发不洗,胡子不刮,对外界事情不管不问,沉迷于计算机世界。
这群人可以一连36个小时坐在终端前,探索计算机的极限,等到实在太累了,就找个舒服的地方倒头便睡。
他们编写了实验室的几乎所有软件,并且以鼓捣各种新玩意儿为乐。
他们自称黑客, 只要发现某个系统或者软件不爽,他们就“黑”一下。
70年代并没有专有软件的概念,软件源码可以被任意复制、修改,这给他们提供了施展才华的温床。
正在读物理博士的理查德·斯托曼也成为了其中的一员,并沉迷于其中。
他发明了新的“开锁术”,解救被教授们囚禁的电脑终端。
他看到施乐打印机经常卡纸,就找到源码,修改了控制程序,在打印机卡纸的时候给用户发送一条通知消息。
作为一个很少社交的宅男,和很多和自己类似的人混在一起,理查德·斯托曼心满意足, 他甚至把这里当做自己的家:
“我总会因为各种原因,有那么几个月的时间没地方住。这期间,我就住在人工智能实验室里。我一直觉得那里很舒服,冬暖夏凉。”
进入80年代,国防部门用于计算机科研的经费减少,大学和实验室开始转向私人投资,成立商业公司。
MIT AI实验室的黑客们公司一个一个被雇走, 开发私有的商业软件。
黑客社区变得支离破碎。
外边的世界也发生了巨变,大家意识到:可以通过开发、销售软件来赚钱啊!
这其中野心最大的肯定是Bill Gates,他梦想着以后每一个桌面上都有一台电脑,每个电脑中都运行着从他这里购买的软件。
最初,Bill Gates 给牵牛星计算机开发了一个Basic语言解释器,然后四处巡回演示,销售赚钱,但是他发现,很多计算机爱好者根本就不买他的软件,全靠互相拷贝。
Bill Gates 怒不可遏,他立刻写了一封公开信,谴责这种小偷行为:
"你们当中的许多人都盗窃别人的软件。硬件是一定要付钱的,而软件却成了要共享的东西。有谁会在乎编写软件的人是不是得到了应有的报酬呢?"
这时候大多数商业公司开始停止分发源码,开始版权限制。
当理查德·斯托曼再一次想修改新版打印机的软件,添加功能的时候,他被告知:不能获得源代码了。
他有些迷茫:是像Bill Gates那样加入专有软件的世界,不再互帮互助; 还是继续自己的黑客道路?
前者可能让自己发财,后者将会非常孤独,因为需要一个人去对抗全世界。
人工智能实验室的很多同事们妥协了,他们签署了保密协议,“皈依”了专有软件。
理查德·斯托曼说:“结束职业生涯之时,当我回顾那些建造围墙、隔离大众的岁月之时,我会感到我的一生是在让这个世界变得更糟糕!”
所以他选择后者,选择自由,成了最后一名黑客。
自由是要付出巨大代价的。
理查德·斯托曼必须像上帝创世纪那样, 从头构建起整个计算机世界,才获得纯粹的自由。
他必须写一个自由的操作系统,在操作系统之上,还得有命令行、图形界面、办公软件、游戏、邮件服务等。
这是一个让人望而生畏的庞大工程,如同珠穆朗玛峰,高耸入云。
为了保持自由世世代代传承下去,理查德·斯托曼认为:
“所有的软件,不但可以自由分发,自由修改,更关键的是,修改以后,还必须是自由的,不能封闭变成专有软件。”
这就是GPL的核心思想。
正是因为GPL的演绎产品也必须是GPL的,批评者认为GPL是传染性的“病毒”,商业软件公司尤其担心,怕被“传染”,微软的CEO鲍尔默,公然把采用GPL的Linux称为毒瘤,直到纳德拉上台后才有改观。
理查德·斯托曼发挥了黑客抖机灵、甩包袱的强悍能力,把它称为Copyleft,和Copyright 针锋相对。
他把要写的操作系统命名为GNU,这又是典型的黑客风格:GNU is Not Unix。
在开始开发之前,他从MIT辞职, 因此MIT永远无法对他的作品提出版权主张, 但是大度的人工智能实验室依然让他呆在那里,使用那里的计算机。
“我提出[支付租金],但他们说不值得费力去收。”
为了在开发GNU的同时养活自己,他每年工作两个月,做计算机顾问,时薪260美元。
1984年初, 万里长征正式开始, 一开始他就碰上了一个大问题:没有自由的编辑器。
那就自己写一个吧,这就是大名鼎鼎的GNU Emacs。
有了编辑器,但是没有编译器,荷兰阿姆斯特丹的VUCK编译器也不想变为自由身, 那就从头儿再写一个吧,这就是GCC。
80年代后期,斯托曼每周都工作 70~80 小时,编写 GNU 工程中最基础的那些自由软件。
辛苦的工作,让他双手剧痛,无法容忍,他不得不雇佣一名打字员来完成编码,后来斯托曼开始换用一种按键更为轻松的键盘,这才免去了请打字员录入的麻烦。
GNU软件受到了大家的广泛喜爱,以至于理查德·斯托曼不得不提供了一项邮寄服务:任何人只要付150美元,他就可以把GNU Emacs磁带邮寄给他。
越来越多的人受到自由软件精神的感召,加入到理查德·斯托曼软件行列,在GNU工程中开发包括GNU C library, bash等著名软件。
到了90年代初期,GNU的项目列表基本完成,只差一个重要的东西:操作系统内核。
GNU项目计划的内核叫做Hurd,但是这是个难产的内核,直到2001年才能稳定工作,距离被人们正常使用还有很长的路要走。
值得庆幸的是,不用再等Hurd了,因为Linux横空出世。
Linus Torvalds 在赫尔辛基理工大学听过斯托曼关于GNU的讲座,受到他的影响,在 1992 年使 Linux 成了自由软件,GNU系统终于完整了!
GNU项目发展到了巅峰,但是,这也是分歧的开始。
为什么斯托曼不先做操作系统内核, 而是跑去折腾那些操作系统上的工具呢?
这是因为斯托曼认为:一切都是自由的,想开发OS内核,没有自由的编辑器和编译器怎么行?
而大家很喜欢这些工具,迅速移植到了各种Unix版本和其他操作系统上,GNU开发者的精力都被放在维护组件的移植和新功能上,而无暇顾及缺失的操作系统内核。
Linux黑客则和GNU黑客之间不同,他们是实用主义者,从专有软件时代成长起来,完全不回避使用专有软件。
比如Linus就公开承认是微软PPT的粉丝,斯托曼觉得这简直是大逆不道!
Linux从开发方式上和GNU工程也大为不同,雷蒙德的《大教堂与集市》做了非常精彩的总结 :
“GNU 程序就是“教堂”,它们都是有计划地修建而成的宏伟的黑客精神的纪念碑,经得起时间的考验。
Linux则更像是一个“嘈杂的大集市”,它是在 Internet 去中心化的松散组织结构中开发出来的。”
Linux的开发方式更加先进,这才是未来。
相比火热发展的Linux,GNU Hurd 的举步维艰被做了无情的批判,给斯托曼留下了一道深深的伤口。
大家的注意力全被Linux所吸引,而忽略了GNU项目的贡献。
斯托曼说:“请不要把整个操作系统叫做Linux, Linux只是内核,操作系统还有很多软件,GCC, GDB, Emacs..... 他们都不是Linus开发的,而是GNU的志愿者开发的, 请尊重我们的工作,称呼操作系统为GNU/Linux。”
但是有多少人会这样称呼呢?
1998年,雷蒙德等人认为“Free”这个词在很多场合造成误解,他们提出了一个对商业市场更友好的词:“开源” (Open Source) 。
新的开源协议出现,允许软件修改以后封闭源代码,供商业使用。
这给斯托曼的伤口再撒上了一把盐。
开源软件开始获得商业公司的支持,就连曾经自由软件运动的宿敌——微软公司,也投身到开源软件的开发中,甚至公开了自家公司产品的代码。
开源社区蓬勃发展,高质量的开源软件层出不穷,数量之多远超GNU工程。
如果是普通人,可能就顺势下坡,从自由软件教主变成开源软件教主,继续接受全世界的膜拜。
斯托曼毫不妥协,他坚持认为“不自由是罪恶的,所有软件都应当自由”, 他批判某些人把GNU的精髓抛在一边,去迎合商业用户,这些人把盈利凌驾于自由之上。
但是,他的声音被声势浩大的开源浪潮淹没了,他成了一个边缘人物。
其实,开源软件运动的成功,就是斯托曼的成功。
没有几个人真正在乎“自由软件”和“开源软件”的真正区别,他大可以放下执念,摘取开源运动成功的果实。
但他没有, 他拒绝和开源软件有任何瓜葛,他依然高举自由软件的大旗,四处宣传,奋力前行。
斯托曼今年已经68岁了,一直视金钱和名利为粪土,一生都去践行自由软件的理念。
他做的事情不被理解,甚至被人认为“傻”,但他也绝不动摇。
这就是知行合一的典范,这就是真正的传奇。