自由软件:自由与合作

这是 2001 年 5 月 29 日在纽约州纽约市纽约大学发表的演讲稿。

本演讲稿的纯文本版本和演讲的摘要也可用。


URETSKY:我是 Mike Uretsky。我在斯特恩商学院工作。我也是高级技术中心的联合主任之一。我谨代表计算机科学系的所有人,欢迎您来到这里。在我将发言权交给 Ed 之前,我想先说几句话,他将介绍演讲者。

大学的作用是促进辩论和进行有趣的讨论。而一所主要大学的作用是进行特别有趣的讨论。而这次特别的演讲,这个研讨会正符合这个模式。我发现对开源的讨论特别有趣。在某种意义上……[笑声]

STALLMAN:我做的是自由软件。开源是一个不同的运动。[笑声] [掌声]

URETSKY:当我 60 年代刚入行时,基本上软件是免费的。我们经历了几个周期。它变得免费,然后软件制造商为了扩大市场,将其推向其他方向。随着 PC 的出现,发生的许多发展都以完全相同的周期进行。

有一位非常有趣的法国哲学家皮埃尔·列维(Pierre Levy),他谈到了向这个方向的运动,并谈到了进入网络空间不仅与技术有关,还与社会结构重组、政治重组有关,通过改变可以改善人类福祉的关系类型。我们希望这场辩论是朝这个方向发展的一个运动,这场辩论可以跨越大学内通常作为安慰的所有学科。我们期待一些非常有趣的讨论。Ed?

SCHONBERG:我是库朗研究所计算机科学系的 Ed Schonberg。让我欢迎大家参加本次活动。介绍人通常,特别是,是公共演讲中无用的部分,但在这种情况下,实际上,它们具有有用的目的,正如 Mike 很容易证明的那样,因为例如,介绍人可以通过发表不准确的评论,让他理清、纠正和[笑声] 大大加强辩论的参数。

所以,让我对一个不需要介绍的人做一个尽可能简短的介绍。理查德是一个完美的例子,他通过在本地行动,从多年前 AI 实验室打印机驱动程序的源代码不可用的问题开始,开始在全球范围内思考。他制定了一套连贯的哲学,迫使我们所有人重新审视我们关于如何生产软件、知识产权的含义以及软件社区实际代表什么的观点。让我欢迎理查德·斯托曼。[掌声]

STALLMAN:有人能借我一块手表吗?[笑声] 谢谢。所以,我要感谢微软为我提供了[笑声] 在这个平台上发言的机会。在过去的几周里,我感觉自己像一个书恰好在某个地方被禁的作者。[笑声] 只是所有关于它的文章都给出了错误的作者姓名,因为微软将 GNU GPL 描述为开源许可证,而大多数媒体报道都随之效仿。当然,大多数人只是天真地没有意识到我们的工作与开源无关,事实上,我们的大部分工作甚至在人们创造“开源”一词之前就已经完成了。

我们属于自由软件运动,我将谈论自由软件运动的内容、意义、我们所做的工作,以及,因为这部分是由商学院赞助的,我将比平时更多地谈论自由软件与商业的关系,以及社会生活的其他一些领域。

现在,你们中的一些人可能永远不会编写计算机程序,但也许你们会做饭。如果你做饭,除非你真的很棒,否则你可能会使用食谱。而且,如果你使用食谱,你可能有过从朋友那里得到一份食谱的经验,他们会分享它。而且,你可能也有过更改食谱的经验——除非你是完全的新手。你知道,它说了某些事情,但你不必完全按照它说的做。你可以省略一些配料。加一些蘑菇,因为你喜欢蘑菇。少放些盐,因为你的医生说你应该减少盐的摄入——随便吧。你甚至可以根据你的技能做出更大的改变。如果你更改了食谱,并为你的朋友做饭,他们喜欢它,你的一个朋友可能会说,“嘿,我可以要食谱吗?”然后,你会做什么?你可以写下你修改过的食谱版本,并为你的朋友复制一份。这些是对任何类型的实用食谱来说都是自然的做法。

现在,食谱很像计算机程序。计算机程序很像食谱:一系列要执行的步骤,以获得你想要的结果。因此,对计算机程序做同样的事情也是很自然的——给你的朋友一份副本。对其进行更改,因为它编写要完成的工作与你想要的不完全相同。它为其他人做了一份出色的工作,但你的工作是不同的工作。在你更改它之后,它很可能对其他人有用。也许他们有一份要完成的工作与你所做的工作类似。所以他们会问,“嘿,我可以要一份副本吗?”当然,如果你是一个好人,你会给一份副本。这是做一个正派的人的方式。

所以想象一下,如果食谱被包装在黑盒子里的情景。你看不到它们使用的配料是什么,更不用说更改它们了,想象一下,如果你为朋友复制了一份,他们会叫你海盗,并试图把你关进监狱几年。那个世界会引起所有习惯于分享食谱的人的极大愤怒。但这正是专有软件的世界的样子。在这个世界里,对其他人的基本礼仪是被禁止或阻止的。

现在,我为什么注意到这一点?我注意到这一点是因为我在 20 世纪 70 年代有幸成为一个共享软件的程序员社区的一员。现在,这个社区的祖先基本上可以追溯到计算机的早期。然而,在 20 世纪 70 年代,人们共享软件的社区有点罕见。事实上,这有点极端,因为在我工作的实验室里,整个操作系统都是由我们社区的人开发的软件,我们会与任何人分享其中的任何部分。欢迎任何人来查看,拿走副本,并做任何他想做的事情。这些程序上没有版权声明。合作是我们生活的方式。我们对这种生活方式感到安全。我们没有为之奋斗。我们不必为之奋斗。我们只是那样生活。而且,就我们所知,我们将继续那样生活。所以有自由软件,但没有自由软件运动。

但是,我们的社区后来被一系列发生在它身上的灾难摧毁了。最终它被消灭了。最终,我们用于所有工作的 PDP-10 计算机停产了。你知道,我们的系统——不兼容分时系统——是从 60 年代开始编写的,所以它是用汇编语言编写的。那是你在 60 年代用来编写操作系统的方式。所以,当然,汇编语言是为一种特定的计算机架构设计的;如果它停产了,你所有的工作都会变成尘埃——它就没用了。这就是发生在我们身上的事情。我们社区 20 年左右的工作变成了尘埃。

但在发生这种情况之前,我经历了一件事,这件事为我做好了准备,帮助我看清了该怎么做,帮助我做好了准备,以便在这种情况发生时看清该怎么做,因为在某个时候,施乐公司送给了我工作的人工智能实验室一台激光打印机,这是一份非常精美的礼物,因为这是施乐公司以外的任何人第一次拥有激光打印机。它速度非常快,一秒钟打印一页,在许多方面都非常好,但它不可靠,因为它实际上是一台被改装成打印机的高速办公复印机。而且,你知道,复印机经常卡纸,但有人在那里修理它们。打印机卡纸了,但没有人看到。所以它卡纸了很长时间。

好吧,我们有一个想法来解决这个问题。修改它,以便每当打印机卡纸时,运行打印机的机器可以告诉我们的分时机,并告诉正在等待打印输出的用户,或者诸如此类的东西,你知道,告诉他们,去修理打印机。因为如果他们只知道打印机卡纸了,当然,如果你正在等待打印输出,并且知道打印机卡纸了,你不会想坐着永远等下去,你会去修理它。

但在那时,我们完全束手无策,因为运行那台打印机的软件不是自由软件。它是随打印机一起提供的,只是一个二进制文件。我们无法获得源代码;施乐公司不让我们获得源代码。所以,尽管我们作为程序员技术娴熟——毕竟,我们自己编写了分时系统——我们却完全无能为力,无法向打印机软件添加这个功能。

我们只能忍受等待。拿到打印输出需要一两个小时,因为机器大部分时间都会卡纸。而且只有偶尔——你等了一个小时,心想“我知道它肯定会卡纸。我等一个小时然后去拿我的打印输出”,然后你会发现它一直卡纸,事实上,没有人修理过它。所以你会修理它,然后你会再去等半个小时。然后,你会回来,你会看到它又卡住了——在打印到你的输出之前。它会打印三分钟,然后卡住三十分钟。挫败感爆棚。但更糟糕的是,我们明明可以解决这个问题,却因为别人的自私,被阻挠,被阻止改进软件。所以,我们当然感到很愤慨。

后来我听说卡内基梅隆大学的某人拥有一份该软件的副本。所以后来我去那里拜访时,我去他的办公室,我说:“你好,我来自麻省理工学院。我可以要一份打印机源代码吗?”他说:“不行,我答应过不给你副本。”[笑声] 我惊呆了。我非常……我非常生气,我不知道该如何发泄。我唯一能想到的就是转过身,走出他的房间。也许我摔了门。[笑声] 后来我仔细想了想,因为我意识到我看到的不仅仅是一个孤立的混蛋,而是一种重要的、影响了很多人的社会现象。

对我来说,这只是一种体验,我很幸运,我只是尝到了一点点,但其他人不得不一直生活在这种境况中。所以我仔细地思考了这个问题。你看,他曾承诺拒绝与我们——他在麻省理工学院的同事合作。他背叛了我们。但他不仅仅是对我们这样做。他很可能也对你这样做过。[指向听众中的一员。] 而且我认为,很可能,他也对你这样做过。[指向另一位听众。] [笑声] 他很可能也对你这样做过。[指向第三位听众。] 他很可能对在座的大多数人这样做过——除了少数,也许,在 1980 年还没出生的人。因为他曾承诺拒绝与地球上几乎所有人口合作。他签署了一份保密协议。

这是我第一次直接遇到保密协议,它教会了我一个重要的教训——一个重要的教训,因为大多数程序员永远不会学到它。你看,这是我第一次遇到保密协议,而我是受害者。我和我的整个实验室都是受害者。它教会我的教训是,保密协议是有受害者的。它们不是无辜的。它们不是无害的。大多数程序员第一次遇到保密协议时,都是被邀请签署一份。而且总有一些诱惑——他们签署后会得到一些好处。所以,他们会编造借口。他们说:“好吧,无论如何他都拿不到副本,所以我为什么不加入剥夺他的阴谋呢?”他们说:“一直都是这样做的。我有什么资格反对呢?”他们说:“如果我不签署,别人也会签署。”各种各样的借口来麻痹他们的良心。

但是当有人邀请我签署保密协议时,我的良心已经很敏感了。它记得当有人承诺不帮助我和我的整个实验室解决问题时,我是多么的愤怒。我不能转过身,对一个从未伤害过我的人做同样的事情。你知道,如果有人要求我承诺不与一个我痛恨的敌人分享一些有用的信息,我会说“是的”。你知道吗?如果有人做了坏事,他应该受到惩罚。但是,陌生人——他们没有伤害过我。他们怎么会受到那种虐待呢?你不能让自己开始随便虐待任何人。然后你就会成为社会的掠夺者。所以我说:“非常感谢你提供这个不错的软件包。但是,我不能以你要求的条件接受它,所以我宁愿不用它。非常感谢。”所以,我从未在明知的情况下签署过关于通用技术信息(如软件)的保密协议。

