俄语中的自由:第七章绝对道德的困境


俄语中的自由:第七章绝对道德的困境

俄语中的自由:第一章:致命的打印机


俄语中的“自由”:第 2 章。2001 年:黑客奥德赛


俄语中的“自由”:第三章:年轻黑客的肖像


俄语中的自由:第四章揭穿上帝


俄语中的“自由”:第五章:自由的细流


俄语中的“自由”:第 6 章 Emacs Commune

绝对道德的困境

27 年 1983 月 XNUMX 日晚上十二点半,Usenet 组 net.unix-wizards 中出现了一条不寻常的消息,签名为 rms@mit-oz。 该消息的标题简短而极具诱惑力:“UNIX 的新实现。” 但读者发现的不是一些现成的新版本的 Unix,而是一个调用:

今年感恩节,我开始编写一个新的、完全兼容 Unix 的操作系统,称为 GNU(GNU's Not Unix)。 我将无偿分发给大家。 我真的需要你的时间、金钱、代码、设备——任何帮助。

对于经验丰富的 Unix 开发人员来说,这个信息是理想主义和自我意识的混合体。 作者不仅从头开始重新创建了一个非常先进和强大的整个操作系统,而且还对其进行了改进。 GNU 系统应该包含所有必要的组件,例如文本编辑器、命令 shell、编译器以及“许多其他东西”。 他们还承诺了现有 Unix 系统中不具备的极具吸引力的功能:Lisp 编程语言的图形界面、容错文件系统、基于 MIT 网络架构的网络协议。

“GNU 将能够运行 Unix 程序,但不会与 Unix 系统完全相同,”作者写道,“我们将进行所有必要的改进,这些改进是经过多年在各种操作系统上的工作而成熟的。”

由于预计他的信息会引起怀疑,作者在标题下补充了一段简短的自传式题外话:“我是谁?”:

我是 Richard Stallman,原始 EMACS 编辑器的创建者,您可能遇到过该编辑器的克隆版本之一。 我在麻省理工学院人工智能实验室工作。 我在开发编译器、编辑器、调试器、命令解释器、ITS 和 Lisp Machine 操作系统方面拥有丰富的经验。 在 ITS 中实现了独立于终端的屏幕支持,以及用于 Lisp 机器的容错文件系统和两个窗口系统。

碰巧的是,斯托曼复杂的项目并没有像承诺的那样在感恩节那天开始。 直到 1984 年 10 月,Richard 才一头扎进了 Unix 风格的软件开发中。 从 ITS 系统架构师的角度来看,这就像从建造摩尔式宫殿到建造郊区购物中心。 然而,Unix系统的发展也带来了优势。 尽管 ITS 功能强大,但它也有一个弱点 - 它只能在 DEC 的 PDP-80 计算机上运行。 10世纪16年代初,实验室废弃了PDP-11,被黑客比喻为繁忙城市的ITS变成了一座鬼城。 另一方面,Unix 最初设计时着眼于从一种计算机体系结构到另一种计算机体系结构的可移植性,因此此类麻烦并没有威胁到它。 Unix 由 AT&T 的初级研究人员开发,在企业的关注下悄然消失,并在非盈利的智囊团世界中找到了一个安静的家。 由于资源比麻省理工学院的黑客兄弟少,Unix 开发人员调整了他们的系统,使其能够在不同硬件的动物园上运行。 主要是在 32 位 PDP-11 上,实验室黑客认为它不适合执行严肃的任务,但也在 780 位大型机上,如 VAX 1983/10。 到 XNUMX 年,Sun Microsystems 等公司已经创建了相对紧凑的台式计算机(“工作站”),其功能与旧的 PDP-XNUMX 大型机相当。 无处不在的 Unix 也落户于这些工作站上。

Unix 可移植性是由应用程序和硬件之间的附加抽象层提供的。 Unix 开发人员没有像实验室黑客在 PDP-10 上为 ITS 开发程序时那样用特定计算机的机器代码编写程序,而是使用高级 C 编程语言,该语言不依赖于特定的硬件平台。 同时,开发人员专注于标准化操作系统各部分之间交互的接口。 结果是系统中的任何部分都可以重新设计,而不会影响所有其他部分,也不会中断其运行。 为了将系统从一种硬件架构转移到另一种硬件架构,也只需重新制作系统的一部分,而不是完全重写它。 专家们赞赏这种出色的灵活性和便利性,因此 Unix 迅速传播到整个计算机世界。

由于 ITS(AI 实验室黑客最喜欢的创意)的消亡,斯托曼决定创建 GNU 系统。 ITS的去世对他们来说是一个打击,包括理查德。 如果说施乐激光打印机的故事让他认识到专有许可证的不公正,那么 ITS 的消亡则促使他从对封闭软件的厌恶转变为积极反对它。

ITS 消亡的原因与其代码一样,由来已久。 到 1980 年,实验室的大多数黑客已经开始研究 Lisp 机器及其操作系统。

Lisp 是一种优雅的编程语言,非常适合处理结构事先未知的数据。 它是由人工智能研究的先驱、“人工智能”一词的创造者约翰·麦卡锡(John McCarthy)创建的,他于50世纪3年代后半叶在麻省理工学院工作。 该语言的名称是“LIStProcessing”或“列表处理”的缩写。 麦卡锡离开麻省理工学院前往斯坦福大学后,该实验室的黑客对 Lisp 进行了一些修改,创造了它的当地方言 MACLISP,其中前 XNUMX 个字母代表 MAC 项目,事实上,麻省理工学院的人工智能实验室也由此出现。 在系统架构师 Richard Greenblatt 的领导下,实验室的黑客开发了一台 Lisp 机器——一种用 Lisp 执行程序的特殊计算机,以及该计算机的操作系统——当然也是用 Lisp 编写的。

到 80 世纪 1982 年代初,相互竞争的黑客团体成立了两家生产和销售 Lisp 机器的公司。 格林布拉特的公司名为 Lisp Machines Incorporated,简称为 LMI。 他希望在没有外部投资的情况下,创建一家纯粹的“黑客公司”。 但大多数黑客加入了Symbolics,这是一家典型的商业初创公司。 XNUMX年,他们彻底离开了麻省理工学院。

剩下的人一只手手指头都能数过来,所以程序和机器的修复时间越来越长,或者根本就没有修复。 斯托曼表示,最糟糕的是,“人口变化”始于实验室。 以前占少数的黑客几乎消失了,实验室完全由教师和学生支配,他们对 PDP-10 的态度是公开的敌对。

1982 年,AI 实验室收到了使用了 12 年的 PDP-10 的替代品 - DECSYSTEM 20。为 PDP-10 编写的应用程序在新计算机上运行没有问题,因为 DECSYSTEM 20 本质上是更新的 PDP -10,但旧的操作系统根本不适合 - ITS 必须移植到新计算机上,这意味着几乎完全重写。 而此时几乎所有能做到这一点的黑客都离开了实验室。 于是商业Twenex操作系统很快就接管了新计算机。 留在麻省理工学院的少数黑客只能接受这一点。

“如果没有黑客来创建和维护操作系统,我们就注定失败。”教职员工和学生们说,“我们需要一个由某些公司支持的商业系统,以便它能够解决这个系统本身的问题。” 斯托曼回忆说,这个论点后来被证明是一个残酷的错误,但在当时听起来很有说服力。

起初,黑客将 Twenex 视为他们想要打破的独裁公司政治的另一个化身。 甚至这个名字也反映出了黑客的敌意——事实上,该系统被称为 TOPS-20,表明与 TOPS-10 的延续性,TOPS-10 也是 PDP-20 的商业 DEC 系统。 但从架构上来说,TOPS-10 与 TOPS-10 没有任何共同之处。 它是基于 Bolt、Beranek 和 Newman 为 PDP-20 开发的 Tenex 系统制造的。 。 Stallman 开始将该系统称为“Twenex”,只是为了避免将其称为 TOPS-XNUMX。 “该系统距离高端解决方案还很远,所以我不敢用它的正式名称来称呼它,”斯托曼回忆道,“所以我在‘Tenex’中插入了字母‘w’,使其成为‘Twenex’。” (这个名字取自“二十”一词,即“二十”)

运行 Twenex/TOPS-20 的计算机被讽刺地称为“Oz”。 事实上,DECSYSTEM 20 需要一台小型 PDP-11 机器来操作终端。 一位黑客第一次看到 PDP-11 连接到这台计算机时,将其比作绿野仙踪的自命不凡的表演。 “我是伟大而可怕的奥兹国! ——他背诵道。 “别看我正在研究的小鱼苗。”

但新电脑的操作系统并没有什么有趣的地方。 Twenex 中内置了基本级别的安全性和访问控制,其应用程序实用程序在设计时也考虑到了安全性。 关于实验室安全系统的居高临下的笑话已经演变成一场严重的计算机控制之战。 管理员认为,如果没有安全系统,Twenex 将不稳定并且容易出错。 黑客保证,通过编辑系统源代码,可以更快地实现稳定性和可靠性。 但实验室里人已经很少了,没人听他们说话。

黑客认为,他们可以通过给予所有用户“引导权限”来绕过安全限制,即提升的权限使他们能够执行普通用户禁止执行的许多操作。 但在这种情况下,任何用户都可以从任何其他用户那里夺走“操纵权限”,并且由于缺乏访问权限,他无法将这些权限归还给自己。 因此,黑客决定通过剥夺除了自己之外的所有人的“操纵权限”来获得对系统的控制权。

在系统启动时猜测密码并运行调试器没有任何作用。 失败于“政变”,斯托曼向所有实验室员工发出了一条信息。

“到目前为止,贵族们已经被击败了,”他写道,“但现在他们已经占据了上风,夺取权力的企图已经失败了。” 理查德在信息上签了字:“Radio Free OZ”,这样就不会有人猜到是他了。 考虑到实验室里的每个人都知道斯托曼对安全系统的态度以及他对密码的嘲笑,这是一次出色的伪装。 然而,理查德对密码的厌恶远远超出了麻省理工学院的范围。 几乎整个阿帕网(当时互联网的原型)都在斯托曼的帐户下访问实验室的计算机。 这样的“游客”就是来自加州的程序员唐·霍普金斯(Don Hopkins),他通过黑客的口耳相传得知,只需输入斯托曼姓名首字母的3个字母作为登录名和密码,就可以进入麻省理工学院著名的ITS系统。

“我永远感激麻省理工学院给了我和许多其他人使用计算机的自由,”霍普金斯说,“这对我们所有人来说意义重大。”

这种“游客”政策在ITS系统还活着的时候持续了很多年,而麻省理工学院的管理层也以居高临下的眼光看待它。 。 但当奥兹的机器成为从实验室到阿帕网的主要桥梁时,一切都改变了。 斯托曼仍然使用已知的登录名和密码提供对其帐户的访问权限,但管理员要求他更改密码并且不要将其提供给其他任何人。 理查德以他的道德为由,根本拒绝在奥兹的机器上工作。

“当密码开始出现在人工智能实验室的计算机上时,我决定遵循我的信念,即不应该有密码,”斯托曼后来说,“而且由于我相信计算机不需要安全系统,所以我不应该支持这些措施来实施他们。”

斯托曼拒绝在伟大而可怕的奥兹国机器面前下跪,这表明黑客和实验室上级之间的紧张关系正在加剧。 但这种紧张只是黑客社区内部激烈冲突的一个苍白的阴影,黑客社区分为两个阵营:LMI(Lisp Machines Incorporated)和符号学。

Symbolics从外部获得了大量投资,这吸引了实验室的许多黑客。 他们在麻省理工学院内外都致力于 Lisp 机器系统的研究。 到 1980 年底,该公司聘请了 14 名实验室员工作为顾问,开发自己版本的 Lisp 机器。 其余的黑客(不包括斯托曼)都为 LMI 工作。 理查德决定不选边站队,并且出于习惯,他独自一人。

起初,Symbolics 雇佣的黑客继续在 MIT 工作,改进 Lisp 机器系统。 与 LMI 黑客一样,他们的代码也使用了 MIT 许可证。 它要求将更改返回给 MIT,但不要求 MIT 分发更改。 然而,在 1981 年期间,黑客遵守了君子协议,将他们的所有改进写入 MIT 的 Lisp 机器,并分发给这些机器的所有用户。 这种状况仍然保持了黑客群体的一些稳定性。

但 16 年 1982 月 XNUMX 日——斯托曼清楚地记得这一天,因为那天是他的生日——君子协定结束了。 这是在 Symbolics 管理层的要求下发生的;因此他们想扼杀他们的竞争对手 LMI 公司,因为该公司的黑客数量要少得多。 Symbolics 的领导者是这样推理的:如果 LMI 的员工少了很多倍,那么事实证明 Lisp 机器上的整体工作对它是有利的,如果停止这种发展交流,那么 LMI 将被毁灭。 为此,他们决定滥用许可证书。 他们没有对 LMI 可以使用的 MIT 版本的系统进行更改,而是开始向 MIT 提供系统的符号版本,他们可以根据需要进行编辑。 事实证明,麻省理工学院对 Lisp 机器代码的任何测试和编辑都只支持符号学。

作为负责维护实验室 Lisp 机器的人(最初几个月在格林布拉特的帮助下),斯托曼非常愤怒。 符号黑客提供的代码包含数百处导致错误的更改。 考虑到这是最后通牒,斯托曼切断了实验室与 Symbolics 的通信,发誓再也不会在该公司的机器上工作,并宣布他将加入 MIT Lisp 机器的工作以支持 LMI。 “在我眼中,实验室是一个中立国家,就像二战中的比利时一样,”斯托曼说,“如果德国入侵比利时,比利时就会向德国宣战并加入英国和法国。”

当 Symbolics 的高管注意到他们的最新创新仍然出现在 MIT 版本的 Lisp 机器上时,他们很生气,并开始指责实验室的黑客窃取代码。 但斯托曼根本没有违反版权法。 他研究了 Symbolics 提供的代码,并对未来的修复和改进做出了逻辑猜测,并开始为 MIT 的 Lisp 机器从头开始实现。 Symbolics 的高管并不相信这一点。 他们在斯托曼的终端上安装了间谍软件,记录了理查德所做的一切。 因此他们希望收集代码盗窃的证据并向麻省理工学院管理部门展示,但即使到了 1983 年初,也几乎没有什么可展示的。 他们所拥有的只是两个系统的代码看起来有点相似的十几个地方。

当实验室管理员向 Stallman 展示 Symbolics 的证据时,他反驳说,代码相似,但不一样。 他把符号管理的逻辑转向了对他的攻击:如果这些相似的代码颗粒就是他们能在他身上挖掘出来的全部,那么这只能证明斯托曼实际上并没有窃取代码。 这足以让实验室的管理者认可斯托曼的工作,他一直持续到 1983 年底。 。

但斯托曼改变了他的做法。 为了尽可能保护自己和项目免受 Symbolics 的指控,他完全不再查看他们的源代码。 他开始完全根据文档编写代码。 Richard 并没有期望 Symbolics 能带来最大的创新,而是自己实现了它们,然后仅依赖于他们的文档添加了与 Symbolics 实现兼容的接口。 他还阅读了符号代码更改日志以了解他们正在修复哪些错误,并且他自己以其他方式修复了这些错误。

发生的事情坚定了斯托曼的决心。 在创建了新符号函数的类似物后,他说服实验室工作人员使用 MIT 版本的 Lisp 机器,这确保了良好的测试和错误检测水平。 并且MIT版本对LMI完全开放。 “我想不惜一切代价惩罚象征学,”斯托曼说。 这句话不仅表明理查德的性格远非和平主义者,而且还表明围绕 Lisp 机器的冲突对他触动很大。

当你考虑一下斯托曼的绝望决心时,你就可以理解他的“家园”,即黑客社区和人工智能实验室文化的“毁灭”。 利维后来通过电子邮件采访了斯托曼,理查德将自己比作雅希印第安人中最后一位已知的成员 Ishi,他们在 1860 年代和 1870 年代的印第安战争中被消灭。 这个类比给所描述的事件赋予了史诗般的、近乎神话般的范围。 为Symbolics工作的黑客对此的看法略有不同:他们的公司没有破坏或消灭,而只是做了早就应该做的事情。 将 Lisp 机器推向商业领域后,Symbolics 改变了程序设计的方法——不再按照黑客的顽固模式来切割程序,而是开始使用更温和、更人性化的管理者标准。 他们并不认为斯托曼是捍卫正义事业的敌对斗士,而是过时思想的持有者。

个人纷争也火上浇油。 甚至在符号学出现之前,许多黑客就避开了斯托曼,现在情况已经恶化了很多倍。 “我不再被邀请去唐人街旅行,”理查德回忆道,“格林布拉特开创了这个习俗:当你想吃午饭时,你绕过你的同事,邀请他们和你一起去,或者给他们发消息。 从 1980 年到 1981 年的某个时候,他们不再给我打电话了。 他们不仅没有邀请我,而且正如一个人后来向我承认的那样,他们向其他人施加压力,这样就没有人告诉我午餐计划中的火车。”

来源: linux.org.ru

添加评论