我是 Saron Yitbarek,你现在收听的是代码英雄,一款红帽公司原创的博客节目。[00:01:30] 你问,什么是<ruby>代码英雄<rt>Command Line Hero</rt></ruby>?嗯,如果你愿意创造而不仅仅是使用,如果你相信开发者拥有构建美好未来的能力,如果你希望拥有一个大家都有权利表达科技如何塑造生活的世界,那么你,我的朋友,就是一位代码英雄。在本系列节目中,我们将为你带来那些“白码起家”(LCTT 译注:原文是 “from the command line up”,应该是演绎自 “from the ground up”——白手起家)改变技术的程序员故事。[00:02:00] 那么我是谁,凭什么指导你踏上这段艰苦的旅程?Saron Yitbarek 是哪根葱?嗯,事实上我觉得我跟你差不多。我是一名面向初学者的开发人员,我做的任何事都依赖于开源软件,我的世界就是如此。通过在博客中讲故事,我可以跳出无聊的日常工作,鸟瞰全景,希望这对你也一样有用。
James Allworth:[00:06:00] 苹果是一家一体化的公司,它希望专注于令人愉悦的用户体验,这意味着它希望控制整个技术栈以及交付的一切内容:从硬件到操作系统,甚至运行在操作系统上的应用程序。当新的创新、重要的创新刚刚进入市场,而你需要横跨软硬件,并且能够根据自己意愿和软件的革新来改变硬件时,这是一个优势。例如 ——,
好的,让我们先来个背景故事吧。如果你已经听过了,那么请原谅我,但它很经典。当时是 1979 年,史蒂夫·乔布斯开车去<ruby>帕洛阿尔托<rt>Palo Alto</rt></ruby>的<ruby>施乐公园研究中心<rt>Xerox Park research center</rt></ruby>。[00:11:30] 那里的工程师一直在为他们所谓的图形用户界面开发一系列的元素。也许你听说过。它们有菜单、滚动条、按钮、文件夹和重叠的窗口。这是对计算机界面的一个美丽的新设想。这是前所未有的。作家兼记者 Steve Levy 会谈到它的潜力。
Steven Levy:[00:12:00] 对于这个新界面来说,有很多令人激动的地方,它以前的交互界面更友好,以前用的所谓的命令行 —— 你和电脑之间的交互方式跟现实生活中的交互方式完全不同。鼠标和电脑上的图像让你可以做到像现实生活中的交互一样,你可以像指向现实生活中的东西一样指向电脑上的东西。这让事情变得简单多了。你无需要记住所有那些命令。
不过,施乐的高管们并没有意识到他们正坐在金矿上。一如既往地,工程师比主管们更清楚它的价值。因此那些工程师,当被要求向 Jobs 展示所有这些东西是如何工作时,有点紧张。然而这是毕竟是高管的命令。Jobs 觉得,用他的话来说,“这个产品天才本来能够让施乐公司垄断整个行业,可是他最终会被公司的经营者毁掉,因为他们对产品的好坏没有概念”。这话有些苛刻,但是,Jobs 带着一卡车施乐高管错过的想法离开了会议。这几乎包含了他需要革新桌面计算体验的所有东西。1983 年,苹果发布了 Lisa 电脑,1984 年又发布了 Mac 电脑。这些设备的创意是抄袭自施乐公司的。
[00:13:30]
让我感兴趣的是,乔布斯对控诉他偷了图形用户界面的反应。他对此很冷静。他引用毕加索的话:“好的艺术家复制,伟大的艺术家偷窃。”他告诉一位记者,“我们总是无耻地窃取伟大的创意”。伟大的艺术家偷窃。好吧。我的意思是,我们说的并不是严格意义上的偷窃。没有人获得专有的源代码并公然将其集成到他们自己的操作系统中去。这要更温和些,更像是创意的借用。这就难控制的多了,就像 Jobs 自己即将学到的那样。传奇的软件向导、真正的代码英雄 Andy Hertzfeld 就是麦金塔开发团队的最初成员。
随着新版 Windows 的发布,很明显,微软从苹果那里学到了苹果从施乐那里学来的所有想法。乔布斯很易怒。他的关于伟大艺术家如何偷窃的毕加索名言被别人学去了。而且恐怕盖茨也正是这么做的。据报道,当乔布斯怒斥盖茨偷了他们的东西时,盖茨回应道:“史蒂夫,我觉得这更像是我们都有一个叫施乐的富有邻居,我闯进他家偷电视机,却发现你已经偷过了”。苹果最终以窃取 GUI 的外观和风格为名起诉了微软。这个案子持续了好几年,但是在 1993 年,第九次巡回上诉法院的一名法官最终站在了微软一边。Vaughn Walker 法官宣布外观和风格不受版权保护。这是非常重要的。这一决定让苹果在无法垄断桌面计算的界面。很快,苹果短暂的领先优势消失了。以下是 Steven Levy 的观点。
Steven Levy:
[00:16:30]
[00:17:00]
他们之所以失去领先地位,不是因为微软方面窃取了知识产权,而是因为在上世纪 80 年代,他们无法通过更好的操作系统来巩固自己的优势。坦率地说,他们的电脑索价过高。因此微软从 20 世纪 80 年代中期开始开发 Windows 系统,但直到 1990 年开发出的 Windows 3,我想,他才真正算是一个为黄金时期做好准备的版本,才真正可供大众使用。从此以后,微软能够将数以亿计的用户迁移到图形界面,而这是苹果无法做到的。虽然苹果公司有一个非常好的操作系统,但是那已经是 1984 年的产品了。
到 1991 年秋季,Torvalds 发布了 10,000 行代码,世界各地的人们开始提供注释,然后进行优化、添加和修改代码。对于今天的开发人员来说,这似乎很正常,但请记住,在那个时候,像这样的开放协作是对整个专有系统(微软、苹果和 IBM 在这方面做的非常好)道德上的侮辱。随后这种开放性被奉若神明。Torvalds 将 Linux 置于 GNU 通用公共许可证之下。曾经保障斯托尔曼的 GNU 系统自由的许可证现在也将保障 Linux 的自由。Vaughan-Nichols 解释道,迁移到 incorporate GPL 的重要性怎么强调都不过分,它基本上能永远保证软件的自由和开放性。
[00:23:30]
Steven Vaughan-Nichols:
事实上,根据 Linux 所遵循的许可协议,即 GPL 第 2 版,如果你想把贩卖 Linux 或者向全世界展示它,你必须与它人共享代码,所以如果你对其做了一些改进,仅仅给别人使用是不够的。事实上你必须和他们分享所有这些变化的具体细节。然后,如果这些改进足够好,就会被 Linux 所吸收。
Saron Yitbarek:
[00:24:00]
事实证明,这种公开的方式极具吸引力。Eric Raymond 是这场运动的早期传道者之一,他在他那篇著名的文章中写道:“微软和苹果这样的公司一直在试图建造软件大教堂,而 Linux 及类似的软件则提供了一个由不同日程和方法组成的巨大集市”集市比大教堂有趣多了。
tormy Peters:
我认为在那个时候,真正吸引人的是人们终于可以把控自己的世界了。
Saron Yitbarek:
Stormy Peters 是一位行业分析师,也是自由和开源软件的倡导者。
[00:24:30]
Stormy Peters:
[00:25:00]
开源软件第一次出现的时候,所有的操作系统都是专有的。如果不使用专有软件,你甚至不能添加打印机。您不能添加耳机。你不能自己开发一个小型硬件设备,然后让它在你的笔记本电脑上运行。你甚至不能放入 DVD 并复制它,因为你不能改变软件。即使你拥有这张 DVD,你也无法复制它。你无法控制你购买的硬件/软件系统。你不能从中创造出任何新的、更大的、更好的东西。这就是为什么开源操作系统在一开始是如此重要的原因。我们需要一个开源协作环境,在那里我们可以构建更大更好的东西。
Linux 在不断传播,微软也开始担心起来。到了 2006 年,Linux 成为仅次于 Windows 的第二大常用操作系统,全球约有 5000 名开发人员在使用它。5000 名开发者。还记得比尔·盖茨给苹果公司的备忘录吗?在那份备忘录中,他向苹果公司的员工们论述了与他人合作的重要性。事实证明,开源将把伙伴关系的概念提升到一个全新的水平,这是 Bill Gates 从未预见到的。
[00:27:30]
[00:28:00]
我们一直在谈论操作系统之间的巨型战斗,但是到目前为止,并没有怎么提到无名英雄和开发者们。在下次得代码英雄中,情况就不同了。第二集讲的是操作系统大战的第二部分,是关于 Linux 崛起的。业界醒悟过来,认识到了开发人员的重要性。这些开源反叛者变得越来越强大,战场从桌面转移到了服务器领域。这里有商业间谍活动、新的英雄人物,还有科技史上最不可能改变的想法。这一切都在操作系统大战的后半集内达到了高潮。