开源项目核心定义(Open Source Definition,简称OSD)是开源促进会(OSI)制定的一套标准,用于判断一个软件许可证是否符合“开源”的规范,它是开源社区公认的“宪法”。

核心定义由10条准则构成,浓缩了开源的精神实质:
- 自由再分发:不能限制任何人将软件作为整体的一部分出售或赠送。
- 源代码:程序必须包含源代码,并且必须允许以源代码形式分发。
- 衍生作品:必须允许基于原软件的修改和衍生作品,并且可以在相同许可证下分发。
- 作者源代码的完整性:只在修改版本需要不同名字或版本号时,才能限制修改后的分发,以保护原作者声誉。
- 不歧视个人或团体:不能歧视任何特定的人或群体。
- 不歧视领域:不能将软件限制在特定领域使用(如商业、军事、生物等)。
- 许可证的分发:附着于程序的权利必须适用于所有收到该程序的人,无需额外签署协议。
- 许可证不得特定于某个产品:程序的权利不能因为它成为某个更大软件发行版的一部分而无效。
- 许可证不得限制其他软件:许可证不能要求其他与该软件一起分发的软件也必须是开源软件。
- 许可证必须技术中立:许可证的任何条款都不能基于任何单独的技术或界面风格。
本质上是保障了“自由”: 使用、修改、分享、参与的自由。
一个常见的误区是: 很多人认为“开源”免费”或“无版权”,开源是基于版权法(Copyleft或宽松许可证)建立的,核心是使用权和许可权,而不是简单的不收费。
如果一个软件许可证符合以上10条,它就可以被OSI批准为“开源许可证”,该软件才能被称为“开源软件”。