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

致命打印机

害怕Danites,带来的礼物。
– 维吉尔, 《埃涅阿斯纪》

新打印机又卡纸了。

一小时前,人工实验室的程序员理查德·斯托曼 (Richard Stallman)
MIT Intelligence(AI Labs),发送了一份50页的文件
用办公室打印机打印出来,然后投入工作。 现在理查德
我从正在做的事情中抬起头,走到打印机前,看到了最令人不愉快的景象:
托盘里只有 50 页,而不是期待已久的 4 页打印页
准备好床单。 这些显然引用了其他人的文件。
理查德的 50 页文件与某人打印了一半的文件混淆了
由于办公室网络错综复杂,打印机就遇到了这个问题。

等待机器完成其工作是很常见的事情。
对于一个程序员来说,Stallman 恰到好处地解决了这个问题
坚忍地。 但当你给机器一项任务并完成它时,这是一回事
你自己的事,当你必须站在旁边时,情况就完全不同了
机器并控制它。 这不是理查德第一次
站在打印机前,看着页面一张一张地打印出来
一。 像任何优秀的技术人员一样,斯托曼非常尊重
设备和程序的效率。 难怪这个
工作流程的又一次中断激起了理查德的强烈愿望
进入打印机内部并按正确顺序放置。

但可惜的是,斯托曼是一名程序员,而不是机械工程师。 这就是为什么
剩下的就是看着页面爬出来并思考
其他解决恼人问题的方法。

但AI实验室的员工却满脸喜悦地迎接这台打印机
充满热情! 它是由施乐提出的,这是它的突破
开发-快速复印机的修改。 打印机不仅做到了
副本,同时还将办公室网络文件中的虚拟数据转换为
外观精美的文档。 这个装置感觉很大胆
帕洛阿尔托著名施乐实验室的创新精神,他是
桌面打印革命的先兆,将彻底改变
到本世纪末整个行业。

实验室的程序员们焦急万分,立即打开了新的
打印机融入复杂的办公网络。 结果超越了最大胆的
期望。 页面以每秒1页的速度飞出,文件
打印速度开始提高 10 倍。 此外,这辆车非常
她的作品迂腐:圆圈看起来像圆圈,不是椭圆形,而是
直线不再类似于低幅度正弦曲线。

从任何意义上来说,施乐的礼物都是你无法拒绝的礼物。
垃圾。

然而,随着时间的推移,热情开始减弱。 一旦打印机成为
负载达到最大,问题就出现了。 最让我恼火的是
事实上,该设备太容易咀嚼纸张。 工程思维
程序员很快就找到了问题的根源。 事实是
传统上,复印机需要有人在附近。
包括在必要时纠正论文。 和
当施乐开始将复印机变成打印机时,工程师们
企业并没有注意到这一点,而是把重点放在了
解决打印机的其他更紧迫的问题。 工程讲
语言,新的施乐打印机有持续的人类参与
最初内置于该机制中。

通过将复印机变成打印机,施乐工程师推出了一件事
这一变化产生了深远的影响。 代替,
为了使该设备隶属于一个操作员,它被隶属于
办公网络的所有用户。 用户不再站在旁边
机器,控制它的运行,现在他正在通过一个错综复杂的办公网络
发送了一个打印作业,希望文档能像这样打印
按要求。 然后用户去打印机处取成品
整个文档,但发现有选择性地打印
床单。

斯托曼不太可能是 AI 实验室中唯一注意到这一点的人
问题,但他也思考了解决办法。 几年前
理查德有机会用他以前的打印机解决类似的问题。 为了
他在他的个人工作计算机 PDP-11 上编辑了此内容
一个在 PDP-10 主机上运行并控制打印机的程序。
斯托曼无法解决咀嚼纸张的问题;相反
他插入了一段代码,时不时地强制PDP-11
检查打印机状态。 如果机器咀嚼纸张,程序
我刚刚向正在工作的 PDP-11 发送了一条通知,例如“打印机正在咀嚼
纸,需要修理。” 解决方案被证明是有效的——通知
直接访问活跃使用打印机的用户,因此
他用纸做的滑稽动作经常被立即制止。

