Chapter 9. 许可证,版权和专利

Table of Contents

术语
许可证的方面
GPL和许可证兼容性
选择一个许可证
MIT / X Window System License
GNU General Public License
GPL是自由还是不自由?
那BSD许可证呢?
版权分配和所有权
无为而治
贡献者许可证协议
版权转移
双许可证模式
专利
深入资源

只要是开源许可证,你选择的许可证可能不会是影响采用项目的主要因素。用户通常根据质量和特性选择软件,而不是许可证的细节。虽然如此,你还是需要对自由软件许可问题有基本的了解,一方面确保项目的许可证与其目标一致,另一方面可以与其他人讨论许可证决策。请注意,我不是律师,本章的内容不应当作为正式的法律建议。对于法律事务,你需要雇佣一个律师或自己是律师。

术语

在开源许可证的任何讨论中,最明显的是首先要看到有许多不同的单词指的是同一件事:自由软件开源FOSSF/OSSFLOSS。首先从列出这些开始,然后引出一些其他的术语。

自由软件

可以自由分享和修改的软件,包含源代码格式。该术语首先由Richard Stallman创造,他在GNUGeneral Public License (GPL)中编写了这个词,并创建了自由软件基金会(http://www.fsf.org/)来发扬这个概念。

尽管“自由软件”几乎覆盖了几乎“开源”软件的同一个范围,FSF还是倾向于前一个术语,因为它强调了自由的理念,自由分发软件的概念主要是一种社会的而不是技术的运动。FSF承认这个术语的不明确性—它可以是“0费用”的“free”,而不是“自由”的“free”—但还是认为这是最好的术语,其他可能性在英语中还是有自己的混淆。(在本书中,“free”取“自由”之意,而非“0费用”之意。)

开源软件

自由软件的另一个名字。但是不同的名字反映了重要的哲学差异:开源促进会(Open Source Initiative http://www.opensource.org/)创造了“开源软件”一词,作为“自由软件”的可替换词,他们试图通过以开发方法学而不是政治运动的方式进行展示,努力使此类软件成为公司更可口的选择。他们也期望消除另一个污点:任何“免费的”一定是低质量的。

所有的许可证是自由的则也是开源的,反之亦然(除了少许的例外),人们倾向于选择一个并保持不变。概括说来,喜欢“自由软件”的更有可能喜欢在这个问题上保持一个哲学或道德姿态,而喜欢“开源”的则或许是不认为自由十分重要,亦或者不希望极力宣扬他们所做的。关于这次分裂的历史请看Chapter 1, 介绍the section called ““自由”还是“开源””

对于这两个术语,自由软件基金会有一个非凡的—完全不可反对的,但是微妙而公平的—解释,位于http://www.fsf.org/licensing/essays/free-software-for-freedom.html。开源软件研究院通过这两个页面传播:http://www.opensource.org/advocacy/case_for_hackers.php#marketinghttp://www.opensource.org/advocacy/free-notfree.php

FOSS, F/OSS, FLOSS

开始是两件事,不久后就变成三件,这确实是自由软件中术语所发生的事情。学术世界或许更希望精确和内涵,而不是优雅,所以设置FOSS或有时F/OSS来代表“Free / Open Source Software”。另一个变种是FLOSS,代表了“Free / Libre Open Source Software”(libre在许多语言中也是被人所熟悉的,并且没有“free”的模糊含义;更多信息请见http://en.wikipedia.org/wiki/FLOSS)。

所有这些术语实质上是同一件事:任何人可以修改并分发的软件,有时—并不一直是—要求衍生的作品必须按照同样的条款自由的分发。

DFSG-符合

符合Debian自由软件方针(http://www.debian.org/social_contract#guidelines)。这是一个许可证是否为真的开源软件(free、libre等等)的广泛使用的测试。Debian项目的目标是维护整个自由软件操作系统,这样人们安装之后就无需担心自己是否有权限修改和分发系统的任意部分。Debian自由软件方针是软件包许可证进入Debian所必需达到的要求。因为Debian项目花费了大量时间考虑如何构建这样一个测试,所以得出的方针被证明是非常健壮(http://en.wikipedia.org/wiki/DFSG)的,并且至少以我看来,无论是自由软件基金会还是开源研究院都没有提出严重的反对。如果你知道一个许可证是DFSG-符合的,你就知道它保证了支持开源项目动态性的重要自由行(例如甚至违背最初作者意愿的可分叉性)。本章讨论的许可证都是DFSG-符合的。

OSI-确认

经由开源研究院确认。这是另外一个广泛采用的确定许可证是否执行所有必要自由的测试。OSI对开源软件的定义基于Debian自由软件方针,只要符合其中一个定义就几乎可以符合另一个定义。这几年有了一些例外,但是只包括niche licenses,与这里毫无关系。不像Debian项目,OSI维护了一个所有已经经过确认的许可证列表,位于http://www.opensource.org/licenses/,所以被“OSI-确认”是一个毫不含糊的状态:许可证是否在这个列表中。

自由软件基金会在http://www.fsf.org/licensing/licenses/license-list.html维护了一个许可证的列表。FSF不仅仅根据是否自由来分类许可证,而是根据其是否与GNU的GPL兼容分类。GPL兼容是一个重要的主题,将会在本章后面的the section called “GPL和许可证兼容性”介绍。

私有, 闭源

“自由”或“开源”的对立面。这意味着软件按照传统的、基于授权的许可条款分发,用户需要为每一份拷贝支付,亦或者按照其他足够限制开源动态性操作的条款分发。即使软件可以不支付的情况下分发也可以是私有软件,只要它的许可证禁止自由分发和修改。

通常来说“私有”和“闭源”是同义词。然而“闭源”有甚至看不到源代码的附加含义。因为大多数私有软件看不到源代码,所以这经常是一个没有差别的区别。然而,偶然情况下,有一些人会使用允许其他人查看代码的许可证发布私有软件。令人混淆的是,他们有时称之为“开源”或“近似开源”等等,但确实是误导。源代码的可见性确实不是问题所在;重要的问题是你能对此做什么。因而,私有和闭源的区别几乎毫不相关,二者可以被当作同义词。

有时会使用商业作为“私有”的同义词,但是严格说来,二者并不是一回事。自由软件也可以是商业软件。毕竟,自由软件可以出售,只要购买者没有被限制为禁止放出他们自己的拷贝。在其他方面也可以是商业的,例如出售支持、服务和认证。现在有许多数百万美元的公司是建立在自由软件之上的,所有没有什么固有的反商业和反公司。另一方面,反私有则是本性,这是其区别与传统每拷贝许可证模型的关键方式。

公共域

没有版权所有者,也就是说没有人拥有可以限制复制这些作品的权利。进入公共域中与没有作者并不相同。任何事物都有一个作者,即使某个作品的作者选择将作品放到公共域,这改变不了他们编写的事实。

当一个作品进入公共域,由其组成的材料可以变成有版权的作品,之后该材料的拷贝与整个作品处于同一个版权下。但是这不会影响原始作品的存在性,它还是会保存在公共域。因而,在公共域发布一些东西从技术讲就是根据大多数自由软件认证组织的方针,使之“自由”。然而,通常有许多原因促使我们使用一些许可证,而不仅仅是简单的发布到公共域:即使对于自由软件,特定的限制也是非常有用的,这不仅仅是对于版权的所有者,也是对其他接受者,下个小节会澄清这个问题。

copyleft

使用版权法取得反对传统版权的结果的许可证。取决于你所问的人,这个许可证可能是允许这里讨论的自由,也可能是更窄一些,并非允许这些自由,而是通过契约保证必须在作品中履行自由,强制它们的许可证。自由软件基金会排他的使用第二种定义;其他情况下则只是匆忙上马:许多人像FSF一样使用这个术语,但是其他人—包括那些为主流媒体写作的人—倾向于第一种定义。不太清楚使用这个术语的人是否意识到了需要做一些区分。

一个本地的例子更加狭窄,一个更严格的定义是GNU GPL,强制所有衍生的作品也必须使用GPL许可证;更多信息请见本章后面的the section called “GPL和许可证兼容性”