想贡献源码?还是先看看怎么签CLA吧
The following article is from 巴不得说 Author 巴拉迪维
不知何时起,企业或组织开始会以保护贡献者版权为由要求开发者在贡献之前,必须先签署 CLA,没有 CLA ,你提交的 pr 不会被受理。CLA 的利弊很难用一句话说清楚,我们之前也写过一篇文章来探讨其究竟是开发者的保护伞还是枷锁,近日小编看到一篇以开源项目为例来聊 CLA 的文章,特来分享给大家。
以下为文章正文。
自从 ohUrlShortener 短链接系统宣布开源并正式对外发布之后,陆续收到不少朋友问询:有的朋友提了功能需求、有的朋友表示愿意参与共建。本周早些时候,通过某位热心朋友贡献,迎来了第一个 Pull Request 补充了某项功能短缺。
在处理这个 Pull Request 之前,我正在考虑关于 CLA 的事情,并着手开始编写相关内容。没想到适用场景,出现的如此之快。那么,今天就来跟大家说说,开源项目所说的 CLA 到底是什么。01
—
Contributor License Agreement
ohUrlShortener Contributor License Agreement
首先,ohUrlShortener 感谢您的支持和贡献,并向您表达崇高的敬意。
本贡献者协议(以下简称“本协议”)由您与 ohUrlShortener 签署。您通过签署本协议同意接受本协议并受其约束。您基于本协议授予 ohUrlShortener 的权利自您首次向 ohUrlShortener “贡献” 之日起生效(其中包括您在同意本协议条款和相应条件之前已提交“贡献”的情况在内)。
您同意如下条款:
一、定义
“您” 系指与 ohUrlShortener 签订本协议的著作权人、或经授权人授权的自然人或法人单位、组织等。
“贡献” 系指有您自愿提交并且被并入或存档于 ohUrlShortener 之中的代码、文案的或其他原创作品以及任何对现有作品进行修改或补充的原创作品(以下简称“作品”)。本条款定义的“提交”系指以电子、口头或书面交流任意形式发送给 ohUrlShortener 接受者的内容。
二、著作权许可授权
您基于本协议,特此就您(不论以源代码或目标代码形式)提交的“贡献” 永久的、全球性的、非独占的、免费的、免授权费的、不可撤销的、无附加限制的著作权授予 ohUrlShortener 的接受者。ohUrlShortener 的接受者可以复制、修改、开发衍生作品、公开展示、公开表演、再许可和分发您的“贡献”和相关衍生作品。
三、专利权许可授权 您基于本协议,您特此授予 ohUrlShortener 的接收者永久的、全球性的、非独占的、免费的、免授权费的、不可撤销的(本条款下述情形除外)专利许可,以制造、委托制造、使用、许诺销售、销售、进口和以其他方式转让其“贡献”。如果任何实体针对您或其他实体提起专利诉讼(包括诉讼中的交叉诉讼或反诉),指控您“贡献”或前述结合构成直接或间接专利侵权,则您根据本协议就该“贡献”或“作品”授予该实体的所有专利许可自该实体提起该诉讼之日起终止。
四、如您拟提交非原创作品,您可以将该部分内容与您“贡献”进行区分后提交 ohUrlShortener,并根据您所知标识该部分内容的来源以及任何许可或其他限制的完整细节(包括但不限于相关专利、商标和许可协议)内容,并以显著方式注明“代第三方提交:[此处注明第三方名称]”
五、除非您自愿,否则您无需为您“贡献”提供支持服务。即您既可以选择不提供支持服务,也可以选择免费或收费提供支持服务。除非适用的法律要求或经书面同意,您提供“贡献”仅是“按原样”提供,不附带任何明示或默示担保及条件(包括但不限于任何权利担保、非侵权保证,适销性保证、适用性保证或条件)
六、除本协议明确约定外,您在提交“贡献”时无任何明示或默示担保。无论基于何种法律理论(即使已告知可能有此类损害赔偿),您不对任何因使用您所提交的“贡献”或前述结合而引发的(无论何种原因所致)直接或间接损害承担责任。
七、您同意,在遇到任何将导致本协议项下承诺不准确的事实或情况时将及时通知 ohUrlShortener 接受者。
八、本协议(含通过引用并入本协议的所有文件),构成缔约方之间就本协议议题的完整且排他性协议,废止并替代针对此议题任何或所有之前或同期的书面或口头讨论、谈判、备忘录和其它协议。
签名:
约定协议签署人的身份及「贡献」的含义
约定「贡献」产生之后,「接受者」获得了不可撤销的、免费的、全球性的、非独占的、免授权费的使用权
约定「贡献」中如果存在专利的话,「接受者」获得了免费的、不可撤销的、免授权费用的、全球性的、非独占的使用权
约定「贡献」的版权属于贡献者(贡献者仍然要在源代码中加入自己的注释内容,留下姓名和版权信息等)
02
—
一定要有 CLA 才可以开源吗?
03
—
CLA 并不能免除所有纠纷
2019年 MongoDB 宣布将其开放协议由 GNU AGPLv3 迁移到 Server Side Public License 协议
2021年 Elasticsearch 宣布将其开放协议由 Apache License 2.0 迁移到 Server Side Public License
04
—
除了 CLA 还有 DCO
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
借鉴某位网友的翻译了解下大致内容:
该贡献全部或部分由我创建,我有权根据文件中指明的开源许可提交;要么
该贡献是基于以前的工作,这些工作属于适当的开源许可,无论这些工作全部还是部分由我完成,我有权根据相同的开源许可证(除非我被允许根据不同的许可证提交)提交修改后的工作;要么
该贡献由1、2、或 3 证明的其他人直接提供给我,而我没有对其进行修改
我理解并同意该项目和贡献是公开的,并且该贡献的记录(包括我随之提交的所有个人信息,包括我的签字)将无限期保留,并且可以与本项目或涉及的开源许可证保持一致或者重新分配
https://jimmysong.io/blog/open-source-cla/
有奖问答