4. 良好的许可和版权实践:理论篇

您选择的许可证定义了您希望在共同开发者和用户之间建立的社会契约。您对软件施加的版权主要作为您对软件及其衍生作品设定许可条款的权利的法律主张。

4.1. 开源与版权

任何非公共领域的内容都拥有版权,可能不止一个。根据伯尔尼公约(自 1978 年以来已成为美国法律),版权不必是明确声明的。也就是说,即使没有版权声明,作品的作者也拥有版权。

谁算作作者可能非常复杂,特别是对于由多人协作开发的软件。 这就是许可证如此重要的原因。 通过规定可以使用材料的条款,它们授予用户权利,以保护他们免受版权持有人的任意行为侵害。

在专有软件中,许可证条款旨在保护版权。 它们是一种在为用户授予少量权利的同时,为所有者(版权持有人)保留尽可能多的法律领域的方法。 版权持有人非常重要,许可证逻辑非常严格,以至于许可证条款的确切技术细节通常并不重要。

在开源软件中,情况通常恰恰相反; 版权的存在是为了保护许可证。 版权持有人始终保留的唯一权利是执行许可证。 否则,只保留少数权利,大多数选择权都交给用户。 特别是,版权持有人不能更改您已拥有的副本的条款。 因此,在开源软件中,版权持有人几乎无关紧要——但许可证条款非常重要。

通常,项目的版权持有人是当前的项目负责人或赞助组织。 将项目转移给新的负责人通常通过更改版权持有人来表示。 然而,这并非硬性规定; 许多开源项目有多个版权持有人,并且没有记录表明这会导致法律问题。

一些项目选择将版权转让给自由软件基金会,理由是它有兴趣捍卫开源,并且有可用的律师来做到这一点。

4.2. 什么符合开源的条件

出于许可目的,我们可以区分许可证可能传达的几种不同类型的权利。 复制和再分发的权利,使用的权利,为个人使用而修改的权利,以及再分发修改后的副本的权利。 许可证可能会限制或附加条件于任何这些权利。

开放源代码促进会 是对什么使软件成为 “开源” 或(在较旧的术语中)“自由软件” 进行大量思考的结果。 它对许可的约束要求:

  1. 必须授予无限的复制权。

  2. 必须授予无限的使用权。

  3. 必须授予无限的为个人使用而修改的权利。

该指南禁止限制修改后的二进制文件的再分发; 这满足了软件分发商的需求,他们需要能够交付可工作的代码而没有负担。 它允许作者要求将修改后的源代码作为原始源代码加上补丁重新分发,从而确立作者的意图以及其他人进行的任何更改的 “审计跟踪”

OSD 是 `OSI 认证开源' 认证标志的法律定义,并且是任何人提出的 “自由软件” 的最佳定义。 所有标准许可证(MIT、BSD、Artistic 和 GPL/LGPL)都符合它(尽管有些,如 GPL,还有其他限制,您在选择它之前应该了解这些限制)。

请注意,仅允许非商业用途的许可证符合开源许可证的条件,即使它们装饰有 “GPL” 或其他一些标准许可证。 它们歧视特定的职业、个人和群体。 它们使 CD-ROM 分发商和其他试图以商业方式传播开源软件的人的生活变得过于复杂。