跳过主要内容
开源

理解开源软件许可证

当谈到开源软件许可证时,有两大类别。一些许可证属于copyleft许可证类别,而其他许可证则属于宽容的开源许可证类别。

文章来源

马丁·多纳迪厄

作者

Valeria

审阅者

Jordan

编辑

理解开源软件许可

当谈到开源软件许可时,有两大类别。一些许可证属于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.

Depending on the Open Source License type chosen, users may or may not be able to do certain activities with the code, such as selling it or using it commercially. In addition, there are many different types of Open Source Licenses out there, each offering different terms and conditions depending on how you want to use the source material.

因此,了解开源许可类型的重要性在于,才能充分利用其好处,所以在做出任何决定之前,请务必阅读更多内容。

开源许可类型

类型-of-oss-licence

宽容许可

宽容许可通常被称为非共享许可,允许用户使用、修改和分享源代码code,但用户也可以改变一些 Redistribution 的条款和条件,包括衍生作品。在软件的背景下,衍生作品是基于现有程序的软件。如果原始程序以宽容许可方式发布,创作者可以选择与原始作品的许可所需的不同条款分享衍生作品。

共享许可

共享许可在开源中为用户提供了修改、使用和重新分发软件的自由。然而,它要求用户向下游用户传递特定的权利,通过授予他们最初给予他们的相同权利。

版权保护许可证定义了如何重新分发和修改code的方式,禁止任何企图将其变成专有或非开源的行为。这确保了开发人员修改软件时可以访问源代码code以更新或甚至将自己的修改纳入其中。当然,任何修改都必须以开放源代码的形式提供给其他人以便他们从中受益。这对于学术或研究用例来说并不是一个问题,但是在构建商业软件时却经常是一个障碍。

为什么要包含开源软件许可证?

包含开源软件许可证对于在发布或共享软件时是至关重要的。许可证服务于以下几个重要目的:

  • 促进协作和创新。

开源许可证允许任何人查看、修改和分发软件的源代码code。这鼓励其他开发人员为您的项目贡献、修复bug并添加新功能。这可以使软件产品更加强大和创新。

  • 给用户更多的控制和灵活性。

开源许可证通常允许用户以任何目的使用、修改和分发软件,包括商业用途。这使用户对软件体验有更多的控制权,并减少了对专有软件供应商的依赖。

  • 建立围绕软件的社区。

开源许可可以帮助您建立一群热爱您的软件的用户和开发者社区。这社区可以提供支持、反馈和项目新想法。

  • 使您的软件更易于访问和包容。

开源软件通常免费下载和使用,并且通常可在多种语言中获得。这使其更易于全球各地的人们访问,无论他们的收入或背景如何。

此外,开源许可还可以帮助您:

  • 避免版权侵权。

如果您不使用许可证分发软件,则可能面临版权侵权诉讼的风险。开源许可明确授予用户使用、修改和分发您的软件的权利,这可以保护您免受法律责任。

  • 吸引和留住顶级人才。

许多有才华的软件开发者被开源项目吸引。通过将您的软件发布在开源许可下,您可以使您的公司更具吸引力。

  • 增强您的品牌声誉。

开源软件在技术社区中备受尊敬。通过将您的软件发布在开源许可下,您可以展示您的合作和创新承诺。

开源许可

最受欢迎的软件许可协议中,许可协议允许用户修改和重新分发软件,几乎没有任何限制。

MIT 许可证

The MIT 许可证 Apache License 2.0

Apache License 2.0

是一种流行的宽容软件许可协议,允许用户自由修改和重新分发软件,同时确保结果的版权声明和通知保持原始状态。这项开源许可协议允许私有修改和重新分发,并提供明确的许可条款,使任何人都可以了解在使用软件时他们的权利。 BSD (伯克利软件分发)许可协议

__CAPGO_KEEP_0__让您选择两种BSD许可协议,

GitHub 让您选择使用两种 BSD 许可证之一, 也称为“FreeBSD”许可协议;和BSD 3-Clause “新BSD”许可协议 BSD 3-Clause “新”或“修订”许可证这两个许可证的主要区别在于 3 条款。 这一条款限制了软件用户使用作者、作者或贡献者的姓名来推荐产品或服务。

Boost 软件许可证

