From 15959ad0da20429bae7527523ac0bea2b4dae3f9 Mon Sep 17 00:00:00 2001 From: jalenchen Date: Tue, 20 Oct 2020 11:14:24 +0800 Subject: [PATCH 1/7] add 3rd oss guide --- ...25\345\205\245\346\214\207\345\257\274.md" | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 "contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" diff --git "a/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" "b/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" new file mode 100644 index 00000000000..1f1d681a59b --- /dev/null +++ "b/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" @@ -0,0 +1,85 @@ +# 第三方开源软件引入指导 + +## 目的 +提供易用、高质量的开源软件是OpenHarmony的重要目标,因第三方开源软件数量多,而社区开发人员同样数量多、分布广,为确保OpenHarmony项目的整体质量,特别拟定本指南,供社区贡献者参考。 + +## 范围 +本指导适用于所有引入到OpenHarmony项目中的第三方开源软件。 + +## 规则 + +### 基本要求 +为便于第三方开源软件的维护与演进,在引入第三方开源软件时请参考如下原则:
+ +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的演进该指导可能不断刷新、完善,请社区贡献者关注最新版本的指导。 \ No newline at end of file -- Gitee From a7d4e410cffd837f0d0f78575fd1cb19cf36dc85 Mon Sep 17 00:00:00 2001 From: jalenchen Date: Tue, 20 Oct 2020 11:41:23 +0800 Subject: [PATCH 2/7] add 3rd oss guide index --- .../\350\264\241\347\214\256\344\273\243\347\240\201.md" | 4 ++++ 1 file changed, 4 insertions(+) diff --git "a/contribute/\350\264\241\347\214\256\344\273\243\347\240\201.md" "b/contribute/\350\264\241\347\214\256\344\273\243\347\240\201.md" index 5cb402e6324..f945049db8d 100755 --- "a/contribute/\350\264\241\347\214\256\344\273\243\347\240\201.md" +++ "b/contribute/\350\264\241\347\214\256\344\273\243\347\240\201.md" @@ -11,6 +11,10 @@ - [JavaScript语言编码规范](OpenHarmony-JavaScript-coding-style-guide.md) - [Python语言编程规范](https://pep8.org/) +**开源软件引入** + +若要引入新的第三方开源软件到OpenHarmony项目中,请参考[第三方开源软件引入指导](第三方开源软件引入指导.md) + ## 贡献工作流 有关详细信息,请参考[贡献流程](贡献流程.md)。 -- Gitee From 808e5496e79863ce739d96bd45341cdd39316470 Mon Sep 17 00:00:00 2001 From: jalenchen Date: Tue, 29 Dec 2020 12:07:34 +0800 Subject: [PATCH 3/7] =?UTF-8?q?update=20contribute/=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=BC=80=E6=BA=90=E8=BD=AF=E4=BB=B6=E5=BC=95=E5=85=A5?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5\274\225\345\205\245\346\214\207\345\257\274.md" | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git "a/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" "b/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" index 1f1d681a59b..a183521a738 100644 --- "a/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" +++ "b/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" @@ -11,13 +11,13 @@ ### 基本要求 为便于第三方开源软件的维护与演进,在引入第三方开源软件时请参考如下原则:
-1. 若需要使用的开源软件在OpenHarmony项目中已存在,请使用OpenHarmony项目中已存在的版本。 -2. 引入新的第三方开源软件到OpenHarmony项目时,请以“third_party_开源软件名”新建一个仓,其中软件名称必须和官网/社区保持一致,不可随意命名。 +1. 若需要使用的开源软件在OpenHarmony项目中已存在,请使用OpenHarmony项目中维护的版本。 +2. 引入新的第三方开源软件到OpenHarmony项目时,请将其放置到单独的代码仓或目录中,并且软件名称和其官网保持一致,不可随意命名。 3. 第三方开源软件仓应当完整保留该开源软件官方代码仓的目录结构、许可证及Copyright信息。 4. 不建议引入未发布正式版本(如只发布Beta版本)的开源软件。 5. 若需针对引入的开源软件进行修改,请将修改的代码放在该开源软件仓中,并确保满足该开源软件的许可证要求。 -如因特殊原因不能满足上述要求但又需要引入,请向PMC咨询,邮箱:pmc@openharmony.io +如因特殊原因不能满足上述要求但又需要引入,请请联系邮箱:law@openatom.org。 ### 第三方开源软件许可证要求 1. 第三方开源软件许可证类型必须是[OSI](https://opensource.org/osd-annotated) 明确定义的。 @@ -31,14 +31,18 @@ * PostgreSQL License * Eclipse Distribution License 1.0 * MIT +* ISC * ICU +* University of Illinois/NCSA * W3C Software License * zlib/libpng +* Academic Free License 3.0 * 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 +* Zope Public License 2.0 4. 如下类型许可证不建议引入到OpenHarmony项目中: * GNU GPL 1, 2, 3 @@ -79,7 +83,7 @@ * Ruby License * Eclipse Public License 2.0: EPL 2.0 -如要引入其它类型License或上述(4)所列License,请向PMC咨询,邮箱:pmc@openharmony.io +如要引入其它类型License或上述(4)所列License,请联系邮箱:law@openatom.org评审,评审通过后方可引入。 ## 本指导的改进及修订说明 本指导的变更由PMC维护,随着OpenHarmony的演进该指导可能不断刷新、完善,请社区贡献者关注最新版本的指导。 \ No newline at end of file -- Gitee From 5ad2842e80b94dabcd01514a0bc163e56cac53de Mon Sep 17 00:00:00 2001 From: jalenchen Date: Tue, 29 Dec 2020 14:03:50 +0800 Subject: [PATCH 4/7] update Readme-CN.md. --- Readme-CN.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Readme-CN.md b/Readme-CN.md index 3a4879a7ba6..b0cd9c0f6dd 100755 --- a/Readme-CN.md +++ b/Readme-CN.md @@ -19,6 +19,7 @@ - contribute:[贡献](contribute/参与贡献.md) - term:[术语](term/术语.md) - 3rd-Party-License:[第三方开源软件及许可证说明](quick-start/第三方开源软件及许可证说明.md) +- 3rd-Party-Import:[第三方开源软件引入指导](contribute/第三方开源软件引入指导.md) ## 贡献 -- Gitee From cdb7a9940f9441b7ef1c39f583b1a4b84e2ffbba Mon Sep 17 00:00:00 2001 From: jalenchen Date: Tue, 29 Dec 2020 14:30:51 +0800 Subject: [PATCH 5/7] update Readme-CN.md. --- Readme-CN.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Readme-CN.md b/Readme-CN.md index b0cd9c0f6dd..3a4879a7ba6 100755 --- a/Readme-CN.md +++ b/Readme-CN.md @@ -19,7 +19,6 @@ - contribute:[贡献](contribute/参与贡献.md) - term:[术语](term/术语.md) - 3rd-Party-License:[第三方开源软件及许可证说明](quick-start/第三方开源软件及许可证说明.md) -- 3rd-Party-Import:[第三方开源软件引入指导](contribute/第三方开源软件引入指导.md) ## 贡献 -- Gitee From e4954d06157582eb2d54b830d2e8bfb7e2d5ce68 Mon Sep 17 00:00:00 2001 From: jalenchen Date: Tue, 29 Dec 2020 14:35:39 +0800 Subject: [PATCH 6/7] =?UTF-8?q?update=20contribute/=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=BC=80=E6=BA=90=E8=BD=AF=E4=BB=B6=E5=BC=95=E5=85=A5?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" "b/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" index a183521a738..4b0686018df 100644 --- "a/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" +++ "b/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" @@ -83,7 +83,7 @@ * Ruby License * Eclipse Public License 2.0: EPL 2.0 -如要引入其它类型License或上述(4)所列License,请联系邮箱:law@openatom.org评审,评审通过后方可引入。 +如要引入其它类型License或上述(4)所列License,请联系邮箱:law@openatom.org。 ## 本指导的改进及修订说明 本指导的变更由PMC维护,随着OpenHarmony的演进该指导可能不断刷新、完善,请社区贡献者关注最新版本的指导。 \ No newline at end of file -- Gitee From e0c0433c3ead674e02f882dcf4b9b9b98e52753e Mon Sep 17 00:00:00 2001 From: jalenchen Date: Tue, 29 Dec 2020 15:17:10 +0800 Subject: [PATCH 7/7] =?UTF-8?q?update=20contribute/=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=BC=80=E6=BA=90=E8=BD=AF=E4=BB=B6=E5=BC=95=E5=85=A5?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" "b/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" index 4b0686018df..cf99ed6d91f 100644 --- "a/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" +++ "b/contribute/\347\254\254\344\270\211\346\226\271\345\274\200\346\272\220\350\275\257\344\273\266\345\274\225\345\205\245\346\214\207\345\257\274.md" @@ -12,7 +12,7 @@ 为便于第三方开源软件的维护与演进,在引入第三方开源软件时请参考如下原则:
1. 若需要使用的开源软件在OpenHarmony项目中已存在,请使用OpenHarmony项目中维护的版本。 -2. 引入新的第三方开源软件到OpenHarmony项目时,请将其放置到单独的代码仓或目录中,并且软件名称和其官网保持一致,不可随意命名。 +2. 引入新的第三方开源软件到OpenHarmony项目时,请将其放置到单独的代码仓或目录中,并且软件名称和其官网保持一致。 3. 第三方开源软件仓应当完整保留该开源软件官方代码仓的目录结构、许可证及Copyright信息。 4. 不建议引入未发布正式版本(如只发布Beta版本)的开源软件。 5. 若需针对引入的开源软件进行修改,请将修改的代码放在该开源软件仓中,并确保满足该开源软件的许可证要求。 -- Gitee