开源许可证的类型
Posted: Mon Mar 17, 2025 8:17 am
理查德·斯托曼
他的服务随后被一家商业组织收购。作为回应,斯托曼于 1983 年开始致力于 GNU 项目。他的目标是开发一个完全免费的操作系统,与 UNIX 兼容并包含必要的应用程序。
为了支持和发展这个想法,斯托曼决定创立非营利性的自由软件基金会。该组织开始推广自由软件的四个主要原则:
为任何目的使用该程序的权利。
研究和修改程序的能力。
与他人共享该程序的权利。
改进计划的机会。
软件只有满足所有这些条件才被称为自由软件。然而,这里出现了一些细微差别。
为了区分概念,消除混淆,开发者社区于1998年提出了“开源”的概念。为了推广这一想法,一个名为“开放源代码倡议”的组织成立了。
OSI 爱好者已经制定了标准来明确定义“开源”一词的含义。这些标准包括以下规定:
分发自由开源解决方案可以不受限制地销售。
无版税。开发人员使用或分发源代码无需支付任何费用。
源代码可用性。该软件的源代码可供所有人使用,可以轻松地从互联网上免费下载。
禁止代码扭曲。禁止更改源代码或允许其分析、修改和使用变得更加复杂。
没有歧视。软件的分发方式不得对任何个人、团体或活动造成限制。
修改自由。任何基于此软件的修改版本或作品均须按照与原始软件相同的条款进行分发。
那么,关于开源软件和自由软件之间的区别:
开源专注于提供代码的技术优势,例如提高软件质量和安全性。
自由软件强调伦理和道德方面,强调用户研究和改变程序的自由的重要性。
虽然乍一看许可证和开源似乎是非常矛盾的概念,但实践表明,在这里法律监管是必要的。最初,开源倡导者拒绝正式的许可协议。但后来很明显,任何自由都需要一定的秩序,特别是与知识产权相关的自由。
对于开源产品来说,许可证并不是一组限制。它更像是一种设定作者与用户之间互动规则的协议。
在研究开源许可证时,您可能会遇到以下术语:
宽松的许可证
这些许可证不施加任何限制。他们几乎没有对该程序的使 vnpay 数据库 用方式施加任何限制。此外,还允许选择任何许可证来开发在其基础上创建的产品。
此类开源许可证的示例
MIT许可证是一种非常常见的许可证,因为它的限制很少。您可以自由地使用此代码使用、修改、共享甚至销售您的产品。无需提供源代码。主要是为了表明作者,而不是要求任何保证。
Apache 2.0 –强调版权。必须在每个文件或特殊的 NOTICE 文件中注明作者身份。如果您在 Apache 2.0 下使用其他人的组件及其 NOTICE 文件,则需要将其包含在您的产品中。该许可证允许对您的产品进行任何类型的许可,仅要求归属和修改。
BSD-条件数量不同。如果它只有两个条款,那么它几乎与 MIT 许可证一样自由,并允许自由使用和分发代码。但是,如果有三点或四点,则会出现额外的限制,例如,重用代码时需要更严格地遵守规则。
他的服务随后被一家商业组织收购。作为回应,斯托曼于 1983 年开始致力于 GNU 项目。他的目标是开发一个完全免费的操作系统,与 UNIX 兼容并包含必要的应用程序。
为了支持和发展这个想法,斯托曼决定创立非营利性的自由软件基金会。该组织开始推广自由软件的四个主要原则:
为任何目的使用该程序的权利。
研究和修改程序的能力。
与他人共享该程序的权利。
改进计划的机会。
软件只有满足所有这些条件才被称为自由软件。然而,这里出现了一些细微差别。
为了区分概念,消除混淆,开发者社区于1998年提出了“开源”的概念。为了推广这一想法,一个名为“开放源代码倡议”的组织成立了。
OSI 爱好者已经制定了标准来明确定义“开源”一词的含义。这些标准包括以下规定:
分发自由开源解决方案可以不受限制地销售。
无版税。开发人员使用或分发源代码无需支付任何费用。
源代码可用性。该软件的源代码可供所有人使用,可以轻松地从互联网上免费下载。
禁止代码扭曲。禁止更改源代码或允许其分析、修改和使用变得更加复杂。
没有歧视。软件的分发方式不得对任何个人、团体或活动造成限制。
修改自由。任何基于此软件的修改版本或作品均须按照与原始软件相同的条款进行分发。
那么,关于开源软件和自由软件之间的区别:
开源专注于提供代码的技术优势,例如提高软件质量和安全性。
自由软件强调伦理和道德方面,强调用户研究和改变程序的自由的重要性。
虽然乍一看许可证和开源似乎是非常矛盾的概念,但实践表明,在这里法律监管是必要的。最初,开源倡导者拒绝正式的许可协议。但后来很明显,任何自由都需要一定的秩序,特别是与知识产权相关的自由。
对于开源产品来说,许可证并不是一组限制。它更像是一种设定作者与用户之间互动规则的协议。
在研究开源许可证时,您可能会遇到以下术语:
宽松的许可证
这些许可证不施加任何限制。他们几乎没有对该程序的使 vnpay 数据库 用方式施加任何限制。此外,还允许选择任何许可证来开发在其基础上创建的产品。
此类开源许可证的示例
MIT许可证是一种非常常见的许可证,因为它的限制很少。您可以自由地使用此代码使用、修改、共享甚至销售您的产品。无需提供源代码。主要是为了表明作者,而不是要求任何保证。
Apache 2.0 –强调版权。必须在每个文件或特殊的 NOTICE 文件中注明作者身份。如果您在 Apache 2.0 下使用其他人的组件及其 NOTICE 文件,则需要将其包含在您的产品中。该许可证允许对您的产品进行任何类型的许可,仅要求归属和修改。
BSD-条件数量不同。如果它只有两个条款,那么它几乎与 MIT 许可证一样自由,并允许自由使用和分发代码。但是,如果有三点或四点,则会出现额外的限制,例如,重用代码时需要更严格地遵守规则。