跳转到内容

FOSS 许可/FOSS 与专有软件有何不同

来自维基教科书,开放世界中的开放书籍

FOSS 的发展可以被认为是软件开发者社区对现有软件版权法律定义的回应。对于自由软件开源开发者来说,访问源代码是行使版权中捆绑的权利的先决条件,例如复制作品的权利、分发这些副本的权利以及准备衍生作品的权利。

[编辑 | 编辑源代码]

1970 年代,法律机构和 IT 行业的发展促成了美国自由软件运动的形成。一方面,美国版权法1976 年经历了重大修订,软件是否可以版权保护的问题在 IT 公司的持续压力下摆上了桌面。[1] 另一方面,虽然软件过去常与硬件捆绑在硬件市场上,但 IT 行业开始将软件本身视为一个单独的产品。[2] 此时,IT 公司开始从研究机构招募更多开发者来开发软件,这些公司要求这些人在招募时签署保密协议。

理查德·斯托曼关于一个鲜明的道德抉择

[编辑 | 编辑源代码]

在上述转型之前,实验室的惯例是共享源代码和副本。对于当时在麻省理工学院(MIT)实验室工作的理查德·斯托曼(RMS)来说,这种变化破坏了尊重共享和“帮助邻居”道德的社区。对于斯托曼,一个才华横溢的程序员,他可以轻松地与专有公司签署合同和保密协议,以换取高薪,而“鲜明的道德抉择”则是他自己的私利(以及专有软件公司)与软件开发者社区的生存和可持续性之间的选择。他选择了后者,并开始了自由软件运动。[3]

自由软件定义

[编辑 | 编辑源代码]

自由软件 是关于授予用户运行、复制、分发、学习、更改和改进软件的自由。自由软件是指提供以下自由的任何软件。运行程序的自由(自由 0)。

  1. 出于任何目的运行程序(自由 0)。
  2. 研究程序的工作原理,并根据您的需要进行调整(自由 1)。访问源代码是实现这一目的的前提条件。
  3. 重新分发副本,这样您就可以帮助您的邻居(自由 2)。
  4. 改进程序,并将您的改进发布到公众,使整个社区受益(自由 3)。访问源代码是实现这一目的的前提条件。[4]

除了强调访问源代码之外,自由软件定义还规定了用户复制、分发副本、修改软件以及分发受版权保护作品的衍生作品的权利。所有这些权利都专属于版权法下版权持有者。

创建自由软件环境

[编辑 | 编辑源代码]

GNU 项目和自由软件基金会

[编辑 | 编辑源代码]

仅仅规定用户或非版权持有者的权利是不够的。重要的是还要有一个可以行使这些权利的计算环境。因此,GNU 项目1984 年启动,旨在开发 GNU 系统,一个完整的 UNIX 风格的自由操作系统。如今,GNU 项目还包括其他软件应用程序。

1985 年自由软件基金会(FSF)成立,旨在推广自由软件的理念。它不仅通过分发自由软件来促进自由软件的开发和使用,而且还通过鼓励创建一个连贯的系统(GNU 操作系统)并提供专有软件的替代方案来促进自由软件的开发和使用。有关更多信息,请参见http://www.gnu.org/gnu/thegnuproject.html

GNU 通用公共许可证

[编辑 | 编辑源代码]

在现有的法律规范下,一旦作品创作完成,版权保护便专属于版权持有者。如果没有明确的表达,则假设版权持有者主张所有授予她的权利。如果版权持有者希望放弃部分或全部授予她的权利,法律便会让她承担明确表达的负担。

有些人可能不希望行使所有授予他们的权利。但是,他们可能不知道如何进行这样的明确表达。GNU 通用公共许可证(GNU GPL)可以作为一种法律工具来帮助人们做到这一点。

GNU GPL 是一种许可证。与专有许可证不同,它授予用户法律专属于版权持有者的权利。这些权利包括访问源代码的权利;运行程序的权利;复制和分发副本的权利;以及修改程序和分发修改后的程序的权利。

另一方面,尽管GNU GPL赋予用户许多使用软件的权利和自由,但它也对想要分发程序或制作和分发衍生作品的人设置了一些限制,以确保软件及其衍生作品将保持免费。 [5]

当一个作品在GNU GPL下获得许可时,这意味着它的作者仍然声称版权,但采用不同的许可证作为明确的表达,允许公众比默认的版权法允许的拥有更大的自由来使用她的作品。

开源软件

[编辑 | 编辑源代码]

虽然自由软件倡导者认为这四项自由是一个道德问题,但开源软件的推广者更多地关注技术价值,因此更具商业友好性。 [6] 开源倡议(OSI)作为一个组织运营,通过管理和推广开源定义(OSD)及其开源许可证和产品的认证标志来推动开源运动。

开源定义

[编辑 | 编辑源代码]

OSD是对Debian GNU/Linux 发行版的政策文档的修订,旨在阐明哪些许可证是免费许可证。 [7] OSI 解释了开源的基本理念:

开源背后的基本理念很简单:当程序员可以阅读、重新分发和修改软件的源代码时,软件就会发展。人们会改进它,人们会调整它,人们会修复错误。[8]

OSD呼应了自由软件定义中规定的权利,包括用户访问源代码的权利(第 2 节),用户复制作品和分发副本的权利(第 1 节),以及修改作品和分发衍生作品的权利(第 3 节)。

OSD 还包含几个不歧视条款(第 5、6、8、9 和 10 节)。尽管没有以相同的方式陈述,但这些不歧视的理念也存在于自由软件定义中。OSD 的第 7 节旨在防止通过间接方式(例如要求不披露协议)来阻止源代码。但是,自由软件定义中没有明确说明对作者源代码完整性的强调以及对分发修改后的作品的要求(第 4 节)。有关详细信息,请参见http://www.opensource.org/docs/definition.php

OSI 批准的许可证

[编辑 | 编辑源代码]

OSI通过遵循某些程序来认证和识别许可证为开源许可证。认证是在请求时进行的,新批准的开源许可证将被添加到 OSI 在http://www.opensource.org/licenses维护的开源许可证列表中。

随着最近的 FOSS 开发,OSI 批准的许可证数量一直在增长。一些许可证来自 FOSS 社区:GNU GPLLGPLPHP 许可证NetHack 通用公共许可证。来自学术/研究机构的许可证包括 NASA 开源协议、MIT 许可证 和伊利诺伊大学/NCSA 开源许可证。一些已将 FOSS 作为其策略的一部分的专有公司也开发了 FOSS 许可证,包括Apple 公共源代码许可证Eclipse 公共许可证Qt 公共许可证Mozilla 公共许可证。实际上,OSI 批准的许可证中很大一部分是由营利性公司开发的。

自由还是限制性?

[编辑 | 编辑源代码]

虽然自由软件定义开源定义有很多共同之处,但在修辞方面却有所不同,这反映了它们在哲学上的差异。

例如,有些人可能会将GNU GPLLGPL描述为“高度限制性”,因为FSF设置了许多限制,以确保自由软件及其衍生作品保持自由。然而,对于 FSF 来说,这些限制是自由软件健康环境的先决条件。

FSF还维护着一个自由软件许可证和非自由软件许可证的列表。虽然 FSF 有时会将这些相对简单的许可证描述为“宽松的”,但它从未将更复杂的许可证描述为“限制性的”。

尽管存在哲学差异,但在大多数情况下,FSFOSI都同意对 FOSS 和非 FOSS 许可证的分类。FSF 分析了 26 个 OSI 批准的许可证,其中只有两个,原始艺术许可证互惠公共许可证被认为是非自由许可证。

华夏公益教科书