当谈到开源软件许可证时,有两大类别。一些许可证属于copyleft许可证类别,而其他许可证则属于宽容开源许可证类别。
本文将解释什么是开源软件许可证以及其类型。
介绍
An Open Source License is a type of license that allows users to freely view, modify, and share the source material of the software. This way, users are able to frequently update the source code and build on the original product.
根据您选择的开源许可证类型,用户可能或可能不允许对code进行某些活动,例如出售或商业使用。另外,开源许可证有很多种类,每种都有不同的条款和条件,取决于您如何使用源材料。
因此,了解开源许可证类型的重要性在于您可以充分利用其优势,所以在做出任何决定之前,请务必阅读更多相关信息。
开源许可证类型
宽容许可证
宽容许可证(也称为非共享许可证)允许用户使用、修改和分享源code,但用户也可以改变一些 Redistribution 的条款和条件,包括衍生作品。在软件的背景下,衍生作品是基于现有程序的软件。如果原始程序以宽容许可证发布,创作者可以选择与原始作品许可证所需的条款不同的衍生作品进行共享。
共享许可证
共享许可证在开源中为用户提供了修改、使用和重新分发软件的自由。然而,它要求用户向下游用户传递特定的权利,通过授予他们最初给予他们的权利。
版权许可证定义了重新分发和修改的code的许可方式,禁止任何企图将其变成专有或非开放的尝试。这确保了开发人员修改软件时可以访问源代码code以更新或甚至将自己的修改纳入其中。当然,任何修改都必须以开放源代码的形式提供给其他人,以便他们可以从其开放源代码的可用性中受益。这对于学术或研究用例来说并不是一个问题,但是在构建商业软件时却经常是一个障碍。
为什么要包含开源软件许可?
包含开源软件许可是当您以开源方式发布或共享软件时非常重要的。许可证具有以下几个重要的目的:
- 促进协作和创新。
开源许可证允许任何人查看、修改和分发软件的源代码code。这鼓励其他开发人员为您的项目贡献、修复错误并添加新功能。这可能会导致软件产品更强大和创新。
- 给用户更多的控制和灵活性。
开源许可证通常允许用户以任何目的使用、修改和分发软件,包括商业用途。这使用户对软件体验有更多的控制权,并减少了对专有软件供应商的依赖。
- 建立围绕您的软件的社区。
开源许可证可以帮助您建立一群热爱您的软件的用户和开发者社区。这个社区可以提供支持、反馈和对您的项目的新想法。
- 让您的软件更易于访问和包容。
开源软件通常免费下载和使用,且通常支持多种语言。这使其更易于全球各地的人们使用,无论他们的收入或背景如何。
此外,开源许可证还可以帮助您:
- 避免版权侵权。
如果您没有许可证分发您的软件,您可能面临版权侵权诉讼的风险。开源许可证明确授予用户使用、修改和分发您的软件的权利,这可以保护您免受法律责任。
- 吸引和留住顶级人才。
许多有才华的软件开发者被开源项目所吸引。通过将您的软件发布在开源许可证下,您可以使您的公司更具吸引力。
- 提升您的品牌声誉。
开源软件在技术界广受尊敬。通过将您的软件发布在开源许可证下,您可以展示您的合作和创新承诺。
流行的宽容软件许可证
Permissive software licenses are among the most popular. In essence, these licenses allow users to modify and redistribute the software as they please, with minimal restrictions. Three of the most popular versions of permissive software licenses are:
MIT License
The MIT License is the most popular and permissive open source software licenses. It provides users with notable freedoms, including allowing them to freely share, modify, use, and commercialize the material if they adhere to all the conditions set forth in the license.
Apache License 2.0
The Apache License 2.0 is a popular permissive software license that enables users to freely modify and redistribute the software while having the assurance that the resulting copyright statements and notices are kept in primary form. This open-source license allows proprietary modifications and redistribution and provides clear licensing terms so anyone can understand their rights when using the software.
BSD (Berkeley Software Distribution) License
GitHub lets you choose between two BSD licenses, the BSD 2-Clause “Simplified” License, sometimes referred to as the “FreeBSD” license; and the BSD 3-条款“新”或“修订”许可证. 这两个许可证的主要区别在于 3-条款。这个条款限制了软件用户使用作者、作者或贡献者的名字来推荐产品或服务。
Boost 软件许可证
The Boost Software License在 C++ 中的 Boost 库中,__CAPGO_KEEP_0__,于 2008 年获得 OSI 批准。这项许可证与 MIT 和 BSD 许可证类似,但在二进制形式下重新分发时不需要署名。
开源软件的共有版权许可证
在 Copyleft 许可证下,软件用户获得了使用、修改和分享源代码的权利(即 code ),同时也受到特定的限制和条款的保护。这反映了该许可证的相互性质,即用户的工作必须遵守许可证中规定的原始权利。
GNU 许可证 当涉及到copyleft软件许可证时, GNU 通用公共许可证 在 __CAPGO_KEEP_0__ 中,开源许可证是最受欢迎和广泛使用的之一。这一许可证允许用户自由分发程序的副本和修改版本,只要他们保留某些条件,如版权声明、免责声明或已添加到未修改程序中的其他许可证。
通过采用这种许可类型的软件,开发者确保其他人可以访问他们的源代码code,从而使他们能够对其进行改进和适应,以利于社区。此外,这种“共享权”概念确保了任何人在与免费软件合作时都可以共享相同的自由。
Mozilla 公共许可
The Mozilla 公共许可, 或 MPL,来自 Mozilla 基金会 并且也被认为是一种弱共享权许可。与 Eclipse 公共许可相比,这种许可的不同之处在于它是基于文件的共享权许可,这意味着code可以与开源或专有code结合使用。
Eclipse 公共许可
The Eclipse 公共许可, 来自 Eclipse 基金会,并被认为是一种弱共享权许可。弱共享权许可要求软件用户分享他们对code所做的任何更改。这项许可选择实施一种较弱的共享权,以减少用户遇到的 GNU 通用公共许可证的更严格的要求。
如何选择适合您的项目的许可证?
-
如果您正在将项目发布为开源许可证,请选择与您正在使用的项目兼容的许可证。
-
如果您希望允许其他人以商业目的使用您的项目,请选择允许此目的的许可证。
-
如果您希望允许其他人修改和分发您的项目,请选择允许此目的的许可证。
-
如果您希望确保您的项目始终保持免费和开源,请选择copyleft许可证。
-
如果您不确定要选择哪个许可证,Open Source Initiative 有一个比较流行许可证的列表。
为您的开源项目选择正确的许可证是一个重要的决定。通过仔细考虑您的需求和目标,您可以选择一个许可证来实现您的期望结果。
Capgo新许可证
如何实现所有这些?通过更改许可证。
Capgo已更改许可证,从MIT许可证更改为GNU Affero General Public License V3(AGPLv3)或更高版本。Capgo版本可以 在这里找到.
Capacitor-updater(插件)已更改许可证,从LGPLv3更改为Mozilla Public License Version 2.0(MPLv2)或更高版本。Capacitor-updater版本可以 在这里找到.
This change makes no difference to any of you who subscribe to Capgo Cloud or who self-host Capgo, but it may upset a few corporations who tried to use my software to directly compete with me without contributing back.
AGPL 是 Google 不喜欢的许可证,因为他们不愿意披露他们的封闭源码 code。 Google 对 AGPL 表示反对, 状态: “Code 根据 GNU Affero 通用公共许可证(AGPL)许可证必须不被用于 Google”。
AGPL 的目标是最大限度地提高用户的自由度,并鼓励公司为开源项目贡献。 我是一个面向用户的独立应用程序。 我不是一个库,也不是一个更大的项目的一部分。 我不需要 Google 的捐款,所以我们很高兴采用 AGPL 许可证。 这是 Capgo 的正确许可证。
结论
选择开源软件许可证时,需要考虑许多因素。 然而,开发者社区中有许多流行的选择。 常见的宽容许可证包括 MIT 许可证、Apache 许可证和 BSD 许可证。 一些常见的共有许可证包括 GNU 通用公共许可证和 Mozilla 公共许可证。
继续阅读 Understanding Open-Source Software Licenses
如果您正在使用 Understanding Open-Source Software Licenses 来计划实时更新的传递,连接它与 Capgo 实时更新 为产品工作流程在Capgo Live Updates中, 概览 为概览中的实现细节, 功能 为功能中的实现细节, 更新行为 为更新行为中的实现细节,和 更新类型 为更新类型中的实现细节。