Next Previous Contents

3. 好的许可证和版权惯例:理论

你所选择的许可证定义了你希望在你和你的协作开发者以及用户之间设定的社会契约。 你为软件设定的版权将主要起到对你为软件以及从软件中派生出的工作设置许可证的法律声明的作用。

3.1 开放源代码和版权

任何不属于公众(public domain)的东西都是有可能多于一个的版权的。按照伯尔尼公约 (自从1978年以来成为美国的法律),版权并不必须显式地声明。就是说,即使没有给出版权声明, 一部作品的作者仍然持有版权。

究竟谁是作者,是十分复杂的,尤其对于经过了许多人的工作的软件。这就是为什么许可证是重要的。 通过为能够使用那些材料而设定条款,它们可以对用户进行授权以便在版权所有者独断专行时保护用户。

在私有软件中,许可证条款被设计成保护版权的。它们是一种在确保拥有者(版权的所有者)保留 大部分法律权力的同时,把少数权力授予使用者的方式。版权所有者是非常重要的,而且许可证的逻辑 是如此的严密以至于许可证条款在技术上的精确通常并不重要了。

在开放源代码软件中,情况通常恰恰相反;版权的存在保护了许可证。版权所有者的唯一权力就是 保持并强制实行许可证。否则,只保留少数权力并且大部分选择交给了用户。特别地,版权所有者不能 修改你已经拥有的副本的条款。因此,开放源代码软件的版权所有者几乎是不相关的 -- 但许可证条款 是十分重要的。

项目的版权所有者一般是项目的当前领导者或者组织的发起者。把项目转手给新的领导者通常需要 为版权所有者的改变而进行标注(signaled)。然而,这并不是一个艰难而牢固的规则;许多开发源代码 项目都有多个版权所有者,而且还没有发生过这种纪录导致法律问题的先例。

有些软件项目选择把版权赋予自由软件基金会,在理论上,这种做法 对开放资源的保护具有重要的意义,在法律上也是可行的。

3.2 开放源代码应该施加什么限制(qualifies)

关于许可的目的,我们可以把它们区分成几种许可证可以转让的权力。复制与再发布的权力, 使用的权力,为个人使用而修改的权力,对修改后的版本进行再发布的权力。 许可证可以对任何这些权利进行限制或者附加条件。

开放源代码宗旨是大量关于如何使软件“开放源代码”或者 (按照过去的术语)“自由”的思考的结果。它对许可证的限制为:

  1. 必须授予不受限制的复制的权力。
  2. 必须授予不受限制的使用的权力。
  3. 必须授予不受限制的为个人使用而修改的权力。

该指导方针禁止对再发布修改后的二进制码施加限制;它满足了那些不希望带有任何麻烦地发放工作代码的 软件发布者的需要。它允许作者要求修改的源代码以本来的代码再加上补丁的形式再发布,从而确保作者的意图 以及其他人所作的任何修改的“审核纪录”。

开放源代码定义(OSD)是‘OSI Certified Open Source’认证标志的法定定义,而且是人们曾经提出的 “自由软件”的良好定义。所有的标准许可证(MIT、BSD、Artistic以及GPL/LGPL)都满足它(虽然有些, 比如说GPL,含有其他限制,你应该在选择它之前理解它)。

值得注意的是只允许非商业用途的许可证,即使是用“GPL”或其他标准许可证进行了装饰,也 具备开放源代码许可证的资格。它们歧视了特定的职业、个人和群体。它们使得CD-ROM的发放者和其他试图 商业地散发开放源代码软件的人的生活变得太复杂了。


Next Previous Contents