现在还有其他类型的信息会引发不同的伦理问题。例如,有个人信息。你知道,如果你想和我谈谈你和你男朋友之间发生的事情,你要求我不要告诉任何人——你知道,我可以——我可以同意为你保密,因为这不是通用的技术信息。至少,它可能不是通用的。[笑声]

但有一个小概率事件——虽然这是一个可能性——你可能会向我透露一些很棒的新性技巧,[笑声] 然后我将感到一种道德义务[笑声] 将其传递给人类的其余部分,以便每个人都能从中受益。所以,我必须在那个承诺中加上一个但书,你知道吗?如果它只是关于谁想要这个,谁对谁生气,诸如此类的事情——肥皂剧——我可以为你保密,但是如果这是人类能从中获得巨大益处的东西,我就不能隐瞒。你看,科学和技术的目的是为人类开发有用的信息,以帮助人们更好地生活。如果我们承诺隐瞒这些信息——如果我们保守秘密——那么我们就背叛了我们领域的使命。我决定我不应该这样做。

但与此同时,我的社区已经崩溃了,而且正在崩溃,这让我处于不利的境地。你看,整个不兼容分时系统已经过时了,因为 PDP-10 已经过时了,所以我就无法像以前那样继续作为操作系统开发人员工作了。这取决于成为使用社区软件并改进它的社区的一部分。这不再是一种可能性,这让我陷入了道德困境。我该怎么办?因为最明显的可能性意味着违背我所做的决定。最明显的可能性是适应世界的变化。接受情况已经不同,我不得不放弃那些原则,开始为专有操作系统签署保密协议,并且很可能也会编写专有软件。但我意识到,那样我可以享受编码的乐趣,而且可以赚钱——尤其是我在麻省理工学院以外的地方做的话——但最终,我必须回顾我的职业生涯,然后说:“我一生都在建造墙来分裂人们”,我将为我的一生感到羞耻。

所以我寻找了另一种选择,而且有一个很明显的选择。我可以离开软件领域,去做其他的事情。现在我没有其他值得注意的特殊技能,但我确信我可以成为一名服务员。[笑声] 不是在一家高档餐厅;他们不会雇用我,[笑声] 但我可以在某个地方当服务员。许多程序员对我说:“雇用程序员的人要求这个、这个和这个。如果我不做这些事情,我就会饿死。”这真的是他们使用的词。好吧,你知道,作为一名服务员,你不会饿死。[笑声] 所以,实际上,他们没有危险。但是——这很重要,你看——因为有时你可以通过说如果不然更糟糕的事情会发生在我身上来为做一些伤害别人的事情辩护。你知道,如果你真的要饿死了,那么你编写专有软件是情有可原的。[笑声] 如果有人用枪指着你,那么我会说,这是可以原谅的。[笑声] 但是,我找到了一种可以在不做不道德的事情的情况下生存下去的方法,所以那个借口就不可用了。所以,我意识到,当服务员对我来说不会有乐趣,而且会浪费我作为操作系统开发人员的技能。它会避免滥用我的技能。开发专有软件会滥用我的技能。鼓励其他人生活在专有软件的世界里会滥用我的技能。所以,浪费它们比滥用它们更好,但仍然不是真的好。

出于这些原因,我决定寻找其他替代方案。一个操作系统开发人员可以做些什么来真正改善情况,让世界变得更美好?我意识到,正需要一个操作系统开发人员。对于我和其他人来说,问题和困境的存在是因为所有可用于现代计算机的操作系统都是专有的。免费操作系统是为旧的、过时的计算机设计的,对吧?所以对于现代计算机——如果你想获得一台现代计算机并使用它,你就被迫使用专有操作系统。所以,如果一个操作系统开发人员编写了另一个操作系统,然后说,“大家来分享这个;欢迎使用这个”——这将为每个人提供一种摆脱困境的方法,另一种选择。所以我意识到我可以做一些可以解决问题的事情。我拥有能够做到这一点的正确技能。而且它是我能想象到的,我一生中最有用的事情。而且这个问题没有人试图解决。它只是在那里,情况变得越来越糟,但只有我在那里。所以我觉得,“我被选中了。我必须努力解决这个问题。如果不是我,那是谁呢?”所以,我决定我会开发一个自由操作系统,或者尝试至死……当然是老死的。[笑声]

所以,当然我必须决定它应该是什么样的操作系统。有一些技术设计决策要做。我决定使该系统与 Unix 兼容,原因有很多。首先,我刚刚看到一个我真正喜欢的操作系统因为它为特定类型的计算机编写而变得过时。我不想让这种情况再次发生。我们需要一个可移植的系统。好吧,Unix 是一个可移植的系统。所以,如果我遵循 Unix 的设计,我就很有机会创建一个也可以移植和可用的系统。此外,为什么[录音不清晰]在细节上与它兼容。原因是,用户讨厌不兼容的更改。如果我只是以我最喜欢的方式设计系统——我肯定很乐意这样做——我就会产生不兼容的东西。你知道,细节会不同。所以,如果我编写了系统,那么用户就会对我说,“好吧,这很好,但是它不兼容。切换起来太费劲了。我们不能为了使用你的系统而不是 Unix 而花费那么多麻烦,所以我们将继续使用 Unix,”他们会这样说。

现在,如果我想真正创建一个社区,让人们参与其中,使用这个免费的系统,并享受自由和合作的好处,我必须创建一个人们愿意使用的系统,一个他们可以轻松切换的系统,一个不会在一开始就因障碍而失败的系统。而让该系统向上兼容 Unix 实际上决定了所有即时的设计决策,因为 Unix 由许多部分组成,它们通过或多或少有文档记录的接口进行通信。因此,如果你想与 Unix 兼容,你必须逐一地用兼容的部分替换每个部分。这样,剩余的设计决策就存在于各个部分内部,并且可以由决定编写该部分的人在以后做出。它们不必在一开始就决定。

因此,我们开始工作所要做的就是为系统找一个名字。现在,我们这些黑客总是为程序寻找一个有趣或调皮的名字,因为想到人们会被这个名字逗乐,是编写程序乐趣的一半。[笑声] 而且我们有递归首字母缩略词的传统,表明你正在编写的程序与某些现有程序相似。你可以给它一个递归首字母缩略词名称,表示:这个不是那个。例如,在 60 年代和 70 年代有很多 Tico 文本编辑器,它们通常被称为某某 Tico。然后,一位聪明的黑客将其命名为 Tint,即 Tint Is Not Tico(第一个递归首字母缩略词)。1975 年,我开发了第一个 Emacs 文本编辑器,Emacs 有很多模仿者,其中很多都被称为某某 Emacs,但有一个被称为 Fine,即 Fine Is Not Emacs,还有一个被称为 Sine,即 Sine Is Not Emacs,还有一个被称为 Eine,即 Eine Is Not Emacs,还有 MINCE,即 Mince Is Not Complete Emacs。[笑声] 这是一个精简的仿制品。然后,Eine 几乎完全被重写了,新版本被称为 Zwei,即 Zwei Was Eine Initially。[笑声]

因此,我寻找一个“Something is not Unix”的递归首字母缩略词。我尝试了所有 26 个字母,发现没有一个字母是单词。[笑声] 嗯,换个方式。我做了一个缩写。这样我就可以得到一个三字母的缩写,表示“Something's not Unix”。我尝试了字母,然后我遇到了单词“GNU”——“GNU”这个词是英语中最有趣的词。[笑声] 就是它了。当然,它之所以有趣,是因为根据词典,它的发音是“new”。看到了吗?所以人们用它来玩很多文字游戏。我来告诉你,这是一种生活在非洲的动物的名字。非洲的发音中有一个咔哒声。[笑声] 也许现在仍然有。因此,当欧洲殖民者到达那里时,他们懒得学习说这个咔哒声。所以他们就把它省略了,写了一个“G”,意思是“这里应该有另一个我们没有发出的声音”。[笑声] 所以,今晚我将前往南非,我已经恳求他们,我希望他们能找到人教我说咔哒声,[笑声] 这样我就知道如何正确发音 GNU,当它是指动物的时候。

但是,当它是我们系统的名称时,正确的发音是“guh-NEW”——发出硬“G”的声音。如果你谈论“new”操作系统,你会让人们非常困惑,因为我们已经为此工作了 17 年了,所以它不再是新的了。[笑声] 但它仍然是,而且永远都会是 GNU——无论有多少人错误地称之为 Linux。[笑声]

因此,在 1984 年 1 月,我辞去了在麻省理工学院的工作,开始编写 GNU 的各个部分。他们很好地让我继续使用他们的设施。当时,我认为我们会编写所有这些部分,创建一个完整的 GNU 系统,然后我们会说:“来拿吧”,人们就会开始使用它。但事情并非如此。我编写的第一部分只是同样好用的替代品,针对 Unix 的某些部分减少了错误,但它们并没有非常令人兴奋。没有人特别想得到它们并安装它们。但是,在 1984 年 9 月,我开始编写 GNU Emacs,这是我的第二个 Emacs 实现,到 1985 年初,它已经可以工作了。我可以用它来完成我的所有编辑工作,这让我松了一口气,因为我无意学习使用 Unix 编辑器 VI。[笑声] 因此,在那之前,我是在其他机器上进行编辑,并通过网络保存文件,以便我可以测试它们。但是,当 GNU Emacs 运行得足够好让我使用它时,其他人也想使用它。

因此,我必须制定分发的细节。当然,我将一份副本放在了匿名 FTP 目录中,这对在网上的人来说很好。他们可以简单地拉取一个 tar 文件,但是在 1985 年,即使有很多程序员也不在网上。他们发邮件给我说“我如何获得副本?” 我必须决定我该如何回答他们。好吧,我可以这样说,我想把我的时间花在编写更多 GNU 软件上,而不是写磁带,所以请找一个在互联网上的朋友,他愿意下载它并把它放在磁带上给你。我相信人们迟早会找到一些朋友的,你知道。他们会得到副本的。但我没有工作。事实上,自从 1984 年 1 月从麻省理工学院辞职以来,我就再也没有工作过。因此,我一直在寻找一种可以通过我的自由软件工作赚钱的方式,因此我开始了一项自由软件业务。我宣布:“给我寄 150 美元,我就会给你寄一盘 Emacs 磁带。”订单开始零星地出现。到年中,它们开始涓涓细流。

我每个月收到 8 到 10 个订单。如果有必要,我本可以靠它生活,因为我一直生活得很俭朴。我基本上像个学生一样生活。我喜欢这样,因为它意味着金钱不会告诉我该做什么。我可以做我认为对我来说重要的事情。它让我可以自由地去做我认为值得做的事情。因此,要真正努力避免陷入典型的美国人所有昂贵的生活习惯。因为如果你那样做了,那么有钱人就会支配你用自己的生命做什么。你将无法做对你真正重要的事情。

