GNU GPL 和美国方式
Richard M. Stallman 著微软说 GNU 通用公共许可证(GNU GPL)是一个 “开源” 许可证,并说它违背美国方式。要了解 GNU GPL 并弄明白它如何体现美国方式,你必须首先了解 GPL 不是为开源设计的。
开源运动始于1998年,目的是通过邀请大众合作的软件开发来生成强大的、可靠的和先进的技术。开源运动的许多开发者使用 GNU GPL,我们欢迎他们使用我们的许可证。不过,GPL 的理念和逻辑并不在开源运动中。它们源于自由软件运动更深远的目标和价值。
自由软件运动创立于1984年,而它的灵感来自1776年的理想:自由、社团和志愿合作。这个理想产生了自由企业、言论自由和自由软件。
和 “自由企业” 与 “言论自由” 一样,“free” 在 “free software” 指的也是自由,而不是价格;具体来说,自由软件意味着你有自由学习、修改和分发你使用的软件。这些自由允许公民们帮助自己也互相帮助,并参与到社区中。这和常见的专有软件不同,专有软件让用户无助并分裂他们:其内部机制是个秘密,而你也被禁止和友邻分享专有软件。强大、可靠和先进的技术是自由带来的有用副产品,但是有自由来建立社区本身就很重要。
我们无法在每个程序都有一个主宰者的专有软件世界建立一个自由的社区。我们必须在数字空间建立一个新世界——自由的 GNU 操作系统,我们在1984年开始撰写。在1991年,当 GNU 几乎就要完成时,Linus Torvalds 撰写的 Linux 内核填补了最后的空白;不久,我们有了自由的 GNU/Linux 系统。今天,数百万用户使用着 GNU/Linux 并畅享自由和社区带来的福利。
我设计了 GNU GPL 来维护和保卫自由软件定义的自由——用1776年前的文字,它让使用 GPL 发布的程序有了不可剥夺的权利。它确保你有自由学习、修改和分发程序,因为它声明无人有权把这些程序按照限制性的许可证发布——从而夺走这些自由。
为了合作,我们鼓励人们修改和扩展我们发布的程序。为了自由,我们的条件是这些修改后的版本必须象原来的程序一样尊重用户自由。我们拒绝寄生,我们鼓励双向合作:想要把我们的程序复用到他们的程序中的人必须让我们也能使用他们的程序中的我们那部分程序。我们不强制人们加入我们的俱乐部,但是想加入的人必须象我们一样合作。这就是一个公平的系统。
数百万用户、数十万开发者以及象 IBM、Intel 和 Sun 这样的大公司,都以此为基础参与。但是也有一些公司想获益而又不想承担义务。
时而有公司对我们说,“如果你们让我们按照非自由的方式发布,我们就改进这个程序。”我们说,“不,谢谢——你们的改进如果是自由的,那么对我们也许有用,如果不自由,那么一点好处也没有。”然后他们求助我们的内心,说我们的代码放到他们的专有程序里会有 “更多用户”。我们回答说我们珍视社区的自由更胜于不相关的受欢迎。
微软当然想没有义务地从我们的代码中获益。但是它还有另一个、更具体的、攻击 GNU GPL 的目的。微软总的来说以模仿而不是创新为人所知。当微软做一件新鲜事时,它有战略——不是改善用户的计算,而是把其他的选项都关掉。
微软使用一种称为 “拥抱再扩展” 的反竞争策略。这是指他们从其他人使用的技术开始,添加一些别人无法模仿的秘密修饰,然后使用这些修饰,只让微软的软件才能和其他微软软件互通。在某些场景,这让使用非微软程序的人很难和使用微软程序的人一起工作。在另一些场景,这让你使用微软程序甲做了工作之后,很难再使用非微软的程序乙进行工作。无论哪个场景,“拥抱再扩展” 都放大了微软的市场权力。
如果微软愿意付出代价,没有什么许可证能够阻止它实施 “拥抱再扩展” 的策略。如果他们从头自己撰写程序,不使用我们的代码,那么我们程序的许可证不影响他们。但是完全重写困难且昂贵,即使是微软也不能每件事都这样做。因此,他们一直想说服我们放弃保护社区的许可证——这个许可证不许他们说,“你的是我的,而我的还是我的。”他们想只索取,而从不回报。他们想让我们放弃保卫。
但是放弃保卫不是美国方式。在自由而勇敢的土地上,我们用 GNU GPL 来捍卫自由。
补记:
微软说 GPL 违反 “知识产权。”因为 “知识产权” 一词太过宽泛而失去意义,所以我不对此评论。知识产权涉及版权、专利、商标以及其他一些单独的法律领域,大而全;这些领域在法律和影响方面如此不同,以至于关于它们整体的任何论断都显然太单薄。要理性理解版权、专利和商标,你必须单独理解它们。第一步就是拒绝使用 “知识产权” 这个笼统概念。
我对版权的看法需要讲一个小时,不过可以使用一个普遍的原则:版权不能剥夺公众的重要自由。正如林肯所言,“当人权和物权冲突时,人权必胜。”物权是为了人类进步,而不是无视进步的借口。