操作系统战争(上)

发布时间:

信息

Command Line Heroes 讲述了开发者、程序员、黑客、极客和开源叛客如何革命性地改变技术领域的史诗真实故事。 于此处发布的《命令行英雄》为非官方授权的演绎作品,基于 LLM 应用程序转译,再经本人对少量内容进行增删查改得到。 仅用于个人研究学习,不得用于商业用途,禁止转载。

如果有任何错误或不准确的地方,请谅解并指出,我会尽快更正。

部分引用的资源(如 YouTube 视频、Wikipedia 等)需要你的网络环境能正常访问类似的网站。

在 20 世纪 80 年代到 21 世纪初,科技界上演了一场被称为“操作系统战争”的史诗级对决。 这场战争不仅关乎技术,更关乎理念和未来。而这场战争的核心是 —— 争夺亿万用户的桌面操作系统控制权, 涉及的主要角色包括比尔·盖茨(Bill Gates)的微软帝国和史蒂夫·乔布斯(Steve Jobs)的苹果帝国。 一旦在操作系统领域称霸,就意味着控制了数十亿人使用计算机的方式,并深刻影响人们彼此沟通,以及获取信息的方式。 这场战争不仅塑造了现代科技的格局,与此同时,开源运动的火种也在悄然点燃。

前言:计算机的早期历史

提示

为了让读者能更好理解播客中提到的操作系统战争的背景,这里补充了必须了解的计算机的早期历史。 相应部分的内容在 Command Line Heroes 第四季中有更生动详细的讲解。

1946 年,世界上第一台通用电子计算机 ENIAC 诞生,它占据了整个房间,耗电量巨大,运行速度缓慢。 此时的计算机更多被用在军事(如弹道计算)和科学研究领域,数量稀少,而普通人并不了解它们的存在。 IBM 650 是 IBM 公司生产的一款早期计算机,它在 1953 年被推出,是世界上第一台大规模生产的计算机。 随后 IBM 推出了更多的计算机产品,包括 IBM 1401 和 IBM System/360 系列,并逐渐占领了计算机市场的主导地位。 自 IBM System/360 开始,单一操作系统适用于整个 IBM 产品系列,而不再是为每台计算机单独设计一个作业系统, 这使得 IBM 的计算机产品更加易于使用和维护。 但此时计算机依然是 大型机, 面向的服务对象主要是金融、医疗、航天领域的企业和政府等大型机构。

微软的诞生

随着微处理器的发展,个人计算机(PC)开始进入市场,这是一种小型、低成本的计算机,适合个人使用。 美国的 MITS 公司在 1975 年推出了 Altair 8800,这是一款 DIY 电脑,用户可以自己组装。 当时,Traf-O-Data 的比尔·盖茨和保罗·艾伦注意到了 Altair 8800 的潜力, 并为这款计算机开发了一种 BASIC 解释器,即 Altair BASIC. 研发成功后,他们创立了微软公司(Micro-Soft),这是微软的第一个产品。 盖茨和艾伦的 BASIC 解释器不仅为 Altair 8800 提供了重要的软件支持,也推动了个人计算机软件市场的发展。

vb
10 REM This is a simple Altair BASIC program.
20 PRINT "Hello, World!"
30 REM The following lines simulate a basic input/output operation.
40 INPUT "What is your name: "; UserName
50 PRINT "Hello, "; UserName; "!"
60 REM This section demonstrates a simple loop.
70 FOR I = 1 TO 5
80     PRINT "Loop iteration: "; I
90 NEXT I
100 REM Demonstrating a conditional statement.
110 INPUT "Enter a number: "; UserNumber
120 IF UserNumber > 10 THEN PRINT UserNumber; " is greater than 10."
130 IF UserNumber <= 10 THEN PRINT UserNumber; " is not greater than 10."
140 REM End of the program.
150 END
vb
' This is a simple Visual Basic program.
Sub Main()
    Console.WriteLine("Hello, World!")

    ' The following lines simulate a basic input/output operation.
    Dim UserName As String
    Console.Write("What is your name: ")
    UserName = Console.ReadLine()
    Console.WriteLine("Hello, " & UserName & "!")

    ' This section demonstrates a simple loop.
    Dim I As Integer
    For I = 1 To 5
        Console.WriteLine("Loop iteration: " & I)
    Next I

    ' Demonstrating a conditional statement.
    Dim UserNumber As Integer
    Console.Write("Enter a number: ")
    UserNumber = Console.ReadLine()
    If UserNumber > 10 Then
        Console.WriteLine(UserNumber & " is greater than 10.")
    Else
        Console.WriteLine(UserNumber & " is not greater than 10.")
    End If

    ' End of the program.