因此,这很好,但是人们过去常常问我,“如果它要 150 美元,你说的自由软件是什么意思?”[笑声] 好吧,他们问这个问题的原因是他们被英语单词“free”的多种含义搞糊涂了。一个含义是指价格,另一个含义是指自由。当我谈到自由软件时,我指的是自由,而不是价格。所以要想到言论自由,而不是免费啤酒。[笑声] 现在,我不会花那么多年的时间来确保程序员赚更少的钱。那不是我的目标。我是一名程序员,我不介意自己赚钱。我不会把我的全部生命都奉献给它,但我并不介意赚钱。我不是——因此,道德对每个人都是一样的。我也不反对其他程序员赚钱。我不希望价格低。这根本不是问题。问题是自由。对于每个使用软件的人来说,无论是程序员还是非程序员,都有自由。

所以,在这一点上,我应该给你们自由软件的定义。我最好讲一些真正的细节,因为仅仅说“我相信自由”是空洞的。你可以相信很多不同的自由,而且它们相互冲突,因此真正的政治问题是:哪些是重要的自由,我们必须确保每个人都拥有的自由?

现在,我将对使用软件这个特定领域的问题给出我的答案。如果一个特定的用户拥有以下自由,那么一个程序对他来说就是自由软件

  • 首先,自由零是出于任何目的,以你喜欢的任何方式运行该程序的自由。
  • 自由一是通过更改程序以满足你的需求来帮助自己的自由。
  • 自由二是分发该程序的副本以帮助你的邻居的自由。
  • 自由三是通过发布改进的版本来帮助建设你的社区,以便其他人可以从你的工作中受益的自由。

如果你拥有所有这些自由,那么该程序对你来说就是自由软件——这至关重要。这就是我这样表达的原因。稍后当我谈到 GNU 通用公共许可证时,我将解释原因,但现在我正在解释自由软件的含义,这是一个更基本的问题。

所以,自由零非常明显。如果你甚至不允许以你喜欢的任何方式运行该程序,那么这是一个非常具有限制性的程序。但是,实际上,大多数程序至少会给你自由零。而自由零在法律上是自由一、二和三的结果——这就是版权法的工作方式。因此,将自由软件与典型软件区分开来的自由是自由一、二和三,因此我将更多地谈论它们以及它们为什么重要。

自由一是通过更改软件以满足你的需求来帮助自己的自由。这可能意味着修复错误。这可能意味着添加新功能。这可能意味着将其移植到不同的计算机系统。这可能意味着将所有错误消息翻译成纳瓦霍语。你想做的任何更改,你都应该可以自由地进行。

现在,很明显,专业的程序员可以非常有效地利用这种自由,但不仅是他们。任何有合理智力的人都可以学习一点编程。你知道,有困难的工作,也有简单的工作,大多数人不会学到足以做困难工作的程度。但是很多人可以学到足以做简单工作的程度,就像,你知道,50 年前,许多美国男性学会了修理汽车,这使得美国在第二次世界大战中拥有一支机动化军队并获胜。因此,让许多人进行修补是非常重要的。

如果你是一个喜欢与人交往的人,并且真的不想学习任何技术,那可能意味着你有很多朋友,而且你很擅长让他们欠你人情。[笑声] 他们中可能有些人是程序员。所以你可以问你的一个程序员朋友:“你能不能帮我改一下这个?添加这个功能?” 这样,很多人都能从中受益。

现在,如果你没有这种自由,会对社会造成实际的、物质的损害。它会让你成为软件的囚徒。我解释过激光打印机的情况,它对我们来说效果很差,而且我们无法修复,因为我们是软件的囚徒。

但它也会影响人们的士气。你知道,如果电脑用起来总是让人沮丧,而且人们一直在使用它,他们的生活就会变得令人沮丧,如果他们在工作中使用它,他们的工作就会变得令人沮丧,他们会讨厌他们的工作。而且你知道,人们为了保护自己不受挫折,会选择不在乎。所以,你最终会看到一些人的态度是:“好吧,我今天上班了。我只需要做到这一点。如果我无法取得进展,那不是我的问题;那是老板的问题。” 当这种情况发生时,对这些人不利,对整个社会也不利。这就是自由一,帮助你自己的自由。

自由二是通过分发程序的副本帮助你的邻居的自由。对于能够思考和学习的生物来说,分享有用的知识是友谊的基本行为。当这些生物使用电脑时,这种友谊的行为就采取了分享软件的形式。朋友之间互相分享。朋友之间互相帮助。这就是友谊的本质。事实上,这种善意——自愿帮助邻居的精神——是社会最重要的资源。它决定了一个社会是适宜居住的还是一个弱肉强食的丛林。它的重要性已经被世界主要宗教承认了几千年,他们明确地试图鼓励这种态度。

当我上幼儿园时,老师们试图通过让我们这样做来教导我们这种态度——分享的精神。他们认为如果我们这样做,我们就会学会。所以他们说:“如果你带糖果来学校,你不能全部留给自己;你必须和其他孩子分享一些。” 社会的建立是为了教导我们这种合作精神。为什么要这样做呢?因为人们并不是完全合作的。那是人性的一部分,还有其他的人性部分。人性有很多部分。所以,如果你想要一个更好的社会,你必须努力鼓励分享的精神。你知道,它永远不会达到100%。这是可以理解的。人们也必须照顾好自己。但是如果我们让它变得稍微大一些,我们都会变得更好。

现在,根据美国政府的说法,老师们应该做完全相反的事情。“哦,约翰尼,你把软件带到学校了。好吧,别分享它。哦,不。分享是错误的。分享意味着你是一个海盗。”

当他们说“海盗”时,他们是什么意思?他们说帮助你的邻居在道德上等同于攻击一艘船。[笑声]

佛陀或耶稣会怎么说呢?现在,想想你最喜欢的宗教领袖。我不知道,也许曼森会说些不同的。[笑声] 谁知道L. 罗恩·哈伯德会说什么呢?但是……

问题[听不清]

斯托曼:当然,他死了。但他们不承认这一点。什么?

问题:其他人也死了。[笑声] [听不清] 查尔斯·曼森也死了。[笑声] 他们都死了,耶稣死了,佛陀死了……

斯托曼:是的,这是真的。[笑声] 所以我想,在这方面,L. 罗恩·哈伯德并不比其他人更糟。[笑声] 总之——[听不清]

问题:L. 罗恩总是使用自由软件——它让他从赞努中解放出来。[笑声]

斯托曼:总之,我认为这实际上是软件应该自由的最重要的原因:我们不能容忍污染社会最重要的资源。的确,它不是像清洁的空气和清洁的水那样的物质资源。它是一种心理社会资源,但它也同样真实,而且它对我们的生活产生了巨大的影响。你看,我们采取的行动会影响其他人的想法。当我们到处告诉人们“不要互相分享”时,如果他们听我们的话,我们就会对社会产生影响,而且这不是一个好的影响。这就是自由二,帮助你邻居的自由。

哦,顺便说一句,如果你没有这种自由,它不仅会对社会的心理社会资源造成损害,还会造成浪费——实际的、物质的损害。如果程序有一个所有者,并且所有者安排了一种每个用户都必须付费才能使用的状态,那么有些人会说:“算了,我不用了。” 那就是浪费,故意造成的浪费。当然,关于软件有趣的是,较少的用户并不意味着你必须制造较少的东西。你知道,如果购买汽车的人减少了,你可以制造更少的汽车。这是一种节省。有一些资源可以分配,或者不分配,用于制造汽车。因此,你可以说给汽车定价是一件好事。它可以防止人们将大量浪费的资源转移到制造那些并不真正需要的汽车上。但是,如果每增加一辆汽车都不需要资源,那么节省制造这些汽车就不会有任何好处。当然,对于像汽车这样的物理物体来说,制造一个额外的汽车总是需要资源的,每个额外的例子都是如此。

但是对于软件来说,情况并非如此。任何人都可以制作另一个副本。而且这样做几乎是微不足道的。它不需要任何资源,除了一点点电力。因此,我们没有什么可以节省的,也没有任何资源可以通过对软件的使用施加这种经济上的抑制来更好地分配。你经常会发现人们根据不适用于软件的前提,采取经济推理的后果,并试图将它们从其他可能适用这些前提的生活领域移植过来,并且结论可能是有效的。他们只是接受这些结论,并假设它们对软件也是有效的,而论证在软件的情况下是毫无根据的。这些前提在这种情况下不起作用。检查你如何得出结论,以及它依赖于什么前提,以了解它可能在哪里有效,是非常重要的。所以,这就是自由二,帮助你邻居的自由。

自由三是通过发布软件的改进版本来帮助构建你的社区的自由。人们过去常常对我说:“如果软件是自由的,那么就没有人会得到报酬来开发它,那么为什么有人会开发它呢?” 当然,他们混淆了自由的两种含义,所以他们的推理是基于误解的。但无论如何,这是他们的理论。今天,我们可以将该理论与经验事实进行比较,我们发现有数百人因编写自由软件而获得报酬,并且有超过10万人作为志愿者这样做。我们有很多人出于各种不同的动机开发自由软件。

当我第一次发布 GNU Emacs 时——人们真正想要使用的 GNU 系统的第一部分——当它开始有用户时,过了一段时间,我收到一条消息说:“我想我在源代码中发现了一个错误,这是修复方法。” 我又收到一条消息说:“这是添加新功能的代码。” 还有一个错误修复。还有一个新功能。还有另一个,又一个,又一个,直到它们像潮水般涌来,仅仅是利用我得到的所有这些帮助就已经是一项艰巨的工作了。微软没有这个问题。[笑声]

最终,人们注意到了这种现象。你看,在 1980 年代,我们很多人认为,也许自由软件不会像非自由软件那么好,因为我们没有那么多钱来付给人们。当然,像我这样重视自由和社区的人说:“好吧,我们还是会使用自由软件。” 为了拥有自由,在一些微不足道的技术便利方面做出一点牺牲是值得的。但是,人们在 1990 年左右开始注意到,我们的软件实际上更好。它比专有替代品更强大、更可靠。

在 90 年代初,有人找到了一种对软件的可靠性进行科学测量的方法。他是这样做的。他选取了几组在不同系统中执行相同工作的可比程序——完全相同的工作。因为有一些基本的类 Unix 实用程序。它们所做的工作,我们知道,或多或少都在模仿同一件事,或者它们遵循 POSIX 规范,因此它们在所做的工作方面都是相同的,但它们是由不同的人维护的,单独编写的。代码是不同的。所以他们说,好吧,我们将这些程序用随机数据运行,并测量它们崩溃或挂起的频率。所以他们测量了一下,最可靠的程序集是 GNU 程序。所有作为专有软件的商业替代品都 менее可靠。所以他公布了这一点,并告诉了所有开发人员,几年后,他对最新版本做了同样的实验,他得到了相同的结果。GNU 版本是最可靠的。人们——你知道,有些癌症诊所和 911 中心都在使用 GNU 系统,因为它非常可靠,而可靠性对他们来说非常重要。

无论如何,甚至有一群人将这个特定的好处作为他们给出的理由,他们给出的主要理由,为什么应该允许用户做这些各种各样的事情,并拥有这些自由。如果你一直在听我讲话,你就会注意到,你会发现,我,代表自由软件运动,我谈论的是伦理问题,以及我们希望生活在什么样的社会中,什么才能构成一个好的社会,以及实际的、物质的好处。这两者都很重要。这就是自由软件运动。

