为什么说自由软件'' 的提法优于开放源码''

理查德·斯多尔曼

1998 年,一些自由软件开发者已开始用 “开放源代码软件'' ( open source softwrare )概念代替 “自由软件'' ( free software )概念,来用以描述他们所做的事情。

虽然自由软件用任何其他名称都会给你同样的自由,但我们使用的名称也产生了大的不同: 不同的词语 传达不同的意思开放源码'' 这个词很快地与不同方法、不同哲学、不同价值,甚至可被接受的不同标准的许可证联系在一起。在今日自由软件运动和开放源码运动实际上是 分开的活动 ,即使我们可以且的确在实际计划上一起工作。

本文阐述的是,为什么使用开放源码'' 一词不能解决任何问题,而且事实上还会制造一些问题。以下就是为什么继续忠于自由软件'' 要好得多的理由。

含糊不清

自由软件'' 的提法有个含混的问题:一个并非出自本意的意思即你可以零代价获得的软件,'' 恰好也适用于这一名称,而这一名称的本意是 --给使用者确定的自由的软件(译注:"自由软件这个概念中的自由'' free)有两个意思,一是指自由,一是免费'' ,从而容易造成混淆。 为了避免这种混淆,斯多尔曼在许多文章中都强调,自由软件中的 “free'' 指的是自由,而不是免费。 参见斯多尔曼《自由和非自由软件分类》一文中的相关词条))。我们用宣传 自由软件更准确的定义 来解决此问题, 但这不是个最佳的解决办法;无法彻底消除此问题。一个毫不含混的正确提法会更好, 假如它不带有另外的问题的话。

不幸的是,所有可选用来替换的提法都有它们自身的问题。我们已考虑了很多人们建议的替换提法, 虽然有一些避免了该问题,但它们又带有另外的问题;没有一个是如此地完全正确'' , 以致转而使用它会是个好主意。每个为自由软件'' 建议的替换都有同样的语义问题, 或者更糟 --而这包括开放源码软件''

对于开放源码软件'' ,明显的意思是你能查看源代码。'' 这是一个比自由软件'' 更差得多的判别标准;它包括自由软件,但也包括 半自由 程序如 Xv ,甚至包括一些 私权 程序, 例如在其以前的许可证下发布的 Qt ( QPL 之前)

开放源码'' 这个概念的明显意思并不是它的提倡者的本意。(它们的正宗'' 定义非常接近自由软件。'' )结果是人们常常误解它们。这儿是作家尼尔·斯蒂芬森(Neal Stephenson)如何定义"开放源码

Linux 开放源码'' 软件的意思简单说就是,任何人都能获得其源代码文件的复制品。

我不认为他故意想拒绝或要争论正式的'' 定义。我想他只是适合了英语的习惯,并得出了自然的结论。堪萨斯( Kansas )发表了相似的定义:

使用开放源码软件 ( OSS ) OSS 是其源代码可自由及公开取得的软件,虽然特定的许可协议与个人被允许处理该源码的方式有所不同。

当然,开放源码的人已经试着藉由提出更精确的定义来处理这个问题,就像我们为自由软件'' 作的一样。

自由软件'' 的解释是简单的一个人如果听到自由言论,而不是免费啤酒'' 就不会再搞错了。 没有简洁的方式可以用来清楚地说明为什么开放源码'' 的正式定义足以显示出原始的定义(即,自由软件)是错的。

害怕自由

支持开放源码软件'' 称谓的主要论据是自由软件'' 概念搞得一些人不舒服。那倒是事实:关于自由、 道德问题、责任还有方便等的谈论,一直在要求人们考虑他们可能有点忽视了的事物。这会引起不舒服, 而且有些人可能因此拒绝这种观念。但如果我们停止谈论这些事物,社会境况并不会因此变得更好。

几年以前,自由软件开发者就注意到这种不舒服的反应,而有些人就开始探索避免它的方法。他们认为, 通过闭口不提道德和自由,而只谈及某个自由软件直接实用的好处,他们或许能更有效地把软件'' 给确定的用户,尤其是商业用户。于是,作为一种对此做得更甚的方法一种更为商业所接受'' 的方法,开放源码'' 被提出来了。

在其自身称谓下,此方法已证明很有效。今天很多人为了纯粹的实用理由而转向自由软件。就此现状来说, 这还不错,但是,这并不是我们要做的全部!把使用者吸引到自由软件这边来并非我们想做的全部事情,而只是其第一步。

或迟或早,这些用户将为了某些实际利益,被引而转回到私权软件。无数的公司竭力提供这种诱惑, 而用户们有什么理由会拒绝呢?除非因他们自身的原因,他们学会了 评价 自由软件给予他们的 自由 。这取决于我们传播这一思想 --而为了做此事,我们必得谈论自由。对于商业,一定量上的闭口不提'' 方式对自由软件社团是有用处的,但我们也必须有大量的自由要谈。

现在,我们有大量的闭口不谈'' ,却没有足够的自由声音。大多数与自由软件有关的人几乎都不说及自由 --因为他们通常努力的是更为商业所接受'' 。软件发行商特别宣扬这一模式。一些 GNU/Linux 操作系统发行商把私权软件加到基础的自由系统中, 并引诱用户认为这样是一种多获的利益,而非对自由的一个退步。

我们正跟不上大量涌入的自由软件用户, 正来不及做到以人们进入的同样高速度及时教育人们认识自由和我们的社团。 这就是非自由软件(QT 在它最初成为流行之时曾是这种软件) 和部分非自由的操作系统的发行商发现这块肥沃大地的原因。现在停止使用自由'' 概念是错误的, 我们需要更多,而不是更少地谈及自由。

我们希望,那些使用开放源码'' 名称的人会真正地吸引更多用户进入我们的社团;但如果他们做到了,我们这些人甚至得下更苦的功夫,带引那些用户来关心自由这一问题。我们得说,那是自由软件而且它给你自由!'' --说得比从前任何时候都更多更响亮。

商标会有帮助吗?

开放源码软件'' 的提倡者试图让此称谓成为一个商标,说这能使他们防止滥用。 1999 年在该申请被申请者自行终止时,这种努力便扭曲了方向;这样,开放源码'' 的法律地位就跟自由软件'' 一样了:使用上没有 法律 约束。 我听到过报道:尽管不符合正式的定义,许多公司仍把一些软件包称为开放源码'' ; 我自己也观察到一些实例。

但是,使用一个是商标的称谓会造成很大的不同吗?我不能确信。

公司们也制造宣传,给出这样的印象:一个没有明确说明开放源码的程序也可以是开放源码软件'' 。 例如,一项IBM的公告 --关于一个并不符合正式定义的程序-- 这样说道: 由于这在开放源码群体中是通行的,该项 ...技术的用户们也将能与 IBM 合作( collaborate ...

这事实上没有说那程序 开放源码'' ,但很多读者却未注意这些细节。(我本该注明, IBM 是真诚地努力使这程序成为自由软件,而且稍后采纳了一个新的许可证,使其真的成为自由软件并且开放源码'' ;可是那公告一发布,这程序对这两者都不合格了。)

而这儿还有天鹅座解决方案'' ,该方案本来是要建立一个自由软件公司,然而却分岔外拐 --(恕我直言)投入到私权软件中,为某些私权软件产品做的广告是:天鹅座解决方案'' 是开放源码市场上的领袖,并刚向 [GNU/]LINUX 卖场投放了两种产品。

不象 IBM ,天鹅座(公司)并不试图要让这些软件成为自由软件,而这些软件也不太具有资格。 但天鹅座并未实际说明这些是开放源码软件'' ,他们只是制造了一个暧昧的述说, 以企图取得随该称谓而来的有利姿态。

这些观察暗示,一个商标并不会真正解决这些随开放源码'' 称谓而来的问题。

开放源码'' 的误解(?)

开放源码的定义'' 够清楚,而且典型的非自由程序没有资格适用于它也非常清楚。于是你会认为开放源码公司'' 将意指其产品是自由软件(或接近自由软件)的公司,对吧? 啊呀呀,很多公司正忙着要给它一个不同的意思。

1998 8 月,在开放源码开发者日'' 大会上,几个应邀的商业开发者说道: 他们倾向于只让他们成品的一部分成为自由软件(或开放源码'' )。他们的生意关注的是开发私权附加件 (软件或 手册 ), 好卖给这个(被附加的)自由软件的用户们。他们要求我们把这看作是合法的,看作是我们社团的一部分,因为一些钱被捐给了自由软件的开发。

实质上,这些公司为他们的私权软件产品(哪怕那不是开放源软件'' )寻求受人喜爱的开放源码'' 标识,因为它跟自由软件有某种关系,或者因为同一公司也维护一些自由软件。(一个公司的创始人很明确地说过: 他们投入到他们所支持的自由软件中的工作量将与用户团体所支持的一样少。)

数年以来,很多公司已经在支持或捐助自由软件的开发。其中一些公司主要是开发非自由软件, 但两种行为是分开的,这样,我们过去可以忽略他们的非自由产品,而在自由软件项目上与其合作。然后我们可以为他们对自由软件所做的贡献而真诚地感谢他们,而不用谈及他们另外作了些什么。

现在我们跟这些新公司不能做同样的事,因为他们并不赞同这点。 这些公司主动地企图引导公众把他们不同的行为搅混在一块儿; 他们想要我们亲切地注意他们的非自由软件,亲切得象我们注意一个真正的贡献一样,尽管那并非真正的贡献。他们自我推许为开放源码公司'' , 希望我们会对他们得出一个多情而模糊的感觉,并希望我们在应用它时心智模糊不清( fuzzy-minded )。

如果这种操纵搞法用自由软件'' 的称谓干起来,其危害不小。不过公司们似乎不会这样来用自由软件'' 的称谓;或许它与理想主义( idealism )的联系使它好象不合适。开放源码'' 这称谓倒是对此大门洞开。

1998 年晚期的一个贸易展会上,被关注的操作系统经常称作 “Linux'' ,那个很有特色的的讲演人是一名来自某着名软件公司的执行官。他大该是因他的公司决定支持'' 那个系统而受邀。很不幸,他们的支持'' 形式由发布运行于该系统的非自由软件构成 也就是说,把我们的社团当市场来用却不对其作贡献。

他说,我们决无法使我们的产品开放源码,但或许我们愿意让它『内部』开放源码。 如果我们允许我们的消费者支持人员具有源码存取权,他们就能为消费者修好程序错误,我们就能提供更好的产品和更好的服务。'' (因为我当时没记下他的话,这里不是确切的引用, 但给出了其要点。)

听众中的人后来告诉我,他正好没抓住要点。'' 但事情如此吗?他没抓住哪个要点?

他可没漏过开放源码'' 运动的要点。那要点根本不说自由,它只说允许更多的人查看和帮助改进源代码将使开发变得更快更好。 该执行官完全紧紧抓住了那个要点;由于其他的原因他不情愿充分实施这一方法, 包括对用户,他正考虑的是只在公司内部分地实行它,

他漏过的正是这一要点 -- “开放源码'' 概念不是设计来筹资的:要点是用户 应该得到 自由。

传播这个自由的思想是件很大的任务 -- 它需要你的帮助。 GNU 工程将坚持自由软件'' 的称谓。 如果你觉得自由和社团因它们自身的理由而重要 --并非仅因它们带来方便-- 请加入我们,来使用自由软件'' 这个称谓。

自由软件'' 运动与开放源码'' 运动之间的关系

`自由软件'' 运动与开放源码'' 运动就象我们社团中的两个政党。

1960 年代,激进的分派团伙因内部派别争斗而众所周知:因为在策略细节上的见解不同导致组织的分裂, 于是彼此互相仇视。他们同意基本原则,而只是不同意实施方案;但他们认为互相是敌人,并拼命相互打。 不管它是否正确,至少这是人们已有的印象。

对于自由软件'' 运动和开放源码'' 运动,这恰是每一要点上的对立。我们不同意基本原则, 但多少有些同意实施方案。所以我们在很多特定项目上一起工作。在自由软件''运动中, 我们不把开放源码'' 运动看作敌人。 敌人是 私权软件

我们不对抗开放源码'' 运动,但我们不想跟他们混为一谈。我们知道他们对我们的社团有贡献,但我们自己创设了我们的社团。我们要人们将我们的成就与我们的价值及我们的哲学联系在一起。 我们的确想要我们社团的人明白我们跟他们(译注:指开源派)不一样。

因此,在你谈到我们已经完成的工作和已经开发出的软件(如象 GNU/Linus 操作系统)时,请提及自由软件'' 运动。

Joe Barr 写了一篇名为 Live and let license 的文章,阐述了他对于这一议题的观点。

—————————

翻译:李 极光
校对:贾 星客
GNU
中译成员:马 雪萍、刘 昭宏
Updated: $Date: 2002/03/09 15:39:38 $ $Author: Sisao $