Mouri Naruto,您好!
谢谢您对OpenHarmony社区的关注,对于您提出的几个问题,答复如下。如您有其他License相关的疑问,也可以同时联系邮箱law@openatom.org。

wanchengzhen
https://openharmony.gitee.com/wanchengzhen

------------------ 原始邮件 ------------------
发件人: "Mouri Naruto" <Mouri_Naruto@outlook.com>;
发送时间: 2020年9月10日(星期四) 晚上10:16
收件人: "dev@openharmony.io"<dev@openharmony.io>;
主题: [Dev]

我下载源代码的地址:http://tools.harmonyos.com/mirrors/os/1.0/code-1.0.tar.gz

 

我好好的看了下里面的源代码,对鸿蒙引用的第三方库的许可表示担忧。

 

首先鸿蒙使用了 Linux 内核(third_party\Linux_Kernel)的部分实现,该项目采用 GPL v2 许可,那么关于设备开发者定制了鸿蒙的内核,会有必须要求开源的风险。

答复:OpenHarmony的third_party\Linux_Kernel库包含两部分内容,1是jffs2模块,2是scripts模块 。

(1)jffs2模块是为了兼容jffs2而引入,jffs2采用GPLV2+EXCEPTION的许可,并非纯粹的GPLV2,您可以通过如下链接查看其许可证:https://gitee.com/openharmony/third_party_Linux_Kernel/blob/master/fs/jffs2/LICENCE

OpenHarmony对jffs2模块的编译及链接使用方式满足其EXCEPTION的规定,故对该模块的使用,不会导致项目其它代码受到GPLV2的影响。

(2)scripts模块是独立的编译工具,仅在编译过程中用来生成 conf和mconf工具,代码不会编译打包到kernel_liteos_a内核中。因此kernel_liteos_a内核不受GPL影响。


其次鸿蒙在用 Linux 内核部分实现的情况下还用了 OpenSSL 的实现(third_party\openssl),而 OpenSSL 的开源许可证严格来说不兼容 GPL 系列开源许可证。(参阅:https://www.gnu.org/licenses/license-list.html#OpenSSL

答复:根据对您第一个问题的答复可知,Linux内核部分实现的使用并不会导致OpenHarmony内核受到GPL的影响,故不影响OpenHarmony对OpenSSL的使用,不存在许可证兼容性问题。

还有 freetype 库(third_party\freetype)的许可可能也需要担心(这个库采用的双许可,要么 GPLv2,要么就是与 GPLv2 互斥的 BSD 风格许可),但由于鸿蒙的代码树第三方库包含了 Linux 的代码,于是这方面也没法确定。

答复:根据对您的第一个问题的答复可知,OpenHarmony对Linux内核部分实现的使用并不会导致OpenHarmony内核受到GPL的影响,故不影响OpenHarmony选择BSD license使用free type库。 

还有 hi35xx 芯片支持的代码里引用了 ffmpeg vendor\hisi\hi35xx\middleware\source\third_party\ffmpeg\ffmpeg-y)这个最起码需要遵守 LGPL v2.1 的库。

答复:OpenHarmony采用动态链接方式使用LGPL许可证下的ffmpeg库,不会导致该项目其它代码受到LGPL许可证的影响。 

我希望社区能够在这方面做出解答,期待回复。

 

总之希望鸿蒙项目顺利。

 

Best Regards,

Kenji Mouri (https://github.com/MouriNaruto)