另一群人——被称为开源运动——他们只引用实际的好处。他们否认这是一个原则问题。他们否认人们有权与邻居分享,并查看程序的运行情况,并在不喜欢时更改它。然而,他们说,让人们这样做是一件有用的事情。因此,他们去公司,对他们说:“你知道吗,如果你让人们这样做,你可能会赚更多的钱。” 因此,你可以看到,在某种程度上,他们引导人们朝着相似的方向前进,但却是出于完全不同、根本不同的哲学原因。

因为在所有最深层的问题上,你知道,在伦理问题上,这两个运动存在分歧。你知道,在自由软件运动中,我们说:“你有权享有这些自由。人们不应该阻止你做这些事情。” 在开源运动中,他们说:“是的,如果他们愿意,他们可以阻止你,但我们会尽力说服他们勉强允许你做这些事情。” 嗯,他们做出了贡献——他们说服了一些企业在我们的社区中发布了大量的自由软件。因此,他们,开源运动,为我们的社区做出了重大贡献。因此,我们在实际项目上共同努力。但是,在哲学上,存在着巨大的分歧。

不幸的是,开源运动是获得商业支持最多的运动,因此大多数关于我们工作的文章都将其描述为开源,而且很多人只是天真地认为我们都是开源运动的一部分。这就是我提到这种区别的原因。我希望你们意识到,将我们的社区带入现实并开发了自由操作系统的自由软件运动仍然存在——而且我们仍然坚持这种伦理哲学。我希望你们了解这一点,这样你们就不会在不知不觉中误导他人。

而且,这样你们也可以思考自己的立场。

你知道,你支持哪个运动取决于你自己。你可能同意自由软件运动和我的观点。你可能同意开源运动。你可能不同意两者。你来决定你在这些政治问题上的立场。

但是,如果你同意自由软件运动——如果你看到这里存在一个问题,即那些生活被这个决定控制和指导的人应该有发言权——那么我希望你会说你同意自由软件运动,你可以做到这一点的一种方法是使用“自由软件”这个术语,并帮助人们知道我们的存在。

因此,自由三在实践上和心理社会上都非常重要。如果你没有这种自由,就会造成实际的物质损害,因为社区发展不会发生,我们就无法开发出强大、可靠的软件。但这也会造成心理社会的伤害,影响科学合作的精神——我们正在共同努力推进人类知识的理念。你看,科学的进步关键取决于人们能否共同努力。而如今,你经常发现每个小科学家团体都像是在与另一群科学家和工程师进行战争。如果他们不互相分享,他们都会被拖后腿。

因此,这些是区分自由软件和典型软件的三个自由。自由一是帮助自己的自由,进行更改以满足自己的需求。自由二是帮助邻居的自由,通过分发副本。自由三是通过进行更改并将其发布给其他人使用来帮助建立你的社区的自由。如果你拥有所有这些自由,那么该程序对你来说就是自由软件。现在,我为什么要从特定用户的角度来定义它?它对你来说是自由软件吗?[指向观众席中的一人。]它对你来说是自由软件吗?[指向观众席中的另一人。]它对你来说是自由软件吗?[指向观众席中的另一人。]是吗?

问题:你能稍微解释一下自由二和自由三之间的区别吗?[听不清]

斯托曼:嗯,它们当然有联系,因为如果你根本没有再分发的自由,你肯定没有分发修改版本的自由,但它们是不同的活动。

问题:哦。

斯托曼:自由二是,你知道,读取它,你制作一个完全相同的副本,并将其交给你的朋友,这样你的朋友现在就可以使用它了。或者,也许你制作完全相同的副本并将其出售给一群人,然后他们就可以使用它了。

自由三是你进行改进的地方——或者至少你认为它们是改进,并且其他人可能会同意你的观点。这就是区别。哦,顺便说一句,一个关键点。自由一和自由三取决于你能否访问源代码。因为更改一个只有二进制文件的程序非常困难。[笑声]即使是很小的更改,例如使用四位数字表示日期,[笑声]如果你没有源代码。因此,出于令人信服的实际原因,访问源代码是自由软件的前提条件,也是一项要求。

因此,我为什么要根据它对来说是否是自由软件来定义它?原因是,有时同一个程序对某些人来说可能是自由软件,而对另一些人来说则不是。现在,这看起来可能是一种自相矛盾的情况,所以让我举一个例子来告诉你它是如何发生的。这个问题的一个非常大的例子——也许是有史以来最大的例子——是 X 窗口系统,它是在麻省理工学院开发的,并根据使其成为自由软件的许可证发布。如果你获得了带有麻省理工学院许可证的麻省理工学院版本,你将拥有自由一、自由二和自由三。它对你来说是自由软件。但是在获得副本的人中,有各种分发 Unix 系统的计算机制造商,他们对 X 进行了必要的更改,以在其系统上运行。你知道,可能只是 X 的数十万行代码中的几千行。然后,他们对其进行了编译,并将二进制文件放入其 Unix 系统中,并根据与 Unix 系统其余部分相同的保密协议分发。然后,数百万人获得了这些副本。他们拥有 X 窗口系统,但他们没有这些自由。对他们来说,它不是自由软件。

因此,矛盾之处在于,X 是否是自由软件取决于你进行测量的地方。如果你在开发人员小组中进行测量,你会说:“我观察到所有这些自由。它是自由软件。” 如果你在用户中进行测量,你会说:“嗯,大多数用户没有这些自由。它不是自由软件。” 嗯,开发 X 的人并不认为这是一个问题,因为他们的目标只是受欢迎、自负,本质上是这样。他们想要获得巨大的职业成功。他们想感觉,“啊,很多人都在使用我们的软件。” 这是真的。很多人都在使用他们的软件,但没有自由。

嗯,在 GNU 项目中,如果同样的事情发生在 GNU 软件上,那将是一个失败,因为我们的目标不仅仅是受欢迎;我们的目标是给予人们自由,并鼓励合作,允许人们合作。请记住,永远不要强迫任何人与任何人合作,但要确保每个人都可以合作,每个人都有这样做的自由,如果他或她愿意的话。如果数百万人运行 GNU 的非自由版本,那根本就不是成功。整个事情将被扭曲成与目标完全不同的东西。

因此,我寻找一种阻止这种情况发生的方法。我想出的方法叫做“反版权”。它之所以被称为反版权,是因为它有点像拿版权并将其翻转过来。[笑声]在法律上,反版权基于版权运作。我们使用现有的版权法,但我们使用它来实现非常不同的目标。我们这样做。我们说:“这个程序已获得版权。” 而且,当然,默认情况下,这意味着禁止复制、分发或修改它。但随后我们说:“您有权分发此副本。您有权修改它。您有权分发修改后的版本和扩展版本。您可以随意更改它。”

但是有一个条件。当然,这个条件是我们费尽周折的原因,以便我们能够加入这个条件。条件说:无论何时你分发任何包含此程序任何部分的内容,整个程序都必须在相同的条款下分发,不多也不少。因此,你可以更改程序并分发修改后的版本,但是当你这样做时,从你那里获得该版本的人必须获得你从我们那里获得的相同自由。而且不仅是其中的一部分——你从我们的程序中复制的摘录——而且还包括他们从你那里获得的该程序的其他部分。整个程序都必须对他们来说是自由软件。

更改和再分发此程序的自由成为不可剥夺的权利——来自《独立宣言》的概念。我们确保不能从你那里夺走的权利。而且,当然,体现反版权理念的具体许可证是 GNU 通用公共许可证,这是一个有争议的许可证,因为它实际上有力量对那些会寄生于我们社区的人说不。

有很多人不欣赏自由的理想。他们很乐意利用我们所做的工作,并利用它来抢先分发非自由程序,并诱使人们放弃他们的自由。结果将是——你知道,如果我们让人们这样做——我们将开发这些自由程序,并且我们将不得不不断地与我们自己的程序的改进版本竞争。这不好玩。

而且,很多人也觉得——你知道,我愿意志愿贡献我的时间给社区,但是为什么我要志愿贡献我的时间给这家公司,以改进这家公司的专有程序?你知道,有些人甚至可能不认为这是邪恶的,但如果他们要这样做,他们希望获得报酬。我个人宁愿根本不做。

但是这两组人——既有像我这样说“我不想帮助那个非自由程序在我们的社区中站稳脚跟”的人,也有说“当然,我会为他们工作,但那样他们最好付钱给我”的人——我们都有充分的理由使用 GNU 通用公共许可证。因为这对公司说:“你不能只是拿走我的作品,然后在没有自由的情况下分发它。” 而非反版权的许可证,例如 X 窗口许可证,确实允许这样做。

这就是两种自由软件在许可证方面的巨大区别。一类是具有版权保护的(copylefted)程序,其许可证保护每个用户软件的自由。另一类是非版权保护的程序,允许存在非自由版本。其他人可以拿走这些程序并剥夺其自由。您可能会获得该程序的非自由版本。

今天仍然存在这个问题。我们的自由操作系统上仍然在使用非自由版本的 X Windows。甚至有一些硬件——实际上不受支持——除非使用非自由版本的 X Windows。这是我们社区的一个主要问题。尽管如此,我不会说 X Windows 是一个坏东西。我想说的是,开发人员没有做到他们本可以做到的最好。但他们确实发布了大量我们可以使用的软件。

你知道,不完美和邪恶之间有很大的区别。好与坏之间有很多等级。我们必须抵制这种诱惑,即如果一个人没有做到绝对最好,那么他就不好。你知道,开发 X Windows 的人对我们的社区做出了巨大的贡献。但他们本可以做得更好。他们本可以对程序的部分进行版权保护,并阻止他人分发那些剥夺自由的版本。

现在,GNU 通用公共许可证(GNU General Public License)使用版权法来保护你的自由,这当然是微软今天攻击它的原因。你看,微软真的希望能够拿走我们编写的所有代码,并将其放入专有程序中,让别人进行一些改进,或者哪怕只是进行不兼容的更改,这就足够了。[笑声]

你知道,凭借微软的市场影响力,他们不需要做得更好就可以让他们的版本取代我们的版本。他们只需要使其不同且不兼容。然后,将其安装在每个人的桌面上。所以他们真的不喜欢 GNU GPL。因为 GNU GPL 不允许他们这样做。它不允许“拥抱并扩展”。它说,如果你想在你的程序中分享我们的代码,你可以。但是,你必须分享并共同分享。你所做的更改我们必须被允许分享。所以,这是双向合作,才是真正的合作。

许多公司——甚至是像 IBM 和 HP 这样的大公司都愿意在此基础上使用我们的软件。IBM 和 HP 为 GNU 软件贡献了大量的改进。他们也开发了其他自由软件。但是,微软不想这样做,所以他们散布谣言说企业无法处理 GPL。好吧,如果企业不包括 IBM、HP 和 SUN,那么他们可能是对的。[笑声] 稍后会详细介绍。

我应该结束这个历史故事。你看,我们在 1984 年开始行动,不仅是为了编写一些自由软件,而是为了做更连贯的事情:开发一个完全是自由软件的操作系统。这意味着我们必须一个接一个地编写代码。当然,我们一直在寻找捷径。这项工作太大了,以至于人们说我们永远无法完成。我当时认为至少有机会完成它,但显然,寻找捷径是值得的。所以我们一直在寻找。有没有别人写好的程序我们可以设法改编,插入到这里,这样我们就不用从头开始编写?例如,X 窗口系统。它确实没有版权保护,但它是自由软件,所以我们可以使用它。

