开源定义(带注释)

2020-09-08 14:27 更新

下面的斜体,斜体部分显示为开放源代码定义(OSD)的注释,而不是OSD的一部分。没有注释的OSD普通版本可以在这里 找到。

介绍

开源不仅仅意味着对源代码的访问。开源软件的发行条款必须符合以下条件:

1.免费重新分发

许可证不得限制任何一方将软件作为包含多个不同来源程序的总软件分发的一部分出售或赠送。许可证不要求此类销售的特许权使用费或其他费用。

理由:通过限制许可证要求免费重新分配,我们消除了许可方放弃许多长期收益而取得短期收益的诱惑。如果我们不这样做,合作伙伴将面临很大的压力。

2.源代码

该程序必须包括源代码,并且必须允许以源代码和编译形式进行分发。在某种形式的产品未附带源代码的情况下,必须有一种众所周知的获取源代码的方式,其价格不超过合理的复制成本,最好是通过Internet免费下载。源代码必须是程序员用来修改程序的首选形式。不允许故意混淆的源代码。不允许使用中间形式,例如预处理器或翻译器的输出。

原理:我们需要访问未混淆的源代码,因为如果不修改它们就无法开发程序。因为我们的目的是使进化变得容易,所以我们要求使修改变得容易。

3.衍生作品

该许可证必须允许修改和衍生的作品,并且必须允许它们按照与原始软件的许可证相同的条款进行分发。

理由:仅阅读源代码的能力不足以支持独立的同行评审和快速的进化选择。为了实现快速发展,人们需要能够试验并重新分配修改。

4.作者源代码的完整性

当许可证允许分发带有源代码的“补丁文件”,以便在构建时修改程序时,许可证才能限制以修改形式分发源代码。该许可证必须明确允许分发由修改后的源代码构建的软件。该许可证可能要求派生作品带有与原始软件不同的名称或版本号。

基本原理:鼓励进行大量改进是一件好事,但是用户有权知道谁对他们使用的软件负责。作者和维护者有权知道要求他们提供哪些内容以支持和保护自己的声誉。

因此,开放源代码许可证必须保证该源易于使用,但可能需要将其作为原始基础源和补丁程序进行分发。这样,可以提供“非官方”更改,但可以很容易地将其与基本源区分开。

5.不歧视个人或群体

许可证不得歧视任何人或一群人。

理由:为了从该过程中获得最大收益,个人和群体的最大多样性也应同样有资格为开源做出贡献。因此,我们禁止任何开源许可证将任何人锁定在流程之外。

某些国家(包括美国)对某些类型的软件有出口限制。符合OSD的许可证可能会警告被许可人适用的限制,并提醒他们必须遵守法律。但是,它本身可能不会包含此类限制。

6.不歧视努力领域

该许可证不得限制任何人在特定领域内使用该程序。例如,它可能不会限制该程序在企业中使用或在遗传研究中使用。

理由:该条款的主要目的是禁止许可证陷阱,以防止开源软件在商业上使用。我们希望商业用户加入我们的社区,而不是被排斥在社区之外。

7.许可证的分配

程序附带的权利必须适用于所有向其重新分发了程序的人,而无需那些当事方执行附加许可。

理由:该条款旨在禁止通过间接方式(例如要求保密协议)关闭软件。

8.许可不得特定于产品

程序附带的权利不得取决于程序是否属于特定软件发行版。如果从该发行版本中提取程序,并在该程序的许可范围内使用或分发该程序,则重新发行该程序的所有各方均应具有与原始软件发行版本所授予的相同的权利。

理由:该条款排除了另一类许可证陷阱。

9.许可证不得限制其他软件

许可证不得限制与许可软件一起分发的其他软件。例如,许可证不得强制要求在同一介质上分发的所有其他程序都必须是开源软件。

理由:开源软件的发行者有权对自己的软件做出自己的选择。

是的,GPL v2和v3符合此要求。与GPLed库链接的软件仅在构成单个作品时才继承GPL,而不是仅与它们一起分发的任何软件。

10.许可证必须是技术中立的

不得根据任何单独的技术或界面样式确定许可条款。

理由:此条款专门针对需要明确表示同意才能在许可方和被许可方之间建立合同的许可。强制进行“单击包装”的规定可能与重要的软件分发方法(例如FTP下载,CD-ROM选集和Web镜像)冲突。这些规定也可能会阻碍代码的重用。合格许可必须考虑以下可能性:(a)通过不支持下载的点击包装的非Web渠道进行软件重新分发,以及(b)涵盖的代码(或涵盖的重复使用部分)代码)可以在不支持弹出对话框的非GUI环境中运行。

开源定义最初源自Debian自由软件准则 (DFSG)。

1.9版,最后修改时间,2007年3月22日

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号