当然,这是一个临时解决方案 - 程序员称之为
“一根拐杖”,但事实证明拐杖相当优雅。 他没有纠正
打印机机制出现问题,但我已尽力而为
待办事项 - 在用户和机器之间建立信息反馈。
几行额外的代码拯救了实验室工作人员
AI 每周提供 10-15 分钟的工作时间,让他们免于
必须不断跑去检查打印机。 从角度来看
程序员,斯托曼的决定是基于集体智慧
实验室。

理查德回忆起那个故事说:“当你收到这样的信息时,你不会
不得不依靠别人来修理打印机。 你需要
起身去打印机很容易。 一两分钟后
打印机一开始咀嚼纸张,就有两三个人向他走来
雇员。 至少其中一个人确切地知道需要做什么。”

像这样的聪明的解决方案一直是人工智能实验室及其实验室的标志。
程序员。 总的来说,实验室最好的程序员有几个
鄙视“程序员”这个词,更喜欢它
俚语中“黑客”的意思。 这个定义更准确地反映了作品的本质,即
包括各种活动,从复杂的智力娱乐到
对程序和计算机进行艰苦的改进。 也感受到了
对美国人创造力的老式信念黑客
仅仅编写一个可以运行的程序是不够的。 黑客尝试
通过放置来向自己和其他黑客展示您的智力力量
承担更复杂和困难的任务 - 例如,
程序同时具有快速、紧凑、强大和
美丽的。

像施乐这样的公司有意将其产品捐赠给大型社区
黑客。 这是黑客会开始使用它的计算,
他们会爱上她,然后来公司工作。 在 60 年代和
在 70 年代初期,黑客经常编写如此高质量且有用的文章
制造商愿意将它们分发给他们的程序
客户。

所以,面对一台嚼纸的新施乐打印机,
斯托曼立即想到和他玩他的老把戏——“黑客”
设备控制程序。 然而,等待他的是一个不愉快的发现。
– 打印机没有附带任何软件,至少在这个中没有
以便 Stallman 或其他程序员可以阅读它并
编辑。 到目前为止,大多数公司都认为不错
以人类可读的语气提供带有源代码的文件,
它提供了有关程序命令和相应的完整信息
机器功能。 但施乐这次只提供了程序
编译后的二进制形式。 如果程序员尝试读取
这些文件,他只会看到无穷无尽的零和一,
机器可以理解,但人不能理解。

有一些称为“反汇编程序”的程序可以翻译
将 XNUMX 和 XNUMX 转换为低级机器指令,但弄清楚什么
这些说明确实是一个非常漫长且困难的过程,称为
“逆向工程”。 对打印机程序进行逆向工程很容易
可能比完全纠正咀嚼物要花更多的时间
未来5年的论文。 理查德还不够绝望
决定采取这样的步骤,因此他干脆把这个问题放在一边
长盒子。

施乐的敌对政策与正常做法形成鲜明对比
黑客社区。 例如,为了个人发展
用于控制旧打印机的计算机 PDP-11 程序和
终端,人工智能实验室需要一个交叉汇编器来组装
PDP-11 主机上的 PDP-10 程序。 实验室黑客可以
你自己写了一个交叉汇编程序,但是 Stallman 作为哈佛大学的学生,
我在大学计算机实验室发现了类似的程序。 她
是为同一台主机 PDP-10 编写的,但是是为另一台主机编写的
操作系统。 理查德不知道是谁写了这个程序,
因为源代码没有提到任何内容。 他刚带来
将源代码的副本发送给实验室,对其进行编辑并在
PDP-10。 没有不必要的麻烦和担忧,实验室收到了程序,
这是办公室基础设施运行所必需的。 斯托曼甚至
通过添加一些原本没有的功能使程序更加强大
是在原作中。 “我们已经使用这个程序很多年了,”
——他不无自豪地说。