Boost 软件许可证Boost 软件许可证是来自 C++ Boost 库的许可证,于 2008 年由 OSI 批准。这一许可证与 MIT 和 BSD 许可证类似,但在二进制形式下重新分发时不需要署名。

Copyleft 开源软件许可证

Copyleft licenses grant software users permission to use, modify, and share the source code, but also protect against relicensing through specific restrictions and terms and conditions. This represents the reciprocal characteristic of this license that requires users’ work to adhere to the original rights outlined in the license.

GNU 许可证 在 Copyleft 软件许可证中, GPL(通用公共许可证) 是最受欢迎和广泛使用的开源许可证之一。这一开源许可证授予用户自由地分发程序的副本和修改版本,只要他们保留某些条件,如版权声明、免责声明或添加到未修改程序中的任何其他许可证。

通过使用这种许可类型的软件,开发者确保了其他人可以访问他们的源代码code,从而使他们能够对其进行改进和适应,以利于社区。此外,这种“共享权利”的概念还确保了任何人都可以与免费软件一起协同工作,享受相同的自由。

Mozilla 公共许可

它 Mozilla 公共许可来自Mozilla基金会的 或MPL, and is also considered a weak copyleft license. The difference with this license (in comparison with the Eclipse Public License) is that it is file-based copyleft, which means code can be combined with open-source or proprietary code.

来自Mozilla基金会的

它 来自Mozilla基金会的是一种弱共享权利许可。与Eclipse公共许可相比,这种许可的不同之处在于,它是基于文件的共享权利许可,这意味着code可以与开源或专有__CAPGO_KEEP_1__结合使用。

Eclipse 公共许可,

  • 如果您正在将项目发布在开源许可下,请选择与您正在使用的项目兼容的许可。

  • 如果您希望允许其他人以商业目的使用您的项目,请选择允许此目的的许可。

  • 如果您希望允许其他人修改和分发您的项目,请选择允许此目的的许可。

  • 如果您希望确保您的项目始终保持免费和开源,请选择共享同等许可。

  • 如果您不确定要选择哪种许可,Open Source Initiative 提供了一个比较流行许可的列表。

选择适合您的开源项目的许可是非常重要的决定。通过仔细考虑您的需求和目标,您可以选择一个许可来实现您的期望结果。

Capgo 新许可

如何实现这一点?通过更改许可。

Capgo 已经从 MIT 许可更改为 GNU Affero 通用公共许可证 V3(AGPLv3)或更高版本的许可。Capgo 版本可以在这里找到。 在这里.

Capacitor-updater (the plugin) has now changed the license from the LGPLv3 to a newer licensing scheme called Mozilla Public License Version 2.0 (MPLv2) or any later version. Capacitor-updater version can be 在这里.

本次更改对您订阅的Capgo Cloud或自行托管Capgo的任何人都没有影响,但它可能会让几个试图使用我的软件直接竞争我而不贡献回去的公司感到不满。

AGPL是一种Google不喜欢的许可证,因为他们不愿意透露他们的封闭源code。Google反对AGPL,并且 state: “Code根据GNU Affero通用公共许可证(AGPL)许可证必须不被用于Google”。

AGPL的目标是最大限度地提高用户自由,并鼓励公司贡献开源。作为一个用户界面,独立的应用程序,我不是一个库或一个更大的项目的一部分。我不需要Google的捐赠,所以我们很高兴采用AGPL许可证。它是Capgo的正确许可证。

结论

选择开源软件许可证时,需要考虑许多因素。然而,开发者社区中有许多流行的选择。常见的宽容许可证包括MIT许可证、Apache许可证和BSD许可证。一些常见的共有许可证包括GNU通用公共许可证和Mozilla公共许可证。

继续阅读《理解开源软件许可证》

如果您正在使用 《理解开源软件许可证》 来规划live update的交付,连接它与 Capgo的实时更新 为 Capgo Live Updates 的产品工作流程, 概览 为概览中的实现细节, 功能 为功能中的实现细节, 更新行为 为更新行为中的实现细节, 更新类型 为更新类型中的实现细节。

实时更新 Capacitor 应用

当 web 层面 bug 活跃时,通过 Capgo 直接将修复推送给用户,而不是等待 app 商店批准。用户在后台接收更新,而原生变化仍在正常审查路径中。

最新博客文章

Capgo 给您所需的最佳见解,帮助您创建真正专业的移动应用