End Sub
csharp
using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, World!");

        // Simulating a basic input/output operation.
        Console.Write("What is your name: ");
        string userName = Console.ReadLine();
        Console.WriteLine($"Hello, {userName}!");

        // Demonstrating a simple loop.
        for (int i = 1; i <= 5; i++)
        {
            Console.WriteLine($"Loop iteration: {i}");
        }

        // Demonstrating a conditional statement.
        Console.Write("Enter a number: ");
        int userNumber = Convert.ToInt32(Console.ReadLine());
        if (userNumber > 10)
        {
            Console.WriteLine($"{userNumber} is greater than 10.");
        }
        else
        {
            Console.WriteLine($"{userNumber} is not greater than 10.");
        }

        // End of the program.
    }
}

苹果的诞生

史蒂夫·沃兹尼亚克在 1975 年的 “家酿计算机俱乐部” 上看到 Altair 8800 后,萌生了自己组装一台计算机的想法。 随即他与史蒂夫·乔布斯在车库里创立了苹果公司(Apple), 并在 1976 年推出了 Apple I. 最初的 Apple I 使用的不是 Altair 8800 使用的英特尔 8080 芯片, 但 Altair 8800 的成功展示了个人计算机市场的巨大潜力,这对苹果公司的成立和发展产生了重要影响。 沃兹尼亚克继续改进他的设计,开发了 Apple II. Apple II 是一款更先进的计算机,具有彩色图形显示能力、 内置的 Integer BASIC 编程语言和扩展槽,使其更加易用和功能强大。 1977 年,Apple II 正式发布。该系列迅速成为市场上最成功的个人计算机之一,推动了个人计算机的普及,并确立了苹果在个人计算机市场的地位。

Apple II 最初发布的版本并没有内置对浮点运算的支持。 然而,随着计算机应用的扩展,用户对更高级的数学运算能力的需求日益增长,这包括了对浮点运算的需求。 为了满足这种需求,苹果公司引入了 Applesoft BASIC, 这是由微软公司编写的 BASIC 的一个方言。 1979 年 6 月推出的 Apple II Plus 在 ROM 中包含了 Applesoft BASIC. 微软在 Apple II 的浮点运算支持方面发挥了重要作用,这不仅增强了 Apple II 的功能,也帮助确立了微软作为重要的软件供应商的地位。 通过与苹果的合作,微软在个人计算机软件领域获得了宝贵的经验和市场地位,这为其后来开发 MS-DOS 和 Windows 操作系统奠定了基础。

IBM PC 与 MS-DOS

20 世纪 70 年代末期,IBM 开始入局个人计算机领域,代号为 “Chess”(国际象棋)。 IBM 希望为这款新 PC 找到合适的操作系统。比尔·盖茨意识到为 IBM PC 开发操作系统是一个巨大的商业机会,可微软当时并没有自己的操作系统。 彼时名不见经传的盖茨向 IBM 毛遂自荐,并且迅速采取了行动。微软从西雅图计算机产品公司获得了一个名为 86-DOS 的操作系统授权。 微软将 86-DOS 改名为 MS-DOS(Microsoft Disk Operating System), 并对其进行了改造和优化,以满足 IBM 的技术要求。 1981 年 8 月 12 日,IBM 发布了 IBM PC, 并预装了 MS-DOS 1.14 版,这个版本在 IBM PC 上被称为 PC-DOS.

在与 IBM 的谈判中,微软没有选择出售 MS-DOS 的著作权,而是采用了按每台机器授权的方式。 这意味着,每卖出一台 IBM PC,微软就会收到一笔授权费。MS-DOS 随着 IBM PC 的普及而取得了巨大成功。 这种授权策略允许其他制造商生产与 IBM PC 兼容的机器,并且可以使用 MS-DOS. 这推动了 IBM 兼容机市场的发展,同时也为微软带来了更多的授权收入。