实际上,我从一开始就想在 GNU 中放入一个窗口系统。在开始 GNU 之前,我在麻省理工学院编写了几个窗口系统。因此,尽管 Unix 在 1984 年没有窗口系统,但我决定 GNU 将会有一个。但是,我们最终没有编写 GNU 窗口系统,因为 X 出现了。我说,太好了!我们不用做一项重要的工作了。我们将使用 X。所以我基本上说,让我们拿 X,把它放到 GNU 系统中。我们将使 GNU 的其他部分,在适当的时候,与 X 一起工作。我们还找到了其他人编写的其他软件,例如文本格式化程序 TeX,来自伯克利的一些库代码。当时有伯克利 Unix,但它不是自由软件。这个库代码最初来自伯克利的另一个小组,他们研究浮点数。所以,我们一直在调整这些部分。

1985 年 10 月,我们成立了自由软件基金会。请注意,GNU 项目在前。自由软件基金会是在项目宣布后近两年成立的。自由软件基金会是一个免税慈善机构,它筹集资金以促进分享和更改软件的自由。在 1980 年代,我们用我们的资金做的主要事情之一是聘请人们编写 GNU 的各个部分。像 shell 和 C 库这样的基本程序就是这样编写的,以及其他程序的部分。tar 程序,虽然一点也不令人兴奋,但是绝对必不可少的[笑声],就是这样编写的。我相信 GNU grep 也是这样编写的。所以,我们正在接近我们的目标。

到 1991 年,只缺少一个主要部分,那就是内核。现在,我为什么推迟内核的开发?可能是因为它实际上并不重要你先做哪件事,至少在技术上是这样。你反正必须把它们都做完。部分原因是,我希望我们能够在其他地方找到一个内核的起点。我们找到了。我们找到了在卡内基梅隆大学开发的 Mach。它不是整个内核;它是内核的下半部分。所以我们必须编写上半部分,但我认为,诸如文件系统、网络代码等等。但是在 Mach 之上运行,它们基本上作为用户程序运行,这应该使它们更容易调试。你可以使用真正的源代码级调试器同时进行调试。所以,我认为我们能够很快完成内核的这些较高级的部分。结果并非如此。这些异步的、多线程的进程,互相发送消息,被证明很难调试。而且我们用来引导的基于 Mach 的系统有一个糟糕的调试环境,而且它不可靠,还有各种问题。我们花了多年时间才使 GNU 内核正常工作。

但是,幸运的是,我们的社区不必等待 GNU 内核。因为在 1991 年,Linus Torvalds 开发了另一个名为 Linux 的自由内核。他使用了老式的单内核设计,结果证明他的工作速度比我们快得多。所以这可能是我犯的错误之一:那个设计决策。无论如何,起初,我们不知道 Linux,因为他从未联系我们讨论这件事。尽管他确实了解 GNU 项目。但他向网络上的其他人和其他地方宣布了它。所以其他人然后做了将 Linux 与 GNU 系统的其余部分组合起来以创建一个完整的自由操作系统的工作。本质上,就是创建 GNU 加 Linux 的组合。

但是,他们没有意识到他们在做什么。你看,他们说,我们有一个内核——让我们看看我们还能找到什么其他部分来与内核组合。所以,他们四处寻找——结果,他们需要的一切都已经可用了。他们说,这是多么幸运啊。[笑声] 一切都在这里。我们可以找到我们需要的一切。让我们把所有这些不同的东西放在一起,组成一个系统。

他们不知道他们找到的大部分东西都是 GNU 系统的组成部分。所以他们没有意识到他们是在将 Linux 放入 GNU 系统中的缺口。他们以为他们正在使用 Linux 并创建一个基于 Linux 的系统。所以他们称之为 Linux 系统。

问题[听不清]

STALLMAN:听不到你说什么——什么?

问题[听不清]

STALLMAN:嗯,它只是不——你知道,它是地方性的。

问题:但这比找到 X 和 Mach 更幸运吗?

STALLMAN:没错。区别在于,开发 X 和 Mach 的人没有创建一个完整的自由操作系统的目标。只有我们有这个目标。而且,正是我们巨大的努力使这个系统存在。我们实际上完成了系统中比其他任何项目都大的部分。这不是巧合,因为那些人——他们编写了系统中很有用的部分。但他们这样做不是因为他们希望系统完成。他们有其他原因。

现在,开发 X 的人——他们认为设计一个跨网络窗口系统会是一个好项目,而且它确实如此。事实证明,它帮助我们创建了一个良好的自由操作系统。但这并不是他们所期望的。他们甚至没有考虑过这一点。这是一个意外。一个意外的好处。现在,我不是说他们所做的事情不好。他们做了一个大型的自由软件项目。这是一件好事。但他们没有那种最终的愿景。GNU 项目就是这个愿景所在。

所以,我们是那些——每一个没有被其他人完成的小部分,都是我们完成的。因为我们知道,没有它我们就无法拥有一个完整的系统。即使它完全枯燥乏味,毫无浪漫色彩,比如 tarmv[笑声] 我们也做了。或者 ld,你知道 ld 没什么让人兴奋的——但我写了一个。[笑声] 我努力使它的磁盘 I/O 最小化,以便它更快地处理更大的程序。但是,你知道,我喜欢把工作做好。我喜欢在做程序的同时改进它的各个方面。但我做这件事的原因不是因为我有了改进 ld 的绝妙想法。我做这件事的原因是我们需要一个自由的 ld。我们不能指望别人来做这件事。所以,我们必须自己做,或者找人来做。

所以,尽管在这一点上,成千上万的人在各个项目中为这个系统做出了贡献,但有一个项目是这个系统存在的原因,那就是 GNU 项目。它基本上就是 GNU 系统,之后又添加了其他东西。

然而,将该系统称为 Linux 的做法对 GNU 项目是一个巨大的打击,因为我们通常不会因为我们所做的事情而得到认可。我认为 Linux 内核是一个非常有用的自由软件,我只能说它的好话。嗯,实际上,我也可以找到一些关于它的坏话。[笑声] 但是,基本上,我对它有很好的评价。然而,将 GNU 系统称为 Linux 只是一种错误。我希望你付出一点小小的努力,将该系统称为 GNU/Linux,这样可以帮助我们获得一部分认可。

问题:你需要一个吉祥物!给自己买一个毛绒玩具![笑声]

STALLMAN:我们有一个。

问题:真的吗?

STALLMAN:我们有一个动物——一个 GNU 羚羊。[笑声] 总之。是的,当你画企鹅的时候,在旁边画一个 GNU 羚羊。[笑声] 但是,让我们把问题留到最后。我还有更多要讲的。

那么,我为什么如此关心这个问题?你知道,为什么我认为值得麻烦你,也许会降低你对我的评价,[笑声] 来提出这个认可问题?因为,你知道,有些人当我这样做时,有些人认为这是因为我想满足我的自我,对吧?当然,我不是说——我不是要求你们称它为“Stallmanix”,对吧?[笑声] [掌声]

我请求你们称之为 GNU,因为我希望 GNU 项目获得应有的荣誉。并且,这有一个非常具体的原因,这个原因比任何人获得荣誉本身都重要得多。你看,如今,如果你在我们社区里看看,大多数谈论它和撰写它的人都不会提及 GNU,他们也从未提及自由的目标——这些政治和社会理想。因为他们所使用的一切都来自 GNU。

与 Linux 相关的理念——其哲学非常不同。它基本上是 Linus Torvalds 的非政治哲学。因此,当人们认为整个系统都是 Linux 时,他们倾向于认为:“哦,这一定是 Linus Torvalds 发起的。他的哲学一定是我们需要仔细研究的。” 当他们听到 GNU 的哲学时,他们会说:“哇,这太理想化了,这一定非常不切实际。我是 Linux 用户,不是 GNU 用户。” [笑声]

多么讽刺啊!如果他们知道就好了!如果他们知道他们喜欢的系统——或者在某些情况下,他们热爱并为之疯狂的系统——正是我们理想主义的政治哲学所实现的现实。

他们仍然不必同意我们。但至少他们会看到一个认真对待它、仔细思考它、给它一个机会的理由。他们会看到它与他们生活的联系。你知道,如果他们意识到,“我正在使用 GNU 系统。这是 GNU 的哲学。这个哲学是为什么我非常喜欢的这个系统存在的原因”,他们至少会以更开放的心态来考虑它。这并不意味着每个人都会同意。人们有不同的想法。这没关系。你知道,人们应该自己做决定。但我希望这个哲学能因其所取得的成果而获得应有的荣誉。

如果你在我们社区里看看,你会发现几乎所有地方的机构都称这个系统为 Linux。你知道,记者大多称它为 Linux。这不对,但他们就是这么做的。那些打包系统的公司大多也这么说。哦,而且这些记者在撰写文章时,通常不会将其视为政治问题或社会问题。他们通常只是将其视为纯粹的商业问题,或者哪些公司会更成功,这实际上对社会来说是一个相当次要的问题。而且,如果你看看那些为人们打包 GNU/Linux 系统使用的公司,嗯,他们大多数都称之为 Linux。而且他们会在其中添加非自由软件。

你看,GNU GPL 规定,如果你从一个受 GPL 保护的程序中提取一些代码,并添加一些代码来创建一个更大的程序,那么整个程序都必须在 GPL 下发布。但是你可以将其他独立的程序放在同一个磁盘(无论是硬盘还是 CD)上,它们可以有其他许可证。这被认为是单纯的聚合,并且,基本上,同时向某人分发两个程序不是我们有权干涉的事情。因此,事实上,如果一家公司在一个产品中使用了一个受 GPL 保护的程序,那么整个产品都必须是自由软件,这是不真实的——有时我希望它是真实的——它没有达到那个范围——那个范围。它指的是整个程序。如果有两个独立的程序以一定距离相互通信——例如通过互相发送消息——那么,它们在法律上通常是独立的。因此,这些公司通过向系统中添加非自由软件,在哲学上和政治上,给了用户一个非常糟糕的想法。他们告诉用户,“使用非自由软件是可以的。我们甚至把它作为奖励放进去。”

如果你看看关于使用 GNU/Linux 系统的杂志,大多数的标题都像是“Linux-什么的”。因此他们大多时候称这个系统为 Linux。而且它们充满了你可以在 GNU/Linux 系统之上运行的非自由软件的广告。现在,这些广告有一个共同的信息。他们说:非自由软件对你有好处。它好到你甚至可能会付费去获取它。 [笑声]

他们称这些东西为“增值软件包”,这表达了他们的价值观。他们说:看重实际的便利性,而不是自由。而且,我不同意这些价值观,所以我称它们为“自由减值软件包”。 [笑声] 因为如果你已经安装了一个自由操作系统,那么你现在就生活在自由的世界中。你享受着我们多年来努力为你带来的自由的好处。那些软件包让你有机会戴上枷锁。