在 70 年代程序员眼中,这种分发模式
程序代码与睦邻友好无异
一个人与另一个人分享一杯糖或借出一把钻头。 但如果你
当您借用钻头时,您就剥夺了所有者使用它的机会,然后
在复制程序的情况下,不会发生类似的情况。 两者都不
该程序的作者及其其他用户都不会因此而失去任何东西
复制。 但其他人从中受益,例如
实验室的黑客收到了具有新功能的程序,该程序
以前甚至不存在。 这些新功能可以同样多
您想复制并分发给其他人。 斯托曼
记得私人公司 Bolt、Beranek & 的一位程序员
纽曼也收到了程序并编辑运行
Twenex 是 PDP-10 的另一个操作系统。 他还
为程序添加了许多出色的功能,斯托曼复制了它们
到您实验室中的程序版本。 之后他们一起决定
开发一个已经不经意间成长为强大产品的程序,
运行在不同的操作系统上。

回顾 AI 实验室的软件基础设施,Stallman 说道:
“这些项目就像一座城市一样不断发展。 一些部分发生了变化
一点一点,一些——立即而彻底。 新的领域出现了。 你呢
总是可以查看代码并根据风格判断这部分
写于 60 年代初,而这篇写于 70 年代中期。”

由于这种简单的心理合作,黑客创造了许多
实验室内外强大且可靠的系统。 不是每个程序员
拥有这种文化的人会称自己为黑客,但大多数人
完全同意理查德·斯托曼的观点。 如果程序或
更正后的代码很好地解决了您的问题,他们也会解决它
这个问题对任何人来说。 那为什么不分享这个呢?
至少出于道德原因的决定?

这种自由合作的概念被贪婪的结合所破坏
和商业秘密,从而产生了保密和商业秘密的奇怪组合
合作。 BSD 的早期发展就是一个很好的例子。 很强大
由加州科学家和工程师开发的操作系统
伯克利大学基于 Unix,从 AT&T 购买。 价格
复制 BSD 相当于电影的成本,但有一个条件 -
如果学校拥有 AT&T 许可证,则只能获得带有 BSD 副本的电影,
花费了 50,000 美元。 事实证明,伯克利黑客正在分享
仅在公司允许的范围内进行计划
美国电话电报公司。 而他们并没有发现其中有什么奇怪的地方。

斯托曼也没有对施乐生气,尽管他很失望。 他从没
我没有考虑向公司索要源代码的副本。 “他们和
所以他们给了我们一台激光打印机,”他说,“我不能说
他们还欠我们一些东西。 此外,消息来源明显缺失
这是公司内部决定并要求更改,这并非巧合
这是没用的。”

最后,好消息来了:原来是源码的副本
一位大学研究人员开发了用于施乐打印机的程序
卡内基梅隆大学。

与卡内基梅隆大学的沟通并不是一个好兆头。 1979年
博士生布莱恩·里德(Brian Reed)拒绝分享他的研究成果,震惊了整个社区。
类似于 Scribe 的文本格式化程序。 她是第一个
使用语义命令的此类程序
比如“突出显示这个词”或“这一段是引文”
低级“用斜体写这个单词”或“增加缩进”
这一段。” 里德将 Scribe 出售给了一家总部位于匹兹堡的公司
尤尼逻辑。 据里德说,在他的博士研究结束时,他只是在寻找一个团队
开发商,可以将责任转移到他们的肩上
以便程序的源代码不会落入公众使用(直到现在
目前还不清楚为什么里德认为这是不可接受的)。 使药丸变甜
Reed 同意在代码中添加一组基于时间的函数,因此
被称为“定时炸弹”——他们把该程序的免费副本变成了
90 天试用期后将无法使用。 使
程序要再次运行,用户需要向公司付款并
收到一个“禁用”定时炸弹。

对于斯托曼来说,这是纯粹而公然的背叛。
程序员道德。 而不是遵循“分享和分享”的原则
放弃它”,里德采取了向程序员收取访问权限的方式
信息。 但他也没有多想,因为他不常这么做。
我用的是抄写员。

Unilogic 向 AI Lab 提供了 Scribe 的免费副本,但并未将其删除
定时炸弹,甚至没有提及。 暂时的方案是
它有效,但有一天它停止了。 系统黑客霍华德·坎农
花了很多时间调试程序二进制文件,直到最后
没有检测到定时炸弹,也没有删除。 这真的让他很生气
他毫不犹豫地将这个故事告诉其他黑客,并传达
我对 Unilogic 故意“错误”的所有想法和情感。

