5.1.2 开源协议与开源贡献协议
开源软件在具备安全、公开、自由等优势的同时,需要很多
工程师、开发者参与贡献才能蓬勃发展。所以,如果参与者的利
益没有得到保障,那么大家参与的动力就很难持续,因此,世界
上现在有很多种被开源促进组织认可的开源许可协议,为的是保
证开源工作者们的权益。
1
.开源协议与
OpenHarmony
的选择
开源协议规定了我们在使用开源软件时的权责利等,是所有
参与者的基本约定与管理规范。虽然其在所有国家和地区不一定
具备通用的法律效力,但当涉及相关纠纷时,它也是非常重要的
证据之一。
世界上的开源协议有很多,如何选择开源协议,特别是公司、
团队层面的商业软件开发,对所依的技术开源软件源头协议的了
解最为重要。
我们重点了解一下
Apache License Version
(简称
Apache
许可证版本
协议),因为
OpenHarmony
采用的就是
Apache License Version 2.0
和
January 2004
。
Apache
协议中规定开发者可以修改源代码,再发布代码。
协议规定的主要内容包括:该软件二次及多次开发、发布等产品
必须依旧使用该协议;需要在文档中进行声明修改了哪些程序源
代码;基于他人的源代码进行开发,需要保留原来所有作者声明
的信息。
Apache License Version 2.0
和
January 2004
具有便于商业发
展、兼顾规范管理、现有不少世界级应用软件在使用、人气非常
旺等优势,基于鸿蒙操作系统的全球化发展视野,
OpenHarmony
才选择了它。
2.OpenHarmony 的开源贡献协议
阐述完开源协议,我们接着来讨论开源贡献协议。我们先来
介绍几个参与开源及在开源平台上常用的单词、单词缩写和含
义,包括
Star
,
Fork
,
PR
等。
Star
表示赞赏、奖励;
Fork
指复
制别人的代码到自己的代码仓库项目中,进行使用或二次开发;
Pull requests
(简称
PR
),指
Fork
复制之后,如果希望将自己的
修改贡献到原始代码中,可以使用
PR
推送请求到原来的仓库
中,然后,原始代码的作者根据你提交的内容考虑是否收入源
代码。
从事开源贡献的开发者可能会注意到某些开源项目在提交
PR
前需要先签署
CLA
,只有签署了
CLA
,
PR
才可以合并。
CLA
就属于开源贡献协议的一种。在码云
Gitee
平台参与
OpenHarmony
,进行贡献,就需要
CLA
。
开源贡献协议可以理解为对开源协议的补充。
CLA
一般分
为公司和个人级别,公司级别即代表着全公司员工签署。
CLA
总体包含关于签署的主体和贡献的具体概念、专利许可的授予、
原创作品保障、免责描述及一些个性化的内容等。
CLA
属于一次性签署,法律义务明确,公司或组织可自行
定义协议相关的内容;大型国际性开源项目使用者居多,利于项
目正规和长远发展。如果开源项目有公司与公司间的合作或者要
贡献给基金会等,为了防范法律风险,需要使用
CLA
。
通过以上阐述,我们可以看出
OpenHarmony
采用
CLA
,是
因为代码贡献给了基金会,构建万物互联的智能世界肯定需要跨
国发展,这样会有大量的商业发展机遇。