逐渐地,PC 市场开始分化,出现了奉行 IBM PC 标准和开放战略,软硬件分离的阵营; 以及特立独行的苹果公司,坚持自己的硬件和软件一体化的系统。 真正让微软和苹果公司成为竞争对手的是它们的图形界面操作系统: Microsoft WindowsClassic Mac OS.

接下来让我们走进命令行英雄第一季,第一集,一起探索这场史诗级的战争。

苹果与微软的爱恨情仇

苹果与微软的合作始于 Applesoft BASIC, 但这并不是两家公司之间的唯一合作。 在为 IBM PC 开发 MS-DOS 的同时,微软也为苹果等微型机厂商开发了一些软件。 微软在 1980 年开发了 Z-80 SoftCard, 一种处理器卡,允许 Apple II 运行当时流行的 CP/M 操作系统。 事实上,该产品是 1980 年微软最大的收入来源。 而在 1982 年,微软为 Apple II 开发了一款著名的表格程序,名为 "Multiplan". 或许你更熟悉它现在的名字: Microsoft Excel.

此时乔布斯已经了解到图形界面技术,向盖茨描绘了图形应用程序的未来,邀请其团队专门为 Macintosh 开发图形软件。 他们秘密协议,如果微软未来两年只为苹果开发 Word 和 Excel 等办公软件,而不发布 IBM PC 版本, 那么苹果将解雇现有的 BASIC 团队,而无限期地使用微软开发的 BASIC. 盖茨欣然接受了,于是他带领着自己的团队,以代号 SAND(Steve's Amazing New Device)开始了 Macintosh 相关的软件开发。

但傲慢的乔布斯实际上并没有把盖茨和微软放在眼里,他觉得盖茨就是个搞软件的,不懂设计,经常吐槽盖茨没品位。 他认为让微软参加到 Apple Macintosh 的伟大事业中,实属于是盖茨和微软的荣幸。 这或许为以后苹果和微软的冲突埋下了伏笔。

1983 年,在苹果公司的年度销售会议上,28 岁的乔布斯自信满满地走上台, 他邀请了三位行业专家进行软件方面的讨论。接下来发生的事情出人意料, 在专家们准备登台时,会场响起了 80 年代的俗气音乐,彩色的管灯照亮了舞台, 一个播音员的声音响起:“女士们、先生们,现在请欣赏 Macintosh 软件约会游戏。” 乔布斯面带微笑,揭示了三位 CEO 需要轮流向他示好,这就像是技术界的 “非诚勿扰”。

其中一位参赛者就是戴着大方形眼镜的比尔·盖茨,他宣称:

在 1984 年期间,预计微软一半的收入将来自为 Macintosh 开发的软件。

然而,观众并不知道的是,这场会议一个月后,盖茨将宣布 Windows 1.0. 乔布斯可能从未想到,他当时正在与将成为苹果最大竞争对手的人 “调情”。 微软和苹果即将经历科技史上最糟糕的 “婚姻”: 他们将互相背叛,试图摧毁对方,又深深地痛苦纠缠在一起。

苹果哲学:集成与用户体验

苹果公司的理念是集成和用户体验至上。他们希望控制整个技术栈, 从硬件到操作系统,甚至是操作系统上运行的一些应用程序。 这种集成性在新创新上市时为苹果带来了优势, 因为它允许苹果在硬件和软件之间进行协调,根据软件的新特性调整硬件。

很多人喜欢这种集成,并成为苹果的铁杆粉丝。

在同一场活动中,乔布斯向与会者展示了即将在超级碗期间播出的广告:

这则广告灵感来源于乔治·奥威尔的小说《1984》, 描绘了在一个冷漠、灰暗的独裁世界里,一群代表 IBM 用户的 “机器人” 在麻木地中行走。 突然,一位充满活力、代表 Apple 的女运动员以鲜艳的色彩冲进画面, 她用大锤砸碎了代表 “老大哥” 的屏幕,象征着打破了独裁者的控制。 随后,广告中传来一个声音,宣告苹果即将推出 Macintosh 电脑。

暗示 1984 年不会像奥威尔笔下所描绘的那样,Apple Macintosh 将带来一场革命。

这则广告虽然风险很大,但乔布斯坚持认为它具有深远的意义。 苹果董事会最初对这则广告非常不满,甚至想要解雇广告公司。 但在乔布斯的力挺下,这则广告最终不仅在超级碗期间播出, 还在公司内外产生了巨大的影响,成为了苹果品牌的一部分。 它塑造了苹果作为行业 “反叛者” 的形象,且这一形象多年来一直深入人心。

最初乔布斯想贯彻自己的软硬件一体化战略,将微软开发的 Excel 等软件打上苹果的商标,和 Macintosh 捆绑销售,这与盖茨的计划相悖。 在 Lisa 由于高昂的定价策略而销售不佳的情况下, 苹果公司开始为下一代产品 Macintosh (麦金塔)寻求更多软件开发商的支持。 当微软的 Word 研发进度落后时,乔布斯援引合同条款,宣布 Macintosh 将不再预装微软的软件。

对此,盖茨并没有抱怨什么,因为这正是他想要的结果。

微软哲学:实用主义与开发者生态

与苹果不同,微软更加实用主义,专注于兼容性、模块化和开发者生态系统的建设。

比尔·盖茨在 1985 年的一份 备忘录 中鼓励苹果向克隆制造商 授权他们的操作系统 (就像当时的微软和 IBM 兼容机制造商一样), 强调苹果必须开放 Macintosh 架构,以获得其它制造商的支持,从而获得动力并建立标准。 这时乔布斯刚刚被逐出董事会,直到 1996 年才回到苹果。 也许是因为乔布斯不在,盖茨才有足够的信心写下这些建议。

这一理念后来在微软 CEO 史蒂夫·鲍尔默的一次主题演讲中得到体现, 他连续喊出“开发者,开发者,开发者……”,表明微软对开发者的重视。

苹果公司明确了自己的立场,拒绝了盖茨的提议。 五个月之后,微软推出了 Windows 1.0 操作系统正式版。 从此,两大巨头之间的竞争就此拉开了序幕。 故事似乎发展得过于突兀,乔布斯怎么就离开了苹果呢? 微软又是如何构想并开发出 Windows 1.0 原型的?

我们需要回到更早的时间线,探索一切的根源。

出色的艺术家复制,伟大的艺术家偷窃

1979 年,史蒂夫·乔布斯驱车前往位于施乐(Xerox) 帕洛阿尔托研究中心(PARC)。 那里的工程师们正在开发一种全新的技术——图形用户界面(GUI)。 这是一种革命性的计算机交互方式,拥有菜单、滚动条、按钮、文件夹和重叠窗口等元素。 这种界面的设计理念,在当时是前所未有的。 施乐的高管们并没有意识到他们手中的这项技术价值连城。 而乔布斯在一次参观中,却敏锐地捕捉到了这一点。 他看到了这项技术的潜力,并将其带回了苹果。

1983 年,苹果发布了 Lisa 电脑,紧接着在 1984 年推出了 Macintosh. 这两款产品都深受施乐 GUI 的启发。 但在微软为苹果 Macintosh 开发软件的过程中,Macintosh 团队的员工开始对盖茨和微软感到不满。 他们吐槽盖茨总是不相信苹果方面给出的技术说明, 就 Macintosh 操作系统的运作询问了太多的技术细节,不懂得欣赏 Macintosh 的设计之美。 当苹果团队向盖茨展示 Macintosh 的光标如何在屏幕上流畅地移动而不闪烁时, 自豪地表示这没有采用额外的硬件支持,而是通过软件实现的。 而盖茨却不以为然,认为这样的设计一定是通过某种特殊硬件实现的,并再三追问,刨根问底... 没有人怀疑盖茨的目的。

由于乔布斯对设计上的不妥协,导致 Macintosh 发布日期推迟到 1984 年。 但当微软在 1983 年 11 月的 COMDEX 大会上宣布微软将推出 Windows, 并且适配 IBM PC 时, 苹果团队才意识到微软已经在 GUI 方面取得了重大进展,且毫无还手之力。 虽然是苹果借鉴施乐的创意在前,但乔布斯依旧对于微软模仿苹果的 GUI 感到愤怒。 他在回应是否抄袭施乐技术时,曾引用毕加索的话:“出色的艺术家复制,伟大的艺术家偷窃。” 最终回旋镖却打在了自己身上。 乔布斯公开抨击微软和盖茨,称他们是 “小偷”,叫盖茨来苹果当面对质。 盖茨只身一人前往,但他并没有被乔布斯的言辞所激怒,而是冷静地回应道: “我们都有个有钱的邻居叫施乐,我闯进他们家准备偷电视机的时候,发现你已经把他给偷走了。”

乔布斯冷静下来与盖茨进行了一次长谈。盖茨在苹果待了两天,软硬皆施,一边表达自己对于 Macintosh 的看好, 一边威胁微软可能将不再为 Macintosh 开发软件。 盖茨向乔布斯展示了正在研发的 Windows 1.0, 乔布斯当即称其为 “一坨屎”, 并降低了对这个竞品的戒心,提醒微软不要过分抄袭苹果的 GUI 设计。 殊不知这是盖茨的缓兵之计,盖茨回到微软后,重金从施乐挖来了负责图形应用界面的高管, 并对开发团队说:“越像 Macintosh,越好。” 而乔布斯之所以没有和盖茨撕破脸,也是由于有了 Apple II 上 VisiCalc 软件的先例。 至少他希望微软能为 Macintosh 开发好一些像是 Office 和 Excel 一样的热门软件。

由于乔布斯对设计的不妥协,顽固地要求不要风扇,虽然让 Macintosh 更加安静,但也导致了过热问题, 初代 Macintosh 还存在机器性能低下、单个软盘驱动器需要频繁更换磁盘等问题,使得 Macintosh 在市场上并没有取得成功。 最终初代 Macintosh 发布半年后,销量便急剧下跌。 接连失败的乔布斯,尽管是联合创始人之一,但仍难辞其咎, 在 1985 年被苹果董事会以造成公司分裂(计划解雇 BASIC 团队)和亏损的缘由解雇 (也有一说是乔布斯在被边缘化几个月后主动辞职)。 最初的 Macintosh 团队中的大多数都离开了苹果,一些人跟随乔布斯在被 CEO 约翰·斯卡利赶下台后创立了 NeXT. 12 年后乔布斯回归苹果时,将 NeXT 的 OpenStep 技术与 Darwin 操作系统(后文 Unix 的 “变种”)结合,推出了 Mac OS X.

没有乔布斯的苹果很快发布了 Macintosh 512K, 并与微软签订和解协议: 苹果授权微软在 Windows 上使用部分 Macintosh 所用的 GUI 技术,而微软将继续为 Macintosh 开发软件。 为了进一步在暗中对抗苹果,除了在 Windows 1.0 中模仿 Macintosh 的 GUI 设计外, 1987 微软与 IBM 联合开发了早期 OS/2 操作系统, 并在大约一年后的 1.1 版本引入了 GUI 技术。但此时的微软韬光养晦许久,已经将开发重点转向了自己的 Windows 业务.

1988 年,微软推出了 Windows 2.0,苹果认为 1985 年的合约并不适用于 Windows 2.0 并起诉微软抄袭了他们的 GUI 设计 (作为回击,微软停止继续为苹果开发软件),但该诉讼持续到了 1993 年, 法院最终裁定“外观和感觉”不受版权保护。 这一裁决不仅阻止了苹果通过 GUI 建立垄断,也使得微软得以继续发展 Windows 操作系统。 同年苹果 CEO 斯卡利,乔布斯从百事挖来的高管,也是决定踢出乔布斯的人之一,辞去了苹果的 CEO 职务。

到了 1990 年,微软发布了 Windows 3.0 并依旧授权给诸多 IBM PC 兼容机的制造商,进行捆绑销售,获得了巨大成功,使得数亿用户转向了图形界面。 IBM 和微软之间的合作也因 Windows 3.0 和 OS/2 1.3 版本的发布而告终。 尽管苹果后来也拥有优秀的操作系统(Classic Mac OS),但因为其封闭性和定价过高,未能在市场上取得领先地位。 个人计算机领域的霸主地位已经不再属于 IBM 和苹果,而是微软。

1997 年,苹果几乎面临破产,回到苹果的乔布斯在 Macworld Expo 上宣布与微软建立新的合作伙伴关系。 微软将为苹果开发 Office 套件,并投资 1.5 亿美元购买苹果股票(无投票权),并在 3 年内保持持有; 苹果的 Macintosh 电脑将预装微软的 Internet Explorer 浏览器; 微软和苹果将在五年内就双方的专利技术进行交叉许可。

这一举动标志着两家公司从对抗走向了再次合作。

2001 年,微软发布了纯 NT 内核的 Window XP 系统,为了保持向后兼容性,Windows XP 包含了一个名为 “命令提示符” 的程序, 它模拟了 DOS 环境,允许用户运行许多 DOS 程序。苹果在同年 3 月,发布了 Mac OS X 10.0(内部代号为 Cheetah). 2002 年 1 月 7 日,苹果宣布 Mac OS X 将在当月底成为所有 Macintosh 产品的默认操作系统。

就这样,微软和苹果在各自专有的操作系统上继续发展,各自有着自己的用户群体。

Windows_Version_History

关于微软和苹果,还有许多与其它科技公司的故事可以讲,比如 IE 浏览器和 Netscape 的竞争, Bing 与 Google 的竞争,Safari 与 Chrome 的竞争等等,但已经超出了操作系统战争的范畴。 作为成功的企业家,乔布斯和盖茨都没有想到操作系统作为软件的另一种可能性,即开放源码的自由软件。 这种软件的开发模式,使得软件的源代码可以被任何人查看、使用、修改和分发,只需要遵循相应的许可协议。

来自开源世界的叛客们

在 20 世纪 80 年代,自由软件的概念非常重要。在微软和苹果争夺操作系统控制权的同时, 开源软件的倡导者如理查德·斯托曼(Richard Stallman)开始寻求打破专有软件的束缚。 斯托曼的自由软件基金会开发了 GNU 项目, 目标是创建一套完全自由的操作系统,包括一整套的软件工具和用户界面, 以替代更改过著作权协议的 Unix 系统及其变种。

Unix 的前身为 1964 年开始的 Multics. 1965 年时,贝尔实验室加入一项由通用电气和麻省理工学院合作的计划; 该计划要建立一套多用户、多任务、多层次的 MULTICS 操作系统。 贝尔实验室参与了这个操作系统的研发,但因为开发速度太慢,1969 年贝尔实验室决定退出这个计划。 贝尔实验室的工程师,肯·汤普逊和丹尼斯·里奇,在此时自行开发了 Unix.

起初 Unix 拥有者 AT&T 公司以低廉甚至免费的许可将 Unix 源码授权给学术机构做研究或教学之用, 许多机构在此源码基础上加以扩展和改进,形成了所谓的 “Unix变种”。

如上图, 苹果的 Mac OS X 10.5 以及之后的版本,采用了基于 FreeBSD 的 Darwin 内核。

后来 AT&T 意识到了 Unix 的商业价值,不再将 Unix 源码授权给学术机构,并对之前的 Unix 及其变种声明了著作权权利。 他们对任何在查看 Unix 源代码后制作自己操作系统的人发出了诉讼威胁。这些公司非常注重专有权利。 这两家公司认为,所有看过 Unix 代码的程序员都被 “精神污染” 了。 在 Unix 系统实验室与伯克利软件设计公司之间的一场著名法庭案件中, 他们声称任何功能相似的系统,即使没有使用 Unix 代码,也构成版权侵犯。 当时的开发者们甚至制作了写有 “精神污染” 的小别针,以示对这种荒谬指控的反抗。

而 GNU 项目的成功,为后来的开源操作系统如 GNU/Linux 的诞生奠定了基础。 在 Linux 内核诞生之前,GNU 项目已经开发了大部分的操作系统组件,但缺少了一个内核。 GNU 项目最初计划使用的内核是 Hurd. Hurd 的开发始于 1980 年代末,但由于各种技术和协作挑战,它的开发进展缓慢, 导致 GNU 项目还不能摆脱对 Unix 的依赖,万事俱备,只欠东风。

Linux 内核的诞生

1991 年春天,一个名叫莱纳斯·托瓦兹(Linus Torvalds)的芬兰男孩 想要将 386 处理器整合到他的新 PC 中,但是他并对运行在他 IBM 兼容机上的 MS-DOS 系统不太满意, 又买不起价值 5000 美元的 Unix 系统。 出于个人兴趣,他在 MINIX 上设计了一个解决方案: 一个名为 Linux 的操作系统内核,这是属于他自己的操作系统内核。

他在 comp.os.minix 上发布了他的内核代码, 并发出了 著名的邮件


Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them 😃

Linus (torv...@kruuna.helsinki.fi)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have 😦.


莱纳斯的初衷只是想为自己打造一个可以玩的东西。 Linux 的命名 几经变化, 起初是他在赫尔辛基的 DIY 内核项目,基本上是一个大孩子在玩耍和学习如何做事。 但与众不同的是,他既聪明又坚持不懈,还足够友好, 能够吸引其他人参与进来 ,然后他开始看到这个项目的发展。 早期的 Linux 开发人员将 GNU 代码(包括 GNU C 编译器)移植到 Linux 上运行, 而自由软件社区则采用 Linux 内核作为 GNU 操作系统缺失的内核。

27 年后,Linux 已经发展成为一个比莱纳斯当初构想的要大得多的项目。 它不仅成为了开源运动的象征,也成为支撑着全球无数服务器、操作系统和设备的核心。 莱纳斯和他的 Linux 内核证明了开放合作的力量, 以及自由软件在推动技术创新和知识共享方面的重要性。

埃里克·雷蒙德(Eric Raymond)是自由软件运动的早期布道者之一, 他在著名的文章《大教堂与市集》 (The Cathedral and the Bazaar)中写道: “像微软和苹果这样的公司一直在试图建立软件大教堂, 而 Linux 及其同类公司则提供了一个关于不同议程和方法的热闹非凡的集市。 集市比大教堂有趣得多。”

开源与专有的较量

早在 “自由软件” 或 “开源” 一词被创造出来之前,开发者们就已经在分享代码了。

1976 年,比尔·盖茨写下了著名的《致业余爱好者的一封公开信》 (An Open Letter to Hobbyists), 对大多数计算机爱好者表示失望,他们使用他公司的 Altair BASIC 软件而没有付费。 他断言,这种普遍的未经授权的复制实际上阻碍了开发人员投入时间和金钱来创建高质量的软件。 在盖茨的影响下,微软对开源的态度直到 2013 年才发生变化。

当开源软件首次面世时,操作系统都是专有的。 这种专有性限制了用户的自由,你甚至不能在没有专有软件的情况下添加打印机或耳机。 开发自己的小型硬件设备并与笔记本电脑配合使用也是不可能的。 即便是你拥有的 DVD, 你也无法复制它,因为你无法更改软件。

在这样的背景下,开源操作系统的出现变得极其重要。 人们需要一个开源的协作环境,以创造更大、更好的产品和服务。 开源操作系统让用户重新获得了对自己购买的硬件/软件系统的控制权, 允许他们在此基础上创造新的、更出色的事物。

Linux 虽然代表了开源精神,但它并非一个完全平等的乌托邦。 莱纳斯并非批准内核中的每一个变更,但他确实主持着内核的变革。 他建立了一个信任的金字塔,由他和十几个负责不同部分内核的人组成,这些人又信任他们下面的人。 这种结构确保了变化可以来自任何地方,但都必须经过评审和筛选。 人们开始给他反馈,从几十个到几百个,再到成千上万的贡献者, Linux 开始迅速成长,直到它的快速扩散引起了微软的关注。

时任微软 CEO 的史蒂夫·鲍尔默甚至将 Linux 比作“一种癌症”, 认为它会在知识产权层面对一切它接触到的东西构成威胁。 实际上当时微软在内部发布了一系列后来被称为 “Halloween Documents” 的文件, 描述了该公司阻止开源势头的潜在方法,主要针对 Linux 系统。 事实证明,一旦微软巩固了其垄断地位,它就会对任何可能的威胁做出强烈反应。 在他们看来,自由软件的出现是对他们的收费软件模式的威胁。

到了 2006 年,Linux 成为了继 Windows 之后使用最广泛的操作系统, 全球约有 5000 名开发人员在为其开发。这个数字证明了开源合作的力量。 开源运动将比尔·盖茨在备忘录中提到的合作理念提升到了一个全新的水平,这是他从未预见到的。

结语

操作系统战争是一个关于技术、哲学和市场控制的史诗级故事。 它不仅塑造了我们今天所使用的计算机和互联网,还催生了开源软件运动,这个运动将继续影响着未来技术的发展。 在这个故事中,我们看到了开发者的力量,他们通过命令行改变了世界。 无论是在战争年代还是在和平时期,开发者都是塑造我们技术未来的英雄。

目前我们的故事只讲到了 2006 年,但操作系统战争并没有结束。 移动互联网的兴起,云计算的发展,人工智能的崛起,都将继续推动操作系统的发展。

更多阅读

有趣的东西: