许可证与版权规范
目的
本规范明确了OpenHarmony社区的代码贡献者、Committer、PMC成员如何处理Repo及源代码文件的许可与版权声明,包括如下几个部分:
- LICENSE文件
- NOTICE文件
- 版权和许可头
范围
本规范仅适用于OpenHarmony社区,不适用于将OpenHarmony项目应用于个人或企业以开发其它产品的场景,也不适用分发第三方开源软件的场景(该场景参见第三方开源软件引入指导)。
本文的改进和修订说明
- 本文档由OpenHarmony PMC主导起草和维护。本文档的最新版本总可以在 这里 找到。
- 任何对于本文中涉及的规则的增加,修改,删除都必须被追踪,请进入该追踪系统。
- 最终规则经过社区充分的讨论后,由PMC定稿。
LICENSE文件
- 每个开源仓必须有清晰描述的许可证信息,且许可证必须与OpenHarmony整体许可证规则一致,如用户态开源仓使用Apache License 2.0许可协议,LiteOS内核态开源仓使用BSD 3-clause许可协议。
- 每个开源仓的许可证文件必须为纯文本格式,放置于代码仓的根目录,里面包含该许可的全文,并且以“LICENSE”命名,不用带".txt",".md"等后缀。
- 如果开源仓的不同源码包含多种许可证,请将主许可证描述在以“LICENSE”命名的文件中,其它许可证请以“LICENSE-许可证类型-备注”命名并放置于仓的根目录或该许可证对应源码的根目录,同时在主许可证中描述各许可证文件位置及其适用的范围与场景。
- 每个开源仓的许可证文件必须要涵盖该仓下所有文件,确保各许可证的涵盖范围描述准确、精简,并且不要包含不在本仓发布的其它源代码许可等不必要的信息,比如要单独下载的依赖软件的许可不要包含在仓和许可证信息中。
- 如果开源仓在发布时以二进制形式发布,请确保许可证文件位于其发布格式的常规位置,如发布文件夹或压缩包的顶层目录,对于".jar"格式的文件,许可证可位于META-INF目录。
NOTICE文件
- 如分发的二进制文件中包含有第三方开源软件,请提供以“NOTICE”命名的文件,NOTICE文件以纯文本格式描述包含的所有第三方开源软件名称、软件版本、权利人声明、License信息。
- NOTICE文件通常放置在发布文件夹或压缩包的顶层目录,对于".jar"格式的文件,许可证可位于META-INF目录。
版权和许可头
-
开源仓中的文件原则上都应当包含合适的版权和许可头声明,除非是如下几种场景:
- 添加版权和许可声明会影响到该文件的功能,如JSON文件因不支持注释,可不添加版权和许可头。
- 工具生成的文件且包含说明该文件是由工具自动生成的描述信息。
- 简短的供用户阅读的说明文件,添加版权许可头会影响其可读性和,如README等。
-
版权和许可头声明形式如下:
Copyright (C) [第一次发布年份]-[当前版本发布年份] [版权所有者] 许可证头,以具体的许可证内容为准,如: Apache License Version 2.0许可头: Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. BSD-3-Clause 许可头: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
版权头中的年份注意是作品对外发布的年份,如果是第一次发布则写发布年份即可,如果不是第一次发布,则写 "第一次发布年份-当前版本发布年份"。
-
版权所有者是法律实体,可以是个人或者公司,若代表公司贡献代码,请写公司法律实体。
-
许可头信息必须与该开源仓的许可证信息一致,如果某文件是双重许可证,则其许可头要清晰地说明各许可证的适用条件,并在文件许可头中包含各许可证定义的许可头描述。