提交 70f2705f 编写于 作者: N NEEN

update links

Signed-off-by: NNEEN <neen.yang@huawei.com>
上级 7d65ffad
......@@ -189,7 +189,7 @@ For details about how to obtain the source code of OpenHarmony, see [Source Code
## How to Participate
For details about how to join in the OpenHarmony community, see [OpenHarmony Community](https://gitee.com/openharmony/community/blob/master/README-EN.md)
For details about how to join in the OpenHarmony community, see [OpenHarmony Community](https://gitee.com/openharmony/community/blob/master/README_EN.md)
For details about how to contribute, see [How to contribute](contribute/how-to-contribute.md).
......
......@@ -6,7 +6,7 @@
- [OpenHarmony API Governance Charter](../design/OpenHarmony-API-governance.md)
- [OpenHarmony Security Design Specifications](OpenHarmony-security-design-guide.md)
- [OpenHarmony Build Specifications](https://gitee.com/openharmony/community/blob/master/sig/sig-buildsystem/sig-build-system.md)
- [OpenHarmony Build Specifications](https://gitee.com/openharmony/community/blob/master/sig/sig_buildsystem/sig_build_system.md)
### Coding Style
......
# Licenses and Special License Review
## Purpose
This document lists the acceptable licenses for the code used in the OpenHarmony community. It also describes the review process and rules for special licenses.
## Scope
This document applies only to the code distributed in the OpenHarmony community. It does not apply to the scenario where the OpenHarmony project is used by individuals or enterprises to develop new products, or the scenario where third-party open-source software is distributed independently
## Definition
OpenHarmony is an open-source project launched by the OpenAtom Foundation. The purpose of this project is to build an open, distributed operating system (OS) framework for smart IoT devices in the full-scenario, full-connectivity, and full-intelligence era.
The OpenHarmony project is hosted on the website https://gitee.com/openharmony.
Code contributed: A contributor commits copyrighted code to the OpenHarmony project, and the project further distributes the code on the hosted website.
Third-party dependency: A third-party open source code that the OpenHarmony project depends. It will be further distributed by the project on the hosted address.
## License Trustlist for Code Contributed
In principle, the code contributed to the OpenHarmony project must be source code, and its distribution must be carried out under an open source license approved by the Open Source Initiative (OSI).
It is recommended that the code contributed to the OpenHarmony project be distributed using a license in the license trustlist, which includes:
- Apache License 2.0 (Apache-2.0) (applicable to user-mode code)
- 3-clause BSD License (BSD-3-Clause) (applicable to LiteOS kernel code)
- GNU General Public License version 2 (GPL-2.0) (applicable to Linux kernel code)
## Licenses for Third-Party Dependencies
In addition to the code contributed, the OpenHarmony project may introduce or depend on third-party open source software, which uses a variety of licenses. To ensure the open source attributes, the dependent third-party open source software must have clearly defined upstream open source communities, and the introduction of the third-party open source software does not cause legal issues related to license compatibility.
### Licenses for Acceptable Third-Party Dependencies
Licenses compatible with Apache License 2.0 can be accepted. The OpenHarmony project recommends that third-party dependencies using the following licenses be preferentially accepted:
- Academic Free License 3.0 (AFL-3.0)
- Apache License 2.0 (Apache-2.0)
- Apache Software License 1.1. Including variants:
- PHP License 3.01
- MX4J License
- Boost Software License (BSL-1.0)
- BSD License:
- 3-clause BSD License
- 2-clause BSD License
- DOM4J License
- PostgreSQL License
- ISC
- ICU
- MIT License (MIT) / X11
- MIT No Attribution License (MIT-0)
- Mulan Permissive Software License v2 (MulanPSL-2.0)
- The Unlicense
- W3C License (W3C)
- University of Illinois/NCSA
- X.Net
- zlib/libpng
- FSF autoconf license
- DejaVu Fonts (Bitstream Vera/Arev licenses)
- OOXML XSD ECMA License
- Microsoft Public License (MsPL)
- Python Software Foundation License
- Python Imaging Library Software License
- Adobe Postcript(R) AFM files
- Boost Software License Version 1.0
- WTF Public License
- The Romantic WTF public license
- UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
- Zope Public License 2.0
- ACE license
- Oracle Universal Permissive License (UPL) Version 1.0
- Open Grid Forum License
- Google "Additional IP Rights Grant (Patents)" file
- Historical Permission Notice and Disclaimer
### Licenses for Unacceptable Third-Party Dependencies
In principle, the OpenHarmony project will not accept third-party dependencies that use the following licenses, since these licenses do not support commercial use or contain unreasonable restrictions or obligations:
- 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
- Confluent Community License Version 1.0
- Any license including the Commons Clause License Condition v1.0
- Creative Commons Non-Commercial variants
- Sun Community Source License 3.0
- GNU GPL 3
- GNU Affero GPL 3
- BSD-4-Clause
- 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
## Rules for Introducing Special Licenses
The OpenHarmony project accepts code contributed and third-party dependencies that use a license in their respective license trustlist. To accept the code or third-party dependency that uses a special license (a license not in the trustlist), a special license review must be carried out by the OpenHarmony project and related rules must be complied with.
### Special License Review Process
#### Organizing a Special License Review
The OpenHarmony compliance SIG is responsible for organizing the special license review. At least the PMC representative, legal affairs representative, and compliance SIG representative are required to participate in the review.
#### Triggering a Special License Review
If your software module or code plans to use a special license, proactively provide a review request to the compliance SIG.
The review request must include at least the following information: software module name, service scenario description, names of involved special licenses and related information (licenses used for direct and indirect dependencies in the third-party dependency introduction scenario), and code check reports (such as OAT scanning reports) provided by the license compliance scanning tool.
The compliance SIG regularly summarizes the gated check-in results, obtains the software modules that use special licenses, and organizes reviews.
Based on the tool check results, the compliance SIG can organize a special license review if it finds that the code will use a special license (a non-trustlist license is used for a third-party dependency, a dedicated license is used for the code contributed, or only binary code or object code is provided).
#### Conclusion of Special License Review
For software modules that use special licenses in the OpenHarmony project, passing the special license review is a prerequisite for theirs code compliance check, and the review conclusion is a prerequisite for the exit review/incubation graduation review carried out by the OpenHarmony QA SIG. Software modules that fail the special license review cannot be incorporated into the OpenHarmony trunk.
### Special License Review Rules
- **Rule 1**: Apache License 2.0 is preferred for user-mode code to ensure license normalization. If a license other than Apache License 2.0 is used, a proper reason is required. If a special license is required for user-mode code, a license with open source obligations should be avoided.
- **Rule 2**: The special licenses used by the code contributed or third-party dependencies should meet the basic distribution and compatibility principles of the open source licenses. That is, the special licenses should support downstream users to distribute related code, and they should not be incompatible with the licenses used by the existing code in the project.
- **Rule 3**: The special licenses used by the code contributed or third-party dependencies should not contain unreasonable restrictions (such as commercial restrictions, domain restrictions, discrimination against special technical domains, or product-specific restrictions) or open source license obligations that cannot be fulfilled or are difficult to fulfill.
- **Rule 4**: The introduction of third-party dependencies should not affect or change the existing licenses of the related code.
- **Rule 5**: The non-source code (binary code or object code), if involved, should use an open source license and meet the preceding rules. The use of a self-prepared license should be approved by the PMC and further reviewed and approved by the OpenHarmony legal compliance team. (In principle, only special licenses for algorithms and special implementation related to necessary hardware, such as GPU, Wi-Fi firmware, and hardware codec algorithms, can be accepted.)
\ No newline at end of file
......@@ -90,8 +90,9 @@ Before developing relational databases, you must understand the following basic
- **RDB**
A type of database based on the relational model of data. The RDB stores data in rows and columns. An RDB is also called RDB store.
- **Predicate**
Property or feature of a data entity, or the relationship between data entities. It is mainly used to define operation conditions.
......@@ -181,7 +182,7 @@ The distributed data objects are encapsulated into JS objects in distributed in-
The following sample is provided to help you better understand how to develop abilities:
- [Intra- and Inter-page Navigation](https://gitee.com/openharmony/codelabs/tree/master/Ability/PageAbility)
- [Intra- and Inter-page Navigation](https://gitee.com/openharmony/codelabs/tree/master/Ability/StageAbility)
## Setting Up the Environment
......
......@@ -15,7 +15,7 @@
*Name the figures after the development board.*
*Reference document: https://gitee.com/openharmony/docs/blob/master/en/device-dev/quick-start/quickstart-lite-introduction-hi3861.md*
Reference document: [Hi3861 Development Board](../../device-dev/quick-start/quickstart-appendix-hi3861.md)
********
## Development Board Specifications
......
......@@ -8,7 +8,7 @@
2、通过OpenHarmony代码门禁安全扫描工具测试,扫描告警结果清零。
3、依据[OpenHarmony编译规范](https://gitee.com/openharmony/community/blob/master/sig/sig-buildsystem/编译规范.md),使用编译选项扫描工具检查二进制文件编译选项开启情况,二进制文件编译选项均需要符合规范要求。
3、依据[OpenHarmony编译规范](https://gitee.com/openharmony/community/blob/master/sig/sig_buildsystem/编译规范.md),使用编译选项扫描工具检查二进制文件编译选项开启情况,二进制文件编译选项均需要符合规范要求。
4、针对接收并处理用户态参数模块,开发人员需依据[Fuzz测试框架](https://gitee.com/openharmony/test_developertest/tree/master/libs/fuzzlib)开发灰白盒Fuzz测试套,并完成灰白盒Fuzz测试验证。
......
......@@ -6,7 +6,7 @@
- [贡献流程](贡献流程.md)
- [自测试验证](../readme/测试子系统.md)
- [贡献文档](贡献文档.md)
- [写作规范](写作规范.md)
- [文档风格](style-guide/Readme-CN.md)
- [社区沟通与交流](社区沟通与交流.md)
- [FAQ](FAQ.md)
......@@ -146,7 +146,7 @@
示例:
[内核子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E5%86%85%E6%A0%B8%E5%AD%90%E7%B3%BB%E7%BB%9F.md)
[内核子系统](../../readme/内核子系统.md)
[drivers\_liteos](https://gitee.com/openharmony/drivers_liteos/blob/master/README_zh.md)
......
......@@ -90,8 +90,9 @@ _要使用该方案/特性/功能/模块,有哪些独有概念是我需要了
- **关系型数据库**
基于关系模型来管理数据的数据库,以行和列的形式存储数据。
- **谓词**
数据库中用来代表数据实体的性质、特征或者数据实体之间关系的词项,主要用来定义数据库的操作条件。
......@@ -181,7 +182,7 @@ _已发布的Sample code、Codelabs、Demo工程包,请在此处提供链接
针对Ability开发,有以下相关实例可供参考:
- [Page内和Page间导航跳转](https://gitee.com/openharmony/codelabs/tree/master/Ability/PageAbility)
- [UIAbility内和UIAbility间页面的跳转(ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/Ability/StageAbility)
## 环境准备
......
......@@ -15,7 +15,7 @@
**图片名称以开发板名称命名。*
*参考文档:https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3861.md*
*参考文档:*[Hi3861开发板介绍](../../device-dev/quick-start/quickstart-appendix-hi3861.md)
********
## 开发板规格
......
......@@ -48,7 +48,7 @@ OpenHarmony遵从 [Open Source Definition](https://opensource.org/docs/osd) ,
device/soc/$(SOC_COMPANY)/third_party
device/board/$(BOARD_COMPANY)/third_party
vendor/$(PRODUCT_COMPANY)/third_party
```
```
14. OpenHarmony平台版本或版本构建中用到的预编译二进制或工具链,需提供如下信息:
- 预编译二进制或工具链对应的源码,需要在OpenHarmony社区托管对应的源代码,并提供对应的构建指导,开源义务履行遵从指导;
......@@ -139,7 +139,7 @@ third_party_abcde/doc/ LICENSEFILE LICENSE Apache-2.0
#### 新增三方开源软件评审
参考[SIG-Architecture](https://gitee.com/openharmony/community/blob/master/sig/sig-architecture/sig-architecture_cn.md),SIG-Architecture会统一安排建仓评审。
参考[SIG-Architecture](https://gitee.com/openharmony/community/blob/master/sig/sig_architecture/sig_architecture_cn.md),SIG-Architecture会统一安排建仓评审。
### 第三方开源软件许可证要求
......
# OpenHarmony项目代码许可证与特殊许可证评审指导
## 目的
本指导明确了OpenHarmony社区中的项目代码所采用的许可证,以及接纳的特殊许可证及相关评审流程和规范。
## 范围
本指导仅适用于OpenHarmony社区中分发的项目代码,不适用于将OpenHarmony项目应用于个人或企业以开发其它产品的场景,也不适用单独分发第三方开源软件的场景。
## 定义
OpenHarmony项目:OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
OpenHarmony项目的社区托管地址:https://gitee.com/openharmony。
OpenHarmony项目贡献代码:贡献者向OpenHarmony项目贡献的其拥有版权的代码,并由OpenHarmony项目在项目的社区托管地址上分发。
OpenHarmony项目第三方依赖:OpenHarmony项目依赖的第三方开源代码,并由OpenHarmony项目在项目的社区托管地址上再分发。
## 贡献代码采用的许可证白名单
原则上,OpenHarmony项目贡献代码均应提供源代码,并采用开源促进会OSI批准的开源许可证进行分发。
由于开源许可证繁多,OpenHarmony项目建议OpenHarmony项目贡献代码优先采用如下许可证白名单中的许可证进行分发。
OpenHarmony项目贡献代码许可证白名单包括:
- Apache License 2.0 (Apache-2.0)(适用于用户态代码)
- 3-clause BSD License (BSD-3-Clause)(适用于LiteOS Kernel代码)
- GNU General Public License version 2 (GPL-2.0)(适用于Linux Kernel代码)
## OpenHarmony项目第三方依赖可接纳和不可接纳的许可证名单
OpenHarmony项目还可能引入或依赖不同的第三方开源软件,这些第三方开源软件采用的许可证的种类和样式可能是多种多样的,为了确保项目的开源属性,要求依赖的第三方开源软件必须具有清晰定义的上游开源社区,且引入第三方开源软件不会引起许可证兼容性法律问题。
### 可接纳的第三方依赖的许可证白名单
与Apache-2.0许可证相兼容的许可证可以被接纳,OpenHarmony项目建议可优先接纳采用如下许可证的第三方依赖:
- Academic Free License 3.0 (AFL-3.0)
- Apache License 2.0 (Apache-2.0)
- Apache Software License 1.1. Including variants:
- PHP License 3.01
- MX4J License
- Boost Software License (BSL-1.0)
- BSD License:
- 3-clause BSD License
- 2-clause BSD License
- DOM4J License
- PostgreSQL License
- ISC
- ICU
- MIT License (MIT) / X11
- MIT No Attribution License (MIT-0)
- Mulan Permissive Software License v2 (MulanPSL-2.0)
- The Unlicense
- W3C License (W3C)
- University of Illinois/NCSA
- X.Net
- zlib/libpng
- FSF autoconf license
- DejaVu Fonts (Bitstream Vera/Arev licenses)
- OOXML XSD ECMA License
- Microsoft Public License (MsPL)
- Python Software Foundation License
- Python Imaging Library Software License
- Adobe Postcript(R) AFM files
- Boost Software License Version 1.0
- WTF Public License
- The Romantic WTF public license
- UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
- Zope Public License 2.0
- ACE license
- Oracle Universal Permissive License (UPL) Version 1.0
- Open Grid Forum License
- Google "Additional IP Rights Grant (Patents)" file
- Historical Permission Notice and Disclaimer
### 不建议接纳的第三方依赖的许可证名单
原则上,不支持商用的许可证,以及其它包含不合理限制或义务的许可证不建议被接纳,OpenHarmony项目不建议接纳采用如下许可证的第三方依赖:
- 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
- Confluent Community License Version 1.0
- Any license including the Commons Clause License Condition v1.0
- Creative Commons Non-Commercial variants
- Sun Community Source License 3.0
- GNU GPL 3
- GNU Affero GPL 3
- 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
## 引入特殊许可证的规则
原则上,OpenHarmony项目需要根据上述第4章节规定的许可证白名单接纳OpenHarmony项目贡献代码,以及根据上述第5章节规定的许可证白名单引入的第三方依赖。如果需要接纳上述白名单之外的许可证(后称“特殊许可证”,非本指导定义的上述白名单许可证之内的许可证即为特殊许可证),必须经过OpenHarmony项目代码特殊许可证的评审并遵守相关规定。
### OpenHarmony项目的特殊许可证评审流程
#### 特殊许可证评审的组织
特殊许可证评审由OpenHarmony合规SIG组织,参与人员至少需要PMC代表、法务代表、合规SIG代表。
#### 特殊许可证评审的触发
拟采用特殊许可证的软件模块主动上报申请
代码开发过程中预备采用特殊许可证可主动向合规SIG申报进行特殊许可证评审,特殊许可证申请材料至少需包括以下材料:
软件模块名称、业务场景描述、涉及的特殊许可证名称及相关信息(第三方依赖需包含直接依赖和间接依赖使用的许可证)、许可证合规扫描工具对代码的检查报告(如OAT扫描报告)。
合规SIG定期汇总门禁检查结果获取采用特殊许可证的软件模块情况并组织评审
合规SIG基于工具检查结果,发现代码或将采用特殊许可证(三方依赖采用非白名单许可证、贡献代码采用专有许可证或仅提供二进制码或目标码的情况等),即可组织特殊许可证评审。
#### 特殊许可证评审的结论
通过特殊许可证评审是采用特殊许可证的软件模块在OpenHarmony项目中代码合规检查的必要条件,未经过特殊许可证评审的软件模块不能被合入OpenHarmony主干,该软件模块的特殊许可证评审结论需作为其在OpenHarmony QA SIG准出评审/孵化毕业评审的必要条件。
### 特殊许可证评审规则
- **规则一**:用户态的贡献代码应优先选用Apache-2.0许可证以确保许可证的归一性,如用户态的贡献代码选用非Apache-2.0许可证需要有正当理由,用户态的贡献代码所选用的特殊许可证应避免有开放源代码义务的许可证。
- **规则二**:贡献代码或第三方依赖所采用的特殊许可证需满足开源许可证基本的可分发与兼容性原则,即特殊许可证必须支持下游用户再分发相关代码,且特殊许可证不应与已接纳的现有项目代码的许可证存在兼容性问题。
- **规则三**:贡献代码或第三方依赖所采用的特殊许可证不能包含不合理的限制,如:特殊许可证包含无法履行或不易履行的开源许可证义务不能被接纳,例如广告条款,啤酒条款;特殊许可证包含不合理的限制或约束条款不能被接纳,例如商用限制条款,使用领域限制条款、歧视特别技术域条款或针对特定产品的条款。
- **规则四**:第三方依赖所采用的特殊许可证,需确保该第三方依赖不会影响或改变相关代码的已有许可证。
- **规则五**:如涉及非源码形式(二进制码或目标码)贡献或引入第三方依赖,应确保该非源码形式的代码采用开源许可证且满足上述规则,如果非源码形式提供且采用自拟许可证,必须经PMC审批同意(原则上仅可接纳必要硬件的相关算法或其特别实现采用特殊许可证,如GPU、WIFI固件、硬件编解码算法等),若PMC审批同意,需进一步经OpenHarmony法务合规小组审核并同意相应的自拟许可证。
\ No newline at end of file
......@@ -4,13 +4,13 @@
### 设计规范
[OpenHarmony架构设计原则](https://gitee.com/openharmony/community/blob/master/sig/sig-QA/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99.md)
[OpenHarmony架构设计原则](https://gitee.com/openharmony/community/blob/master/sig/sig_qa/架构设计原则.md)
[OpenHarmony API治理章程](../design/OpenHarmony-API-governance.md)
[OpenHarmony安全设计规范](OpenHarmony-security-design-guide.md)
[OpenHarmony编译规范](https://gitee.com/openharmony/community/blob/master/sig/sig-buildsystem/%E7%BC%96%E8%AF%91%E8%A7%84%E8%8C%83.md)
[OpenHarmony编译规范](https://gitee.com/openharmony/community/blob/master/sig/sig_buildsystem/编译规范.md)
### 代码风格
......@@ -38,11 +38,11 @@
有关详细信息,请参考[贡献流程](贡献流程.md)
[代码门禁详细质量要求](https://gitee.com/openharmony/community/blob/master/sig/sig-QA/%E4%BB%A3%E7%A0%81%E9%97%A8%E7%A6%81%E8%A6%81%E6%B1%82.md)
[代码门禁详细质量要求](https://gitee.com/openharmony/community/blob/master/sig/sig_qa/%E4%BB%A3%E7%A0%81%E9%97%A8%E7%A6%81%E8%A6%81%E6%B1%82.md)
[需求类Issue处理指导](https://gitee.com/openharmony/community/blob/master/sig/sig-QA/issue%EF%BC%88%E9%9C%80%E6%B1%82%E7%B1%BB%EF%BC%89%E5%A4%84%E7%90%86%E6%8C%87%E5%AF%BC.md)
[需求类Issue处理指导](https://gitee.com/openharmony/community/blob/master/sig/sig_qa/issue%EF%BC%88%E9%9C%80%E6%B1%82%E7%B1%BB%EF%BC%89%E5%A4%84%E7%90%86%E6%8C%87%E5%AF%BC.md)
[缺陷类Issue处理指导](https://gitee.com/openharmony/community/blob/master/sig/sig-QA/issue-%E7%BC%BA%E9%99%B7%E7%B1%BB-%E5%A4%84%E7%90%86%E6%8C%87%E5%AF%BC.md)
[缺陷类Issue处理指导](https://gitee.com/openharmony/community/blob/master/sig/sig_qa/issue_缺陷类_处理指导.md)
## 社区安全问题披露<a name="section725624119448"></a>
......
......@@ -5,7 +5,7 @@
卓越贡献者将会在开发者社区文档贡献专栏表彰公示。
- [贡献方式](#贡献方式)
- [写作规范](写作规范.md)
- [文档风格](style-guide/Readme-CN.md)
## 内容版权
......@@ -15,7 +15,7 @@
## License
[Creative Commons License version 4.0](https://creativecommons.org/licenses/by/4.0/legalcode)
Creative Commons License version 4.0
## 贡献方式
......
......@@ -225,7 +225,7 @@ repo push --br="20200903" --d="master" --content="#I1TVV4"
如果门禁通过,该Issue关联的所有PR均会自动标记“测试通过”。
详细参考[代码门禁质量要求](https://gitee.com/openharmony/community/blob/master/sig/sig-QA/%E4%BB%A3%E7%A0%81%E9%97%A8%E7%A6%81%E8%A6%81%E6%B1%82.md)
详细参考[代码门禁质量要求](https://gitee.com/openharmony/community/blob/master/sig/sig_qa/%E4%BB%A3%E7%A0%81%E9%97%A8%E7%A6%81%E8%A6%81%E6%B1%82.md)
## CI门户<a name="section8563257123985"></a>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册