赤裸裸的道德抉择

“随着社区的终结,我面临着一个道德上的抉择。最简单的就是投身于专有软件世界之中,签署不公开协议,并承诺不帮助同行、同事。而且自己也很可能编写软件,并在不公开协议的前提下发布软件,去同流合污,迫使更多的人背叛自己的原则。显然,走这条路,可以挣大钱,而且使编写代码的工作增添一份金钱上的快乐。但是我知道,等到自己职业生涯终结时,我再回首这些年为分离人类而砌造的‘墙壁’。我会感受到,我将自己的一生都用在使这个世界变得更加糟糕。”

另一个选择,很直截了当,但令人不愉快,那就是从此离开计算机领域。“这样我的技能不会被滥用,但也将被浪费,我不会因为分化和限制计算机用户而感到有罪,但这些事情会继续发生。”“因此,我开始寻找一条出路,使程序员可以做真正的好事。我问自己,我能写什么软件,我能否让社区重焕生机。”

答案很明白:首先需要的是一个操作系统,这是开始使用计算机的关键软件。有了操作系统,就能做许多事,没有操作系统,计算机都无法运行。有了自由操作系统,我们就能再次组建一个相互合作的黑客社区。而且任何人使用自由软件都不必剥夺他/她与朋友家人的共享权利。

作为一名操作系统的开发人员, Richard Stallman 无疑最胜任。“虽然我没有认为自己一定能成功,但我意识到自己就是命定做这项工作的。”Richard Stallman 选择做一个与 Unix 兼容的操作系统。这样容易被移植,而且 Unix 用户可以方便地转移过来。 GNU 这个名字确定就是遵循黑客传统,是一个递归的缩略词:“GNU IS NOT Unix。”

一个操作系统并不仅仅意味着一个内核,而且仅能运行其他程序也是不够的。一个完整的操作系统,要有指令处理器、汇编程序、编译器、解释程序、调试器、文本编辑器、邮件软件等等一个完整的系统。

自由软件“freesoftware”是一个被广泛误解的词,这个“free”完全与价格无关,它指“自由”。这就象“自由讲演(freeSpeech)”与“免费啤酒(freeBeer)”的区别。其主要内涵就是用户可以自由运行软件,可以按自己的要求自由修改软件,用户也可以自己销售软件,不管是收费的还是免费的。自由软件与出售软件拷贝并不冲突。

开发一个完整的系统是项庞大的工程。Richard Stallman 决定尽可能采用已有的自由软件,比如一开始他将 Tex 作为主要的文本格式标识符,几年后他又用 XWindows 系统作为 GUN 的图口系统。

思想比代码更闪光,但没有代码,思想是没有躯体的。