开源定义

页面创建于 2006 年 7 月 7 日 | 最后修改于 2024 年 2 月 16 日

导言

开源不仅仅意味着可以访问源代码。开源软件的分发条款必须符合以下标准

1. 自由再分发

许可证不得限制任何一方出售或赠送该软件,作为包含来自多个不同来源的程序的聚合软件分发包的组件。许可证不得要求对此类销售收取版税或其他费用。

2. 源代码

程序必须包含源代码,并且必须允许以源代码以及编译形式分发。如果某种形式的产品未与源代码一起分发,则必须有公开的方式来获取源代码,费用不得超过合理的复制成本,最好是通过互联网免费下载。源代码必须是程序员修改程序时的首选形式。故意混淆的源代码是不允许的。中间形式,例如预处理器或翻译器的输出,是不允许的。

3. 衍生作品

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

4. 作者源代码的完整性

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

5. 不得歧视个人或群体

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

6. 不得歧视应用领域

许可证不得限制任何人在特定应用领域中使用该程序。例如,它不得限制该程序在商业中使用,或用于基因研究。

7. 许可证的分发

附加到程序的权利必须适用于所有重新分发程序的人,而无需这些方执行额外的许可证。

8. 许可证不得特定于产品

附加到程序的权利不得取决于程序是否为特定软件分发包的一部分。如果程序从该分发包中提取出来,并在程序许可证的条款范围内使用或分发,则所有重新分发程序的一方都应享有与原始软件分发包授予的权利相同的权利。

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

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

10. 许可证必须保持技术中立

许可证的任何条款都不得基于任何个人技术或界面风格。


开源定义最初来源于 Debian 自由软件指南 (DFSG)。

版本 1.9,最后修改于 2007-03-22

这是 2000 年代早期的历史版本 “带注释的 OSD”。