codecamp

我们的项目需要额外的贡献者协议吗?

可能不要。对于大多数的开源项目,一个开源许可协议可作用与所有贡献者和用户。

贡献者协议会给维护者带来额外的管理工作。这些协议增加了多少工作得取决去项目和实施。简单的协议可能要求贡献者确认和点击,在项目的开源许可协议下他们有权利贡献。更复杂的协议可能需要法律的审查和贡献者的雇主的签字。

此外,贡献者协议有时被认为对项目社区不友好。他们也增加了人们参与社区的障碍。

avatar

我们已经删除了 Node.js 的 CLA 。这样做降低了 Node.js 贡献者的参与门槛,从而吸引更多的贡献者。

@bcantrill , “Broadening Node.js Contributions”

一些情况下你们可能想要为你们的项目考虑一个额外的贡献协议:

  • 你们的律师想要所有的贡献者明确接受贡献者条款,或者因为他们觉得只有开源许可协议还远远不够。如果这是唯一的问题,那么有肯定项目开源许可协议的贡献者协议就足够了。jQuery个人贡献者许可协议就是一个很好的轻量级的个人贡献者协议。对于一些项目来说,Developer Certificate of Origin是一个很好的先择。
  • 你们的项目使用的开放源许可协议不包括明确的专利授权(如MIT),你们需要所有贡献者的专利授权,这些可能适合用于你们公司的专利组合或者项目的其他贡献者和用户。Apache 个人贡献者许可协议是一种常用的附加贡献者协议,其具有与Apache许可2.0中的专利许可相同的专利许可。
  • 如果你们的项目使用的是copyleft许可协议,但你们也需要分发项目的专有版本。那你们需要每个贡献者分配版权给你们或者授予你们许可权。MongoDB 贡献者协议就是这中类型的。
  • 你们认为你们的项目在其有效期内需要更换许可协议,以及事先得到贡献者的同意。

如果你的项目确实需要使用额外的贡献者协议,请考虑使用 CLA 助手等集成来最大限度地减少贡献者分心。

如果我想修改开源许可该怎么办?
开源项目公司的法律团队需要知道什么?
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }