跳过主要内容
开源

了解开源软件许可证

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

Anik Dhabal Babu

Anik Dhabal Babu

内容营销人员

了解开源软件许可证

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

因此,了解开源许可证类型的重要性在于要充分了解其优点,因此请在做出任何决定之前阅读更多信息。

开源软件类型

open-source-licence-type

宽容许可证

A permissive license, sometimes referred to as a non-copyleft license, grants users permission to use, modify, and share the source code, but users also have the option to change some of those terms and conditions for redistribution, including derivative work. In the context of software, a derivative work is a piece of software that is based on an existing program. If the original was released under a permissive license, a creator can choose to share their derivative work with different terms than what the original work’s license might have required.

copyleft许可证

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

Copyleft licenses define how redistribution and changes to the code are allowed, prohibiting any attempts at making it proprietary or non-open. This ensures that developers modifying the software have access to the source code to update it or even incorporate their own changes. Of course, any modifications must also be made available so others can benefit from its open source availability. This is a non-issue for academic or research use-cases, but is often a deal breaker when building commercial software.

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

发布或共享开源软件时,包含开源软件许可证是至关重要的。许可证具有以下几个重要目的:

  • 促进合作和创新。

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

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

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

  • 建立一个围绕软件的社区。

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

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

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

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

  • 避免版权侵权。

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

  • 吸引和留住顶级人才。

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

  • 增强您的品牌声誉。

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

oss_licence(1)

宽松软件许可证是最流行的许可证类型。这些许可证允许用户修改和重新分发软件,几乎没有任何限制。其中三种最流行的宽松许可证版本是:

MIT License

The MIT License 是最流行和最宽松的开源软件许可证。它为用户提供了显著的自由度,包括允许他们自由分享、修改、使用和商业化材料,只要他们遵守许可证中规定的所有条件。

Apache License 2.0

The Apache License 2.0 是一种流行的宽松软件许可证,允许用户自由修改和重新分发软件,同时确保最终版权声明和通知保持原始形式。这项开源许可证允许私有修改和重新分发,并提供明确的许可条款,使任何人都可以了解在使用软件时的权利。

BSD (伯克利软件分发)许可证

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

Boost Software License

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

Copyleft 开源软件许可证

copyleft 许可证允许软件用户使用、修改和分享源代码 code, 但也保护了通过特定的限制和条款来防止重新授权。 这代表了这种许可证的相互作用特征,要求用户的工作遵守许可证中规定的原始权利。

GNU 许可证 在copyleft软件许可证方面, GPL(通用公共许可证) 是最受欢迎和广泛使用的。 这种开源许可证允许用户在保留某些条件(如版权声明、免责声明或已添加的未修改程序的许可证)时,分发程序副本和修改版本。

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

Mozilla 公共许可证

Mozilla 公共许可证 Mozilla 公共许可证Mozilla 公共许可证 Mozilla 公共许可证 和它被认为是一种弱的共享知识产权许可证。与此许可证相比(与Eclipse Public License相比),它的不同之处在于它是基于文件的共享知识产权许可证,这意味着code可以与开源或专有code结合使用。

Eclipse Public License

The Eclipse Public LicenseEclipse Public License是来自Eclipse基金会的许可证,被认为是一种弱的共享知识产权许可证。弱的共享知识产权许可证要求软件用户分享他们对code的任何更改。这项许可证选择实施一种较弱的共享知识产权,以减少用户遇到的GNU的通用公共许可证的更严格的要求。

如何选择适合您的项目的许可证?

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

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

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

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

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

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

Capgo新版许可证

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

Capgo has now changed the license from the MIT to a newer licensing scheme called GNU Affero General Public License V3 (AGPLv3) or any later version. Capgo version can be __CAPGO_KEEP_1__版本可以在这里找到。.

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_KEEP_1__-updater版本可以在这里找到。.

这项更改对订阅Capgo Cloud或自行托管Capgo的任何人都没有影响,但可能会使一些公司感到不满,因为他们试图使用我的软件来直接竞争我而不贡献回去。

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

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

结论

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

继续了解开源软件许可

如果您正在使用 了解开源软件许可 来规划实时更新的交付,连接它与 Capgo 实时更新 为产品工作流程在Capgo 实时更新中 概览 为概览中的实现细节 功能 为功能中的实现细节 更新行为 对于在 Update Behavior 中的实现细节, 更新类型 对于在 Update Types 中的实现细节。

实时更新 Capacitor 应用

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

立即开始

最新博客文章

Capgo 为您提供创建真正专业的移动应用所需的最佳见解。