由于与实验室工作相关的原因,斯托曼去了
几个月后,卡内基梅隆大学校园。 他试图找一个男人
根据他听到的消息,谁拥有该程序的源代码
打印机。 幸运的是,这个人在他的办公室里。

谈话坦率而尖锐,具有典型的工程师风格。
自我介绍后,斯托曼索要一份程序源代码的副本
Xerox 激光打印机的控制。 让他大吃一惊的是
不幸的是,研究人员拒绝了。

“他说他向制造商保证不会给我一份副本,”他说
理查德.

记忆是个有趣的东西。 事件发生20年后,记忆
斯托曼充满了空白。 他不仅忘记了原因
来到卡内基梅隆大学,还想知道谁是他的对手
不愉快的谈话。 根据里德的说法,这个人最有可能是
罗伯特·斯普罗尔 (Robert Sproll),前施乐研发中心员工
帕洛阿尔托,后来成为该研究的主任
Sun Microsystems 部门。 70年代斯普罗尔是主持人
Xerox 激光打印机程序的开发人员。 1980年的某个时候
斯普罗尔接受了卡内基梅隆大学的研究员职位,在那里
继续致力于激光打印机的研究。

但当斯普拉尔被问到有关这次谈话的问题时,他只是欺骗了
手。 这是他通过电子邮件回复的内容:“我不能说
没有什么明确的,我对这件事完全不记得了。”

“斯托曼想要的代码是开创性的,
艺术的真正体现。 斯普罗尔一年前写的
来到卡内基梅隆大学或类似的地方,”里德说。 如果这
确实如此,有一个误区:需要斯托曼
麻省理工学院已经使用了很长时间的程序,而不是新程序
她的版本。 但在那段简短的谈话中,只字未提
任何版本。

在与观众互动时,斯托曼经常回忆起这一事件
卡内基梅隆大学强调,不愿意
人共享源代码只是协议的结果
他和他之间的合同中规定了保密规定
由施乐公司。 如今,企业要求
保密以换取最新进展,但同时
保密协议在当时还是新鲜事。 它反映了两者对施乐的重要性
激光打印机及其操作所需的信息。
“施乐试图使激光打印机成为一种商业产品,”
里德回忆道,“对他们来说,将源代码分发给所有人是疯狂的
合同”。

斯托曼对保密协议的看法完全不同。 对他来说这是一次拒绝
卡内基梅隆大学参与社会的创造性生活,与迄今为止的情况相反
鼓励将计划视为社区资源。 仿佛
一个农民会突然发现有数百年历史的灌溉渠吗?
干了,为了找到问题的原因,他找到了闪闪发光的东西
带有施乐标志的水力发电厂的新颖之处。

斯托曼花了一些时间才明白拒绝的真正原因——
程序员和程序员之间交互的新格式
公司。 起初,他只看到个人的拒绝。 “对我来说就是这样
我很生气,因为我什至找不到话可说。 我刚转身
“我默默地走了出去,”理查德回忆道,“也许我什至关上了门,但没有
我知道。 我只记得一种想要尽快离开那里的强烈愿望。 毕竟我是走路的
对他们来说,期待合作,甚至没有想过如果我会做什么
他们会拒绝。 当这件事发生时,我简直无语了——
这让我感到非常震惊和不安。”

即使20年后,他仍然能感受到那种愤怒的回响,
失望。 卡内基梅隆大学的事件是人生的转折点
理查德让他面对一个新的道德问题。 在
接下来的几个月,斯托曼和其他人工智能实验室黑客
会发生很多事情,相比之下那30秒的愤怒和
在卡内基梅隆大学的失望似乎没什么。 尽管如此,
斯托曼特别关注这一事件。 他是第一个并且
这一系列事件中最重要的一点是让理查德从
一个孤独的黑客,一个集中权力的直观反对者,
自由、平等和博爱的激进传播者
编程。

“这是我第一次遇到保密协议,我
我很快意识到人们成为此类协议的受害者,--自信地
斯托曼说:“我和我的同事都是这样的受害者。
实验室。”

