许可
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
在 Android 开源项目 (AOSP) 中,我们的软件使用开放源代码促进会批准的一些开源许可。
AOSP 许可
Apache 许可 2.0 版 (Apache 2.0) 是 AOSP 的首选许可,大多数 Android 软件都使用 Apache 2.0 许可授权用户使用。尽管该项目尽可能遵循此首选许可,但也存在一些例外需要视具体情况处理。例如,与系统使用的许可不同,Linux 内核补丁程序使用的是 GPLv2 许可,您可以在 kernel.org 上找到相关信息。
贡献者许可协议
所有为 AOSP 贡献创意、代码或文档的个人贡献者(仅以个人名义做贡献的贡献者)都需要填写、签署并提交《个人贡献者许可协议》。该协议可通过代码审核工具在线签署。它明确规定了为 AOSP 贡献知识产权内容的相关条款。该许可既是为了保护贡献者,也是为了保护该项目;它不会影响贡献者将自己的贡献内容用于任何其他用途的权利。
《企业贡献者许可协议》适用于有员工从事 AOSP 方面工作的企业(或其他实体)。该版本的协议中规定,企业可以对其指派的员工提交的贡献内容进行授权,并可以授予版权和专利许可。
我们的协议基于 Apache 软件基金会所使用的协议,其协议可在 Apache 网站上找到。
为什么使用 Apache 软件许可?
对于用户空间(非内核)软件,相比其他许可(例如宽通用公共许可证 [LGPL]),我们更倾向于 Apache 2.0(以及 BSD 和 MIT 等类似许可)。原因如下。
Android 的宗旨是自由和选择。Android 旨在促进移动世界的开放性,我们无法预测或规定我们软件的所有用途。因此,虽然我们鼓励每个人打造开放且可修改的设备,但并不认为我们有权强制他们这样做。使用 LGPL 库可能带来过多限制。以下是我们关心的一些具体问题:
-
简单地说,LGPL 要求将源代码植入到应用中;书面提供源代码;或者动态关联获得 LGPL 许可的库,并允许用户手动升级或替换该库。由于 Android 软件通常是作为静态系统映像植入的,因此遵守这些要求将会限制设备制造商的设计。例如,用户很难在只读闪存中替换库。
-
LGPL 要求允许用户进行修改,并要求允许用户进行逆向工程以便调试这些修改。大多数设备制造商都不希望受到这些条款的约束。
-
长期以来,LGPL 库一直是下游设备制造商和应用开发者面临的许多合规问题的根源。如果要针对这些问题为工程师提供指导,我们将面临一项既困难又耗时的工作。务必要让设备制造商能够轻松地遵守许可,这对于 Android 的成功至关重要。
鉴于上述问题,我们为自己的代码首选 Apache 2.0。这并不是批判 LGPL 或其他许可。我们感谢各种免费的开放源代码许可,并尊重其他人的许可偏好。我们只是认定 Apache 2.0 符合我们的目标。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2022-09-20。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2022-09-20\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2022-09-20。"]]