然后,如果你看看关于使用 GNU/Linux 系统的、专注于使用 GNU/Linux 系统的贸易展,它们都称自己为“Linux”展会。而且它们都充满了展示非自由软件的展位,这实际上是对非自由软件的认可。因此,几乎你在我们社区中看到的任何地方,机构都在认可非自由软件,完全否定了 GNU 为之开发的自由理念。而且,人们唯一可能接触到自由理念的地方是与 GNU 以及自由软件这个术语联系在一起的。这就是我请求你们的原因:请称这个系统为 GNU/Linux。请让人们意识到这个系统来自哪里以及为什么。

当然,仅仅使用这个名称,你不会对历史做出解释。你可以多打四个字符并写上 GNU/Linux;你可以多说两个音节。但是,GNU/Linux 比 Windows 2000 的音节少。 [笑声] 但是,你没有告诉他们很多,但是你在为他们做准备,这样当他们听到关于 GNU 以及它的全部内容时,他们会看到这与他们以及他们的生活是如何联系起来的。而且,间接地,这会产生巨大的差异。所以请帮助我们。

你会注意到,微软称 GPL 为“开源许可证”。他们不希望人们将自由作为问题来考虑。你会发现,他们会引导人们以狭隘的方式,作为消费者来思考,而且,如果他们选择微软产品,他们甚至不会作为消费者进行非常理性的思考。但他们不希望人们以公民或政治家的身份思考。这对他们不利。至少这对他们当前的商业模式不利。

现在,自由软件如何……好吧,我可以告诉你自由软件与我们社会的关系。一个可能对你们中的一些人感兴趣的次要主题是自由软件与商业的关系。事实上,自由软件对商业非常有用。毕竟,发达国家的大多数企业都在使用软件。只有极少数的企业开发软件。

自由软件对任何使用软件的公司都非常有利,因为它意味着你可以掌控一切。基本上,自由软件意味着用户可以掌控程序的功能。无论是个人(如果他们足够关心),还是集体(当他们足够关心时)。任何足够关心的人都可以施加一些影响。如果你不关心,你就不会购买。那么你就使用其他人喜欢的东西。但是,如果你关心,那么你就有一些发言权。对于专有软件,你基本上没有发言权。

使用自由软件,你可以改变你想要改变的东西。而且,你的公司里没有程序员也没有关系;这没问题。你知道,如果你想移动你大楼里的墙壁,你不需要是一家木工公司。你只需要能够找到一个木匠并说,“你做这项工作要收多少钱?” 如果你想改变你使用的软件,你不需要是一家编程公司。你只需要去找一家编程公司,然后说,“实现这些功能你要收多少钱?你什么时候能完成?”如果他们不做这项工作,你可以去找其他人。

有一个自由的支撑市场。因此,任何关心支撑的企业都会发现自由软件具有巨大的优势。对于专有软件,支撑是一种垄断,因为一家公司拥有源代码,或者可能一小部分支付了巨额资金的公司拥有源代码(如果是微软的共享源代码计划),但数量很少。因此,你可以获得的支撑来源非常有限。这意味着,除非你是真正的巨头,否则他们不会关心你。你的公司不够重要,不足以让他们关心是否会失去你的业务,或者会发生什么。一旦你开始使用该程序,他们就会认为你被锁定在从他们那里获得支撑,因为切换到不同的程序是一项巨大的工作。因此,你最终会为报告错误而付费。 [笑声] 而且一旦你付了钱,他们会告诉你,“好的,我们已经记录了你的错误报告。在几个月后,你可以购买升级,你可以看看我们是否修复了它。” [笑声]

自由软件的支撑提供商无法逃脱这种做法。他们必须取悦客户。当然,你可以免费获得很多好的支撑。你把你的问题发布到互联网上。你可能会在第二天得到答案。但这当然不能保证。如果你想有信心,你最好与一家公司达成协议并付费。这当然是自由软件业务运作的方式之一。

自由软件对使用软件的企业来说的另一个优势是安全性和隐私性。这也适用于个人,但我是在企业的背景下提出的。你看,当一个程序是专有时,你甚至无法知道它真正做了什么。

它可能具有故意添加的功能,如果你知道这些功能你可能会不喜欢,例如它可能有一个后门让开发者进入你的机器。它可能会窥探你所做的事情并将信息发送回去。这并不罕见。一些微软的软件就做过这样的事。但这不仅仅是微软。还有其他专有程序会窥探用户。而且你甚至无法知道它是否会这样做。当然,即使假设开发者完全诚实,每个程序员都会犯错。可能存在影响你安全的错误,这并不是任何人的错。但关键是:如果它不是自由软件,你就无法找到它们。而且你无法修复它们。

没有人有时间去检查他运行的每个程序的源代码。你不会那样做。但是有了自由软件,就有一个庞大的社区,而且社区里有人在检查。你会受益于他们的检查,因为如果任何程序中,时不时地,确实有意外的错误,他们可能会发现并修复它。如果人们认为他们可能会被抓住,他们就更不可能故意放入木马程序或窥探功能。专有软件开发人员认为他们不会被抓住。他们会逃脱,不被发现。但是自由软件开发人员必须考虑到人们会查看它,并且会看到它的存在。所以,在我们的社区里,我们觉得我们不能把用户不喜欢的特性强加给用户。因此我们知道,如果用户不喜欢它,他们会创建一个不包含此特性的修改版本。然后,他们都会开始使用那个版本。

事实上,我们都可以充分推理,我们可以提前足够多步骤地弄清楚这一点,我们可能就不会加入那个特性。毕竟,你正在编写一个自由程序;你希望人们喜欢你的版本;你不想加入一个你知道很多人都会讨厌的东西,并且让另一个修改版本取代你的版本流行起来。所以你只需要意识到,在自由软件的世界里,用户是至高无上的。在专有软件的世界里,客户不是至高无上的。因为你只是一个客户。你对你使用的软件没有发言权。

在这方面,自由软件是民主运作的一种新机制。现在在斯坦福大学的莱西格教授指出,代码的功能就像一种法律。谁编写了几乎每个人都在使用的代码,实际上就是编写了支配人们生活的法律。有了自由软件,这些法律就以民主的方式编写。不是古典形式的民主——我们不会进行大型选举并说,“大家投票决定这个特性应该怎么做。” [笑声] 相反,我们基本上说,你们中那些想要以这种方式实现该特性的人,去做吧。而那些想以那种方式实现该特性的人,也去做吧。然后,它会以这种或那种方式完成,你知道吗?因此,如果很多人希望以这种方式进行,它就会以这种方式完成。因此,通过简单地朝着他想要的方向迈进,每个人都为社会决策做出了贡献。

而且你可以自由地迈出尽可能多的个人步伐。企业可以自由地委托他们认为有用的尽可能多的步骤。而且,当你把所有这些加起来时,就决定了软件的走向。

而且,能够从某些现有程序中提取一些部分,通常是很大的部分,当然,然后编写一些自己的代码,并制作一个完全满足你需求的程序,通常非常有用,如果你必须从头开始编写,如果你不能从某些现有的自由软件包中 “吃掉” 大部分代码,那将花费你一大笔钱。

用户至高无上这一事实导致的另一个结果是,我们往往在兼容性和标准化方面做得很好。为什么?因为用户喜欢这样。用户很可能会拒绝一个具有无谓的不兼容性的程序。现在,有时会有一部分用户实际上需要某种类型的不兼容性,然后他们就会拥有它。这没问题。但是当用户希望遵循标准时,我们开发人员必须遵循它,我们知道这一点。并且我们照做了。相比之下,如果你看看专有软件开发人员,他们经常发现故意遵循标准是有利的,而且不是因为他们认为这样可以给用户带来优势,而是因为他们在强加给用户,将用户锁定。你甚至会发现他们时不时地更改他们的文件格式,只是为了强迫人们购买最新版本。

档案管理员现在发现一个问题,十年前在计算机上编写的文件通常无法访问;它们是用现在基本上已经丢失的专有软件编写的。如果是用自由软件编写的,那么它可以更新并运行。而且那些东西不会,那些记录不会丢失,不会无法访问。他们最近甚至在美国国家公共广播电台上抱怨这件事,并引用自由软件作为解决方案。因此,实际上,通过使用非自由程序来存储你自己的数据,你是在自掘坟墓。

所以,我谈到了自由软件如何影响大多数企业。但是它如何影响软件业务这个特定的狭窄领域呢?答案是基本上根本没有影响。原因是从我所了解到的,90%的软件行业都是定制软件的开发,这种软件根本不打算发布。对于定制软件,自由或专有的这个议题,或伦理问题,不会出现。你看,问题是,用户是否可以自由地更改和重新分发软件?如果只有一个用户,并且该用户拥有权利,那就没有问题。该用户可以自由地做所有这些事情。所以,实际上,任何由一家公司开发供内部使用的定制程序都是自由软件,只要他们有意识地坚持获得源代码和所有权利。

而且这个问题对于手表、微波炉或汽车点火系统中使用的软件来说也并不真正存在。因为在这些地方,你不会下载软件来安装。就用户而言,它不是一台真正的计算机。所以,它不会引发足够多的问题,以至于在道德上显得重要。因此,在很大程度上,软件行业将像以往一样继续发展。有趣的是,由于该行业有如此大的工作比例,即使没有自由软件业务的可能性,自由软件的开发人员也都可以找到编写定制软件的日常工作。 [笑声] 太多了;比例太大了。

但是,事实证明,确实有自由软件业务。有自由软件公司,在我即将举行的记者招待会上,其中几家公司的人员将加入我们。当然,也有一些公司不是自由软件业务,但确实开发并发布有用的自由软件,而且他们生产的自由软件数量可观。

那么,自由软件业务是如何运作的呢?嗯,他们中的一些人出售副本。你知道,你可以自由复制它,但他们仍然可以每月销售数千份副本。其他人则出售支持和各种服务。就我个人而言,在 80 年代的后半期,我出售自由软件支持服务。基本上我说,每小时 200 美元,我会更改你希望我在我编写的 GNU 软件中更改的任何内容。而且,是的,价格很贵,但如果这是一个我创作的程序,人们会认为我可能会在少得多的时间内完成这项工作。 [笑声] 我就是这样谋生的。事实上,我赚的比以前任何时候都多。我也教课。我一直这样做直到 1990 年,当时我获得了一个大奖,我再也不用那样做了。

但是,1990 年是第一家自由软件公司成立的时候,那就是 Cygnus Support。他们的业务基本上就是做我一直在做的事情。如果我需要那样做,我当然可以为他们工作。因为我不需要,我觉得如果我保持独立于任何一家公司,对这个运动有好处。这样,我就可以在没有利益冲突的情况下对各种自由软件和非自由软件公司说好话和坏话。我觉得我可以为这个运动提供更多服务。但是,如果我需要通过那个来谋生,当然,我会为他们工作。这是一个可以从事的道德业务。我没有理由会为在他们那里工作感到羞耻。而且这家公司在第一年就盈利了。它成立时资本很少,只有三位创始人的钱。而且它每年都在增长并且每年都盈利,直到他们变得贪婪,并寻找外部投资者,然后他们把事情搞砸了。但是在他们变得贪婪之前,他们成功了好几年。

