第三方开源软件引入指导.md 3.5 KB
Newer Older
J
jalenchen 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
# 第三方开源软件引入指导

## 目的
提供易用、高质量的开源软件是OpenHarmony的重要目标,因第三方开源软件数量多,而社区开发人员同样数量多、分布广,为确保OpenHarmony项目的整体质量,特别拟定本指南,供社区贡献者参考。

## 范围
本指导适用于所有引入到OpenHarmony项目中的第三方开源软件。

## 规则

### 基本要求
为便于第三方开源软件的维护与演进,在引入第三方开源软件时请参考如下原则:</BR>

1. 若需要使用的开源软件在OpenHarmony项目中已存在,请使用OpenHarmony项目中已存在的版本。
2. 引入新的第三方开源软件到OpenHarmony项目时,请以“third_party_开源软件名”新建一个仓,其中软件名称必须和官网/社区保持一致,不可随意命名。
3. 第三方开源软件仓应当完整保留该开源软件官方代码仓的目录结构、许可证及Copyright信息。
4. 不建议引入未发布正式版本(如只发布Beta版本)的开源软件。
5. 若需针对引入的开源软件进行修改,请将修改的代码放在该开源软件仓中,并确保满足该开源软件的许可证要求。

如因特殊原因不能满足上述要求但又需要引入,请向PMC咨询,邮箱:pmc@openharmony.io

### 第三方开源软件许可证要求
1. 第三方开源软件许可证类型必须是[OSI](https://opensource.org/osd-annotated) 明确定义的。
2. 第三方开源软件许可证必须与使用该开源软件的代码仓许可证兼容。
3. 如下类型许可证可以引入到OpenHarmony项目中:
* Apache License 2.0
* Mulan Permissive Software License,Version 2
* BSD 2-clause
* BSD 3-clause
* DOM4J License
* PostgreSQL License
* Eclipse Distribution License 1.0
* MIT
* ICU
* W3C Software License
* zlib/libpng
* Python Software Foundation License
* Python Imaging Library Software License
* Boost Software License Version 1.0
* WTF Public License
* UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE

4. 如下类型许可证不建议引入到OpenHarmony项目中:
* GNU GPL 1, 2, 3
* GNU Affero GPL 3
* GNU LGPL 2, 2.1, 3
* QPL
* Sleepycat License
* Server Side Public License (SSPL) version 1
* Code Project Open License (CPOL)
* BSD-4-Clause/BSD-4-Clause (University of California-Specific)
* Facebook BSD+Patents license
* NPL 1.0/NPL 1.1
* The Solipsistic Eclipse Public License
* The "Don't Be A Dick" Public License
* JSON License
* Binary Code License (BCL)
* Intel Simplified Software License
* JSR-275 License
* Microsoft Limited Public License
* Amazon Software License (ASL)
* Java SDK for Satori RTM license
* Redis Source Available License (RSAL)
* Booz Allen Public License
* Creative Commons Non-Commercial
* Sun Community Source License 3.0
* Common Development and Distribution Licenses: CDDL 1.0 and CDDL 1.1
* Common Public License: CPL 1.0
* Eclipse Public License: EPL 1.0
* IBM Public License: IPL 1.0
* Mozilla Public Licenses: MPL 1.0, MPL 1.1, and MPL 2.0
* Sun Public License: SPL 1.0
* Open Software License 3.0
* Erlang Public License
* UnRAR License 
* SIL Open Font License
* Ubuntu Font License Version 1.0
* IPA Font License Agreement v1.0
* Ruby License
* Eclipse Public License 2.0: EPL 2.0

如要引入其它类型License或上述(4)所列License,请向PMC咨询,邮箱:pmc@openharmony.io

## 本指导的改进及修订说明
本指导的变更由PMC维护,随着OpenHarmony的演进该指导可能不断刷新、完善,请社区贡献者关注最新版本的指导。