我正在着手一个我希望在将来商业化的项目。但是现在,它只是一个原型,我想用GPL许可证发布它。
我关心的是:如果我要收到对原型开放源码项目的贡献(代码补丁、艺术品等),我不希望面临这样的任务:确定项目的哪些部分可以在未来的商业版本中使用,哪些部分不能使用。
为此,我倾向于向GPL授权我的原型版本,并要求对项目所作的任何贡献要么在公共领域,要么根据某些属性许可(如BSD许可证)获得许可。(在未来商业产品的情况下,我不介意给任何对原型版本做出贡献的人一概而论)。
这是一件现实的事情吗?有没有其他项目做类似事情的例子?项目的潜在贡献者和/或用户是如何做到这一点的?
发布于 2015-05-29 13:44:46
这种策略背后的原则是完全正确的:GPL许可的项目始终包括BSD许可的组件。
假设每个贡献者使用BSD许可证在个人存储库上发布了他或她的贡献,根本没有涉及到您的项目。现在,假设您稍后发现了代码。您可以将该代码包含在您的项目中。BSD许可代码可以始终包含在GPL许可的项目中,因为BSD许可证与GPL兼容 (这意味着BSD许可证的需求是GPL需求的子集)。整个工作仍将是GPL许可的,而具体的组件仍然是BSD许可的。
您只需跳过贡献者独立发布贡献的步骤。相反,他们直接给你,在BSD许可下显式授权。然后,您将使用该BSD许可代码,并将其包括在您的GPL许可项目中,就像您在其他地方找到的任何其他BSD许可代码一样。
要求贡献者签署贡献者许可证协议(CLA)是一个很好的主意,这一点非常清楚。准确的措辞可能很棘手(所以你可能应该聘请一位律师为你起草一份文件),但是将BSD许可的代码包含在GPL项目中的原则是完全合理和普遍的。
https://softwareengineering.stackexchange.com/questions/285218
复制相似问题