因此,这说明了自由软件令人兴奋的事情之一。自由软件证明你不需要筹集资金来开发自由软件。我的意思是,它是有用的;它可以帮助。你知道,如果你确实筹集了一些资金,你可以雇人并让他们编写大量软件。但是你可以用少量的人完成很多工作。事实上,自由软件开发过程的巨大效率是世界转向自由软件的重要原因之一。它也反驳了微软所说的话,他们说 GNU GPL 是不好的,因为它使他们更难筹集资金来开发非自由软件,并将我们的自由软件以及我们的代码放入他们不会与我们分享的程序中。基本上,我们不需要他们那样筹集资金。无论如何我们都会完成这项工作。我们正在完成这项工作。

人们过去常说我们永远无法完成一个完整的自由操作系统。现在我们已经完成了,而且还做了很多更多的事情。我想说,我们距离开发世界上所有通用的已发布软件需求,大约还有一个数量级的差距。而且这是在一个世界上,超过 90% 的用户尚未使用我们的自由软件。这是在一个世界上,尽管在某些商业领域,你知道,世界上超过一半的 Web 服务器都在运行 GNU/Linux,并以 Apache 作为 Web 服务器。

提问[听不清] … 你之前说什么,Linux?

斯特曼:我说的是 GNU/Linux。

提问:是吗?

斯特曼:是的,如果我说的是内核,我称之为 Linux。你知道,那是它的名字。内核是由 Linus Torvalds 编写的,我们应该为了尊重作者而只用他选择的名字来称呼它。

总之,但总的来说,在商业领域,大多数用户都没有使用它。大多数家庭用户也还没有使用我们的系统。因此,当他们开始使用时,我们应该自动获得 10 倍的志愿者和 10 倍的免费软件业务客户。这将使我们达到那个数量级。所以,在这一点上,我非常有信心我们可以完成这项工作。

而且,这一点很重要,因为微软试图让我们感到绝望。他们说,你想要运行软件,想要创新,唯一的办法就是把权力交给我们。让我们来支配你,控制你使用软件的方式,这样我们才能从你身上榨取大量的金钱,并用其中的一部分来开发软件,其余的都作为利润。

好吧,你不应该感到如此绝望。你不应该感到如此绝望,以至于放弃你的自由。那非常危险。

微软的另一个做法,好吧,不仅仅是微软,那些不支持自由软件的人通常会采用一种价值观体系,即唯一重要的是短期的实际利益:我今年要赚多少钱?我今天能完成什么工作?他们只考虑短期,目光短浅。他们的假设是,为了自由而做出牺牲是荒谬的。

昨天,很多人在发表演讲,谈论为同胞的自由而做出牺牲的美国人。他们中的一些人做出了巨大的牺牲。他们甚至为了我们国家每个人都至少听说过的自由而献出了自己的生命。(至少在某些情况下是这样;我想我们必须忽略越南战争。)

[编者注:前一天是美国的“阵亡将士纪念日”。阵亡将士纪念日是为了纪念战争英雄的日子。]

但是,幸运的是,为了维护我们使用软件的自由,不需要做出巨大的牺牲。只需要做出微小的牺牲就足够了,比如学习命令行界面,如果我们还没有图形界面程序。比如用这种方式完成工作,因为我们还没有免费的软件包以这种方式完成它。比如,向一家将开发某个免费软件包的公司支付一些钱,这样你几年后就可以拥有它。我们可以做出各种微小的牺牲。而且,从长远来看,即使是我们自己也会从中受益。你知道,这实际上是一种投资,而不是牺牲。我们只需要有足够的长远眼光,认识到投资于改善我们的社会对我们是有好处的,而不是去计较谁从这项投资中获得了多少收益。

所以,在这一点上,我基本上讲完了。

我想提一下,Tony Stanco 提出了一种新的自由软件业务方法,他称之为“自由开发者”,它涉及一种商业结构,希望最终将一部分利润支付给加入该组织的所有自由软件作者。他们正在考虑在印度获得一些相当大的政府软件开发合同的前景,因为他们将使用自由软件作为基础,从而节省大量成本。

所以现在我想我应该开始接受提问了。

问题[听不清]

STALLMAN:请你大声一点好吗?我听不太清楚。

问题:像微软这样的公司如何才能包含自由软件合同?

STALLMAN:嗯,实际上,微软正计划将其大量业务转移到服务领域。他们计划做的是一件肮脏且危险的事情,那就是以一种曲折的方式将服务与程序紧密相连。所以,要使用这项服务,你必须使用这个微软程序,这将意味着你需要使用这项服务,然后使用这个微软程序,所以它们都紧密地捆绑在一起。这就是他们的计划。

现在,有趣的是,销售这些服务并不会引起自由软件或非自由软件的伦理问题。他们可以通过互联网销售这些服务来维持业务,这可能完全没有问题。然而,微软计划利用它们来获得更大的锁定,甚至更大的垄断,对软件和服务的垄断,我认为最近在《商业周刊》上的一篇文章中对此进行了描述。而且,其他人说这正在把互联网变成微软的公司小镇。

这一点很重要,因为,你知道,微软反垄断案的审判法院建议将微软拆分,但这在某种程度上毫无意义——将它拆分成操作系统部分和应用程序部分根本没有任何好处。

但在看到那篇文章后,我现在看到了一种有效的方法可以将微软拆分成服务部分和软件部分,要求它们只能以公平交易的方式进行交易,即服务必须公布其接口,以便任何人都可以编写客户端来与这些服务通信,而且,我想,他们必须付费才能获得服务。好吧,这没问题。这是一个完全不同的问题。

如果微软以这种方式被拆分 [...] 服务和软件,他们将无法使用他们的软件来扼杀与微软服务相关的竞争。而且,他们也无法使用这些服务来扼杀与微软软件相关的竞争。我们将能够制作自由软件,也许你们会用它来与微软的服务通信,我们不会介意。

毕竟,尽管微软是压迫最多人的专有软件公司——其他公司压迫的人较少,但这并不是因为他们没有尝试。[笑声] 他们只是没有成功地压迫那么多人。所以,问题不仅仅是微软,而只是微软。微软只是我们试图解决的问题的最大例子,这个问题就是专有软件剥夺了用户合作和形成道德社会的自由。所以我们不应该过多地关注微软,你知道,尽管他们给了我这个平台的机会。这并不意味着他们至关重要。他们不是一切的全部。

问题:早些时候,您讨论了开源软件和自由软件之间的哲学差异。您如何看待当前 GNU/Linux 发行版仅支持英特尔平台的趋势?以及似乎越来越少的程序员在正确地编写程序,并制作可以在任何地方编译的软件?而只是制作可以在英特尔系统上运行的软件?

STALLMAN:我不认为这里存在伦理问题。尽管事实上,制造计算机的公司有时会将 GNU/Linux 系统移植到它上面。惠普最近显然就做了这件事。而且,他们没有费心为 Windows 付费移植,因为那会花费太多。但是获得 GNU/Linux 的支持,我认为是五位工程师花了几个月的时间。这很容易做到。

当然,我鼓励人们使用 autoconf,这是一个 GNU 包,它可以更容易地使你的程序具有可移植性。我鼓励他们这样做。或者当其他人修复了程序在系统版本上无法编译的错误,并将其发送给你时,你应该把它放进去。但是我不认为这是一个伦理问题。

问题:两个评论。一个是:最近,你在麻省理工学院发了言。我读了记录。有人问到专利,你说“专利是一个完全不同的问题。我对此没有任何评论。”

STALLMAN:没错。实际上,我有很多关于专利的要说,但这需要一个小时。[笑声]

问题:我想说的是:在我看来,这里存在一个问题。我的意思是,公司之所以将专利和版权都称为硬产权,是有原因的,他们试图获得这种概念,即如果他们想利用国家的力量为自己创造垄断的途径。因此,这些事情的共同之处不在于它们围绕着相同的问题,而在于其动机并不是真正的公共服务问题,而是公司为自己的私人利益获得垄断的动机。

STALLMAN:我明白了。但是,好吧,我想回应一下,因为时间不多了。所以我想回应一下。

你说得对,那是他们想要的东西。但他们想使用“知识产权”这个术语还有另一个原因。那就是他们不想鼓励人们仔细思考版权问题或专利问题。因为版权法和专利法是完全不同的,软件受版权保护和软件专利的影响是完全不同的。

软件专利是对程序员的限制,禁止他们编写某些类型的程序,而版权不会这样做。对于版权,至少如果你自己编写了它,你就可以分发它。因此,区分这些问题至关重要。

它们在很低的层面上有一点共同之处,其他一切都不同。因此,请为了鼓励清晰的思考,讨论版权或讨论专利。但不要讨论知识产权。我对知识产权没有意见。我对版权、专利和软件有意见。

问题:你一开始提到,函数式语言,比如菜谱,就是计算机程序。它与其他类型的语言有所不同。这也在 DVD 案例中造成了一个问题。

STALLMAN:对于非功能性的事物,这些问题部分相似,但部分不同。一部分问题可以转移,但不是全部。不幸的是,这又是另一个小时的演讲。我没有时间深入探讨它。但我想说,所有功能性作品都应该像软件一样是自由的。你知道,教科书、手册、字典和食谱等等。

问题:我只是想问一下在线音乐。它们之间存在着相似之处和差异。

STALLMAN:是的。我想说,对于任何类型的出版信息,我们应该拥有的最低限度的自由是免费的、逐字地、非商业地重新分发它。对于功能性作品,我们需要自由地商业出版修改版本,因为这对社会非常有益。对于非功能性作品,你知道,那些旨在娱乐、具有美学意义或表达特定个人观点的东西,也许不应该被修改。而且,也许这意味着对它们的商业发行施加版权限制是可以的。

请记住,根据美国宪法,版权的目的是为了公众的利益。它是为了规范某些私人方的行为,以便他们出版更多的书籍。这样做的好处是社会可以讨论问题并学习。而且,你知道,我们有文学作品。我们有科学著作。其目的是鼓励这些。版权的存在不是为了作者,更不是为了出版商,而是为了读者以及所有那些从人们写作、其他人阅读的信息交流中受益的人们。我同意这个目标。

但在计算机网络的时代,这种方法不再可行,因为它现在需要严厉的法律来侵犯每个人的隐私并恐吓所有人。你知道,因为和邻居分享而被判处多年监禁。在印刷机时代不是这样的。那时,版权是一种行业监管,它限制了出版商。现在,它是由出版商强加于公众的限制。因此,即使是同样的法律,权力关系也发生了 180 度的转变。

问题:所以你可以有相同的东西——但是像从其他音乐中制作音乐一样?

斯托曼:是的。这是一个有趣的…

问题:而且是独特的、新的作品,你知道,仍然有很多合作。

斯托曼:是的。我认为这可能需要某种合理使用概念。当然,制作几秒钟的样本并将其用于制作某些音乐作品,显然应该是合理使用。即使是标准的合理使用概念也包括这一点,如果你仔细想想的话。我不确定法院是否同意,但他们应该同意。这不会对现有系统造成真正的改变。

问题:你如何看待以专有格式发布公共信息?

斯托曼:哦,不应该这样。我的意思是,政府绝不应该要求公民使用非自由程序来访问、以任何方式与政府进行双向沟通。

