跳过主要内容
开源

开源软件许可证的理解

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

文章来源

马丁·多纳迪

作者

瓦莱里亚

审阅者

乔丹

编辑

开源软件许可证的理解

关于开源软件许可证,存在两大类别。一些许可证属于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.

因此,了解开源许可证类型的重要性在于能够充分利用其优势。因此,请在做出任何决定之前,务必阅读更多相关信息。

开源许可证类型

开源许可证类型

宽容许可证

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

共享许可证

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

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

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

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

  • 促进协作和创新。

Open source licenses allow anyone to view, modify, and distribute the source code of your software. This encourages other developers to contribute to your project, fix bugs, and add new features. This can lead to a more robust and innovative software product.

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

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

  • 建立围绕您的软件的社区。

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

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

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

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

  • 避免版权侵权。

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

  • 吸引和保留顶级人才。

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

  • 增强您的品牌声誉。

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

oss_licence(1)

宽容软件许可证是最流行的。从本质上讲,这些许可证允许用户修改和重新分发软件,几乎没有任何限制。宽容软件许可证的三种最流行的版本是:

MIT License

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

Apache 2.0 授权协议

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

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

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

Boost 软件许可协议

Boost 软件许可协议,源自 C++ 的 Boost 库,并于 2008 年获得 OSI 批准。这项许可协议与 MIT 和 BSD 许可协议类似,但在二进制形式下重新分发时不需要署名。

开源许可证

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许可证 GPL(通用公共许可证) GPL是最受欢迎和广泛使用的开源许可证之一。这种许可证授予用户自由地分发程序的副本和修改版本,只要他们保留某些条件,如版权声明、免责声明或添加到未修改程序中的任何其他许可证。 通过使用这种许可证类型的软件,开发者确保了其他人可以访问他们的源代码,从而使他们能够进行改进和适应以利于社区。此外,“开源”概念确保了任何人都可以与自由软件一起共享相同的自由。

By making software available with this license type, developers are ensuring that others have access to their source code, allowing them to make improvements and adaptations that benefit the community. In addition, this concept of “copyleft” ensures that anyone can collaboratively share the same freedoms when working with free software.

Mozilla公共许可证

Mozilla公共许可证是由Mozilla基金会 Mozilla基金会Mozilla公共许可证 Mozilla公共许可证 并且被认为是一种弱的共享知识产权许可。与此许可 (与 Eclipse Public License 相比) 的区别是,它是基于文件的共享知识产权,这意味着 code 可以与开源或专有 code 结合使用。

Eclipse Public License

Eclipse 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 云或自主托管 Capgo 的任何人都没有影响,但它可能会使一些公司感到不满,因为他们试图使用我的软件来直接竞争我而不贡献回去。

AGPL 是 Google 有问题的许可协议,因为他们不愿意披露他们的封闭源 code。Google 反对 AGPL 并 声称:‘__CAPGO_KEEP_0__ 根据 GNU Affero 通用公共许可协议(AGPL)必须不被用于 Google’。AGPL 的目标是最大限度地提高用户自由,并鼓励公司贡献开源。作为一个用户界面,独立的应用程序,我不是一个库或一个更大的项目的一部分。我不需要 Google 的捐赠,所以我们很高兴地采用 AGPL 许可协议。它是 Code 的合适许可协议。

The goal of the AGPL is to maximize user freedom and to encourage companies to contribute to open-source. I’m a user facing, standalone application. I’m not a library or a piece of a bigger project. I’m not looking for Google’s donations, so we’re happy to be AGPL-licensed. It is the right license for Capgo.

状态

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

继续了解开源软件许可

如果您正在使用 了解开源软件许可 来规划实时更新的交付,连接它到 Capgo 实时更新 for the product workflow in Capgo Live Updates, 实时更新 概述 概述 功能 功能的实现细节在功能中, 为更新行为的实现细节, 和 更新类型 为更新类型的实现细节.

实时更新 Capacitor 应用

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

来自马丁的人性化支持

立即开始

最新博客文章

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