理查德后来解释说:“如果他出于个人原因拒绝了我,那就是
很难称其为问题。 我可以算作回报
一个混蛋,仅此而已。 但他的拒绝是非个人的,他让我明白
他不仅不会与我合作,而且不会与任何人合作
曾是。 而这不仅造成了问题,而且还真正造成了
巨大的。”

虽然前几年也出现过让斯托曼生气的问题,
据他说,直到卡内基梅隆大学的事件发生后,他才意识到
他认为神圣的编程文化开始了
改变。 “我已经确信程序应该公开
对于每个人来说,但无法明确表达。 我对这件事的想法
太模糊和混乱,无法全部表达出来
致全世界。 事情发生后,我开始意识到问题已经存在,并且
现在就需要解决这个问题。”

成为最强学院之一的顶尖程序员
和平时期,李察并没有太关注别人的协议和交易
程序员——只要不干扰他的主要工作。 而在
施乐激光打印机没有到达实验室,斯托曼拥有一切
有机会鄙视他们所遭受的机器和程序
其他用户。 毕竟他可以按照自己的想法改变这些程序
必要的。

但新打印机的出现威胁到了这种自由。 仪器
效果很好,尽管他时不时地嚼纸,但没有
有机会改变他的行为以适应团队的需要。 从角度来看
软件行业,关闭打印机计划是
业务中的必要步骤。 计划已成为如此宝贵的资产,
公司再也无力发布源代码,
尤其是当这些项目体现了一些突破性技术时。 毕竟
那么竞争对手几乎可以免费复制这些
他们的产品的技术。 但从斯托曼的角度来看,打印机是
特洛伊木马。 经过十年失败的发行尝试
禁止免费分发的“专有”程序,以及
修改代码,这就是渗透黑客住所的程序
以最阴险的方式——以礼物为幌子。

施乐公司向一些程序员提供了访问代码的机会,以换取
保密同样令人烦恼,但斯托曼很痛苦
承认在年轻的时候,他很可能会同意
施乐报价。 卡内基梅隆大学的事件增强了他的道德
不仅指责他对他的怀疑和愤怒
未来类似的提案,但也提出了这样的问题:什么,
如果有一天一名黑客提出了类似的请求,现在对他来说,
理查德必须按照要求拒绝复制来源
雇主?

“当我被要求以同样的方式背叛我的同事时,
我记得当他们对我做同样的事时我感到愤怒和失望
斯托曼说,实验室的其他成员,所以
非常感谢,你的程序很棒,但我不能同意
根据其使用条款,所以我不用它了。”

在动荡的80年代,理查德将牢牢记住这一教训,那时
他实验室的很多同事都会去其他公司工作,
受保密协议的约束。 他们大概告诉自己
这是在从事最有趣和最有趣的工作的过程中不可避免的罪恶
诱人的项目。 然而,对于斯托曼来说,保密协议的存在本身
质疑该项目的道德价值。 什么可能是好的
在一个项目中,即使它在技术上令人兴奋,但如果它不能服务于大众
目标是什么?

斯托曼很快意识到,对此类提议的分歧
其价值明显高于个人职业兴趣。 这样的
他毫不妥协的立场使他与其他黑客区分开来,尽管
厌恶保密,但愿意尽道德努力
妥协。 Richard的观点很明确:拒绝分享源代码
这不仅是对研究角色的背叛
编程,也是道德的黄金法则,它规定你的
你对别人的态度应该和你想看到的一样
对自己的态度。

这就是激光打印机故事和事件的重要性
卡内基梅隆大学。 正如斯托曼所承认的,如果没有这一切,他的命运就会发生变化。
会走一条完全不同的道路,平衡物质财富
商业程序员和生活中最后的失望,
花在编写任何人都看不到的程序代码上。 没有
思考这个问题是没有意义的,其余的甚至
没看到问题。 最重要的是,不会有赋予生命的部分
愤怒,给了理查德前进的能量和信心。

“那天我就决定,我绝对不会同意参加
“这一点,”斯托曼说,他指的是保密协议和整个文化,
它促进以个人自由换取某些利益,
好处。

“我决定永远不会让别人成为我的受害者。
有一天我自己。”

来源: linux.org.ru

添加评论