问题:我一直是,我现在要说,一个 GNU/Linux 用户……

斯托曼:谢谢。[笑声]

问题:……在过去的四年里。对我来说一直存在问题,并且我认为对我们所有人来说都是必不可少的事情是浏览网页。

斯托曼:是的。

问题:使用 GNU/Linux 系统的一个明显弱点是浏览网页,因为主要工具 Netscape ……

斯托曼:……不是自由软件。

让我来回应一下这个问题。为了多说一些内容,我想直奔主题。所以,是的。人们在他们的 GNU/Linux 系统上使用 Netscape Navigator 的趋势非常糟糕。事实上,所有商业包装的系统都附带它。所以这是一个具有讽刺意味的情况:我们如此努力地创建了一个自由操作系统,现在,如果你去商店,你可以在那里找到 GNU/Linux 的版本,它们中的大多数被称为 Linux,并且它们不是自由的。哦,好吧,它们的一部分是自由的。但是,然后,有 Netscape Navigator,也许还有其他非自由程序。所以,除非你知道自己在做什么,否则实际上很难找到一个自由的系统。或者,当然,你可以不安装 Netscape Navigator。

事实上,多年来一直存在自由的网络浏览器。我曾经使用过一个名为 Lynx 的免费网络浏览器。它是一个非图形的、仅限文本的免费网络浏览器。这有一个巨大的优势,就是你看不到广告。[笑声] [掌声]

无论如何,有一个名为 Mozilla 的免费图形项目,它现在已经到了你可以使用它的地步。我偶尔会使用它。

问题:Konqueror 2.01 非常好。

斯托曼:哦,好的。所以这是另一个免费的图形浏览器。所以,我想我们终于解决了这个问题。

问题:你能和我谈谈自由软件和开源之间的哲学/伦理分歧吗?你觉得这两者是不可调和的吗?…

[录音切换磁带;问题结尾和答案开头缺失]

斯托曼:……关于自由和道德。或者你只是说,好吧,我希望你们公司会认为允许我们做这些事情更有利可图。

但是,正如我所说,在很多实际工作中,一个人的政治观点是什么并不重要。当有人提出要帮助 GNU 项目时,我们不会说:“你必须同意我们的政治观点。”我们说,在一个 GNU 软件包中,你必须将该系统称为 GNU/Linux,并且你必须将其称为自由软件。当你不与 GNU 项目对话时,你说什么由你决定。

问题:IBM 公司发起了一场针对政府机构的宣传活动,以销售他们的新型大型机器,他们使用 Linux 作为卖点,并说是 Linux。

斯托曼:是的,当然,它实际上是 GNU/Linux 系统。[笑声]

问题:没错!好吧,告诉顶级销售员。他对 GNU 一无所知。

斯托曼:我必须告诉谁?

问题:顶级销售员。

斯托曼:哦,是的。问题是,他们已经仔细地决定了他们想说些什么,以实现他们的优势。而以更准确、更公平或更正确的方式来描述它是什么,对于像这样的公司来说并不是首要问题。现在,一些小公司,是的,会有一个老板。如果老板倾向于考虑这类事情,他可能会做出这样的决定。但大型公司不是。这很可惜,你知道。

关于 IBM 正在做什么,还有另一个更重要、更实质性的问题。他们说他们正在向“Linux”投入 10 亿美元。但是,也许我也应该在“投入”周围加上引号,因为其中一些钱是用来支付人们开发自由软件的。这确实是对我们社区的贡献。但是其他部分是用来支付人们编写专有软件,或者将专有软件移植到 GNU/Linux 之上运行,而这不是对我们社区的贡献。但是 IBM 将这一切都归入了其中。其中一些可能是广告,这在某种程度上是一种贡献,即使它在某种程度上是错误的。所以,情况很复杂。他们所做的事情有些是贡献,有些不是。有些则有点,但不完全是。你不能把它全部归结在一起,然后想,哇!哇!来自 IBM 的 10 亿美元。[笑声] 这太过于简化了。

问题:你能多谈谈制定通用公共许可证的思考过程吗?

斯托曼:好吧,这是——对不起,我现在正在回答他的问题。[笑声]

肖恩伯格:你想为新闻发布会预留一些时间吗?还是你想继续在这里?

斯托曼:谁是来参加新闻发布会的?没有很多记者。哦,三个……好的。如果我们……如果我继续回答大家的问题再过十分钟左右,你们可以接受吗?好的。那么,我们将继续回答大家的问题。

那么,GNU GPL 的思考过程是什么呢?其中一部分是我想保护社区的自由,以对抗我刚才描述的 X Windows 现象,这种情况也发生在其他自由程序中。事实上,当我在考虑这个问题时,X Windows 尚未发布。但我已经在其他自由程序中看到了这个问题。例如,TeX。我想确保用户都拥有自由。否则,我意识到我可能会编写一个程序,也许很多人会使用这个程序,但他们不会拥有自由。那有什么意义呢?

但我正在考虑的另一个问题是,我想让社区感觉到它不是一个脚垫,感觉到它不是任何会游荡的寄生虫的猎物。如果你不使用版权保护,你基本上是在说:[说话温顺地] “拿走我的代码。做你想做的事。我没有说不。”因此,任何人都可以走过来并说:[说话非常坚定地] “啊,我想制作一个非自由版本。我只是拿走它。”然后,当然,他们可能会做一些改进,那些非自由版本可能会吸引用户,并取代自由版本。那么,你取得了什么成就?你只是向某些专有软件项目捐赠了。

当人们看到这种情况发生时,当人们看到,其他人拿走我所做的事情,而他们从不回馈时,这会令人感到沮丧。这不仅仅是猜测。我看到过这种情况发生。这也是摧毁我所属的 70 年代旧社区的部分原因。有些人开始变得不合作。我们假设他们从中获利。他们当然表现得好像他们认为自己正在获利。我们意识到他们可以停止合作而不回馈。我们对此无能为力。这非常令人沮丧。我们这些不喜欢这种趋势的人,甚至还进行了一次讨论,但我们想不出任何办法来阻止它。

所以,GPL 的设计是为了阻止这种情况。它说,是的,欢迎你加入社区并使用这段代码。你可以使用它来完成各种各样的工作。但是,如果你发布修改后的版本,你必须将其发布到我们的社区,作为我们社区的一部分,作为自由世界的一部分。

因此,事实上,人们仍然可以通过许多方式获得我们工作的益处而不做出贡献,比如你不需要编写任何软件。很多人使用 GNU/Linux 而不编写任何软件。没有要求你必须为我们做任何事。但是,如果你做了某种类型的事情,你必须为它做出贡献。所以,这意味着我们的社区不是一个脚垫。我认为这有助于人们有力量去感受,是的,我们不会被所有人践踏。我们会站出来对抗它。

问题:是的,我的问题是,考虑到自由但没有版权保护的软件,既然任何人都可以拾取它并使其成为专有软件,那么是否也有可能有人拾取它并进行一些更改,然后以 GPL 的形式发布整个软件?

斯托曼:是的,这是可能的。

问题:那么,这将使所有未来的副本都受 GPL 约束。

斯托曼:从那个分支开始。但这就是我们不这样做。

问题:嗯?

斯托曼:这就是我们通常不这样做的原因。让我解释一下。

问题:好的,是的。

斯托曼:如果我们愿意,我们可以采用 X Windows,制作一份受 GPL 保护的副本,并对其进行更改。但是有更大的一群人正在努力改进 X Windows,并且使用 GPL。因此,如果我们这样做,我们将与他们分道扬镳。这对他们来说不是很好的待遇。而且,他们我们社区的一部分,为我们的社区做出贡献。

第二,这会适得其反,因为他们在 X 上的工作量远大于我们。所以,我们的版本会不如他们的,人们不会使用它,这意味着,为什么还要费这个劲呢?

提问:嗯哼。

斯特尔曼:所以当一个人对 X Window 做了一些改进时,我建议这个人应该做的是与 X 开发团队合作。把你的改进发送给他们,让他们以他们的方式使用。因为他们正在开发一个非常重要的自由软件。与他们合作对我们有好处。

提问:但是,特别是考虑到 X,大约两年前,X 联盟在非自由开源方面走得太远了…

斯特尔曼:嗯,实际上它不是开源的。它也不是开源的。他们可能说过是。我不记得他们是否说过。但它不是开源的。它是受限制的。我认为你不能进行商业发行。或者你不能商业发行修改后的版本,或者类似的东西。自由软件运动和开源运动都认为这种限制是不可接受的。

是的,这就是使用非 copyleft 许可协议会让你面临的风险。事实上,X 联盟有一个非常严格的政策。他们说:如果你的程序哪怕有一点 copyleft,我们都不会发行它。我们不会把它放在我们的发行版里。

所以,很多人在这种方式的压力下,没有选择 copyleft。结果就是他们所有的软件后来都完全开放了。当那些曾经迫使开发者过于放任自流的人,后来 X 的人却说,好吧,现在我们可以加上限制了,这在道义上是非常不合理的。

但是,在这种情况下,我们真的想要耗费资源来维护一个替代的、受 GPL 保护的 X 版本吗?这样做没有任何意义。我们还有很多其他事情要做。让我们先做那些吧。我们可以与 X 的开发者合作。

提问:你对 GNU 是商标有什么看法?把它作为 GNU 通用公共许可证的一部分,允许使用商标是否可行?

斯特尔曼:我们实际上正在申请 GNU 的商标注册。但这与这个没什么关系。解释原因需要很长时间。

提问:你可以要求 GPL 覆盖的程序显示商标。

斯特尔曼:不,我不这么认为。许可证涵盖的是单个程序。当一个给定的程序是 GNU 项目的一部分时,没有人会对此撒谎。整个系统的名称是另一个问题。这只是一个题外话。不值得深入讨论。

提问:如果有一个按钮可以按下去,迫使所有公司都将其软件自由化,你会按下它吗?

斯特尔曼:嗯,我只会将此用于已发布的软件。你知道,我认为人们有权私下编写程序并使用它。这包括公司。这是一个隐私问题。的确,有时这样做是错误的,例如当它对人类非常有帮助,而你却将其隐瞒起来时。这是一个错误,但它是一种不同的错误。这是一个不同的问题,尽管它在同一领域。

但是,是的,我认为所有已发布的软件都应该是自由软件。请记住,当它不是自由软件时,那是因为政府的干预。政府正在干预使其成为非自由软件。政府正在创造特殊的法律权力交给程序的拥有者,以便他们可以动用警察阻止我们以某些方式使用程序。所以我当然希望结束这种情况。

肖恩伯格:理查德的演讲总是能激发大量的智慧能量。我建议将其中一些能量用于使用,甚至可能编写自由软件。

我们应该很快结束会议。我想说,理查德为这个在公众眼中以极端不关心政治的极客而闻名的行业注入了政治和道德讨论,我认为这在我们的行业中是前所未有的。我们非常感谢他为此所做的一切。我想提醒大家,现在休息一下。

[掌声]

斯特尔曼:你们可以随时离开,你们知道的。[笑声]我没有把你们囚禁在这里。

[听众散去…]

[重叠的对话…]

斯特尔曼:最后一件事。我们的网站:www.gnu.org