CopyLeft:实用理想主义

作者:Richard Stallman

[image of a Philosophical GNU] (jpeg 7k) (jpeg 21k) 因专利权问题而没有gif图

一个人的每个决定都来源于他的价值观和人生目标。人们有着许多不同的目标和价值观;名誉,利润,爱情,生存,快乐和自由,这些都是一个正常人所具有的目标。当这个目标能象帮助自己一样帮助别人的时候,我们就叫它理想主义。

我在自由软件上的工作是由理想主义的目标所激励的:推广自由与合作。我希望促进自由软件的推广,以取代阻碍合作的私有软件,我相信这会使我们的世界更加美好。

这就是GNU General Public License许可被写成现在这样——成为CopyLeft——的主要原因。所有加入GPL保护程序的代码必须是自由软件,即使它被放在一个独立的文件里。我要让我的代码可以在自由软件中使用,而不是在私有软件中使用,这是为了鼓励其他人也写自由软件。我认为既然私有软件开发者用版权来阻止我们共享,我们这些合作者就可以通过版权给其他合作者带来这样的优势:他们可以使用我们的代码。

并不是每个使用GNU GPL的人都是这个目的。许多年前,有人要求我的一个朋友在non-copyleft的名义下再发布一个已经copylefted的程序,我的朋友大致是这样回答的:

“有时我做自由软件,有时我做私有软件——但是当我做私有软件时,我希望得到报酬。”

他愿意与共享软件社群共享他的工作,但他看不出有什么理由要去无私帮助一个对我们的社群大门紧闭的商业产品。他的目的与我的不同,但是他认为GNU GPL对他的目的同样有用。

如果你想在这个世界上实现某些事情,理想主义是不够的——你必须选择一个有效的方法来达到这个目标。换句话说,你需要是“实用的”,GPL是实用的吗?让我们来看看结果。

考虑一下GNU C++。为什么我们有一个自由(Free)的C++编译器?就是因为GNU GPL保证它必须是自由的。GNU C++是由一个工业协会,MCC,开发的,从GNU C编译器开始。一般MCC的产品都是私有产品,但这个C++前端工具却变成了自由软件,这是因为GNU GPL确保他们只能这样发布它。这个C++ 前端工具包含了许多新文件,但是既然它们是与GCC连接在一起的,GPL就适用于它们。这对于我们的社群是有明显好处的。

考虑一下GNU Objective C。NeXT一开始想使这个前端工具成为私有的;他们打算以 .o 文件来发行它,让用户来连接它们与GCC的其他部分,以为这样可以绕过GPL的要求。但我们的律师认为这不能逃避GPL的要求,这是不允许的。因此他们使Objective C前端工具成为了自由软件。

这些例子发生在很多年前,但GNU GPL会继续给我们带来更多的自由软件。

许多GNU库都遵循GNU库许可方式(LGPL),但并不都是这样。一个遵循常规GNU GPL许可方式的GNU库是Readline,它实现了命令行编辑。一个月前,我发现一个非自由软件打算要用Readline,我告诉开发者这是不允许的。他本来可以把命令行编辑从程序中去掉,但他实际上在GPL下重新发布了,现在这个软件是个自由软件。

写增强GCC(或Emacs,Bash,Linux 或其他遵循GPL的程序)程序的人往往是由公司或大学雇佣的,当程序员想把他的改进交给我们的团体,想在下一个版本中看见他的代码,他的老板可能会说:“保存好你的代码,你的代码属于我们!我们不想共享它,我们已经决定把你的改进版本变成私有软件产品。”

这时GNU GPL过来营救。程序员会向老板指出如果变成私有软件产品,那么就会侵犯版权,老板会意识到他有两个选择:把新的代码变成自由软件,或者删掉新代码,几乎他总是让程序员作他想作的,代码进入下一个版本。

GNU GPL并不是一个“老好人”,它有时向人们想作的事说“不”。有的用户认为GPL拒绝一些“需要带入自由软件开发社群”的私有软件开发者是一件坏事。

但是我们并非拒绝他们进入我们的社群;是他们选择了不进入。他们决定制作私有软件就是决定和我们的社群分开。加入我们的社群就意味者加入我们的合作。我们不能“带他们进入我们的圈子”,如果他们不想加入我们。

我们能够作的只是提供他们进入的动机。GNU GPL被设计成用现有软件来吸引它们:“如果你让你的软件成为自由软件,你就可以用这些代码。”当然这样不能赢得所有人,但会吸引一部分。

私有软件的开发不会对我们的社群有所贡献,但它的开发者经常需要从我们这得到援助。自由软件用户会用承认和感激来激励自由软件开发者,但商业人员的话也是很诱人的:“让我们把你的程序包放在我们的私有程序里,你的程序会被成千上万的人使用。”这样的诱惑确实很大,但从长远观点看,如果我们坚持,我们就会获得好处。

当这样的诱惑和压力通过那些采取迎合私有软件政策的自由软件组织间接产生时,是很难识别的。X协会(和他的继承者,Open Group)提供了一个例子:由一些制作私有软件的公司投资,他们努力了十年劝阻程序员不要使用Copyleft。现在Open Group已经使X11R6.4成为非自由软件。我们当中那些抵抗这种压力的人对我们所做的感到很高兴。

从另一方面讲,考虑更远大的长期目标会加强你抵抗这种压力的意志。如果你把注意力放在在自由和社群上,这样的社群会因你坚定的立场而建立起来,你就会找到力量从事这件事情。“坚持立场,否则你会一事无成。”

如果愤世嫉俗者嘲笑自由,嘲笑我们的社群……如果“硬鼻子的现实主义者”说利润才是唯一的理想……不要理会他们,我们要用我们的Copyleft。


阅读其它文章


返回GNU主页

关于FSF和GNU的询问或问题:gnu@gnu.org。与FSF的其它联系方法

关于这些Web页的评论或意见请发给:webmasters@www.gnu.org,其它问题请发给:gnu@gnu.org

自由软件基金(Free Software Foundation, Inc.)版权所有 Copyright (C) 1996, 1997, 1998 ,
59 Temple Place - Suite 330, Boston, MA 02111, USA

在保留这个申明的前提下,你可以通过任何媒体不加更改的复制与散发本文全文。

更新:17 Dec 1998 tower


翻译:Jan 1999 yuyingzhe[AKA]
校对:29 Jan 1999 xiaobo[AKA]