正确应用开源许可证

时间:2010-03-18 09:13:56

标签: open-source licensing

我的问题包含多个本质相关的问题,我为此道歉。我尝试将它分开一点,但我会继续重复自己。

  1. 将开源许可证应用于我的知识产权代码库到底需要什么?
  2. 许多开源项目在根目录中的某处包含许可证的完整副本,但也有某种文件头,包括许可证说明,免责声明和版权声明。这真的有必要还是取决于许可证类型?
  3. 如果其他人对此文件进行了更改,是否还需要在版权声明中对其进行命名?

5 个答案:

答案 0 :(得分:20)

声明
我不是律师,所以你应该咨询一下,以获得绝对正确的答案。

据我所知......

每当您创作某些内容时,无论是代码还是其他任何内容,您都会自动成为该作品的版权所有者(除非您签署了一份“雇佣工作”的协议)。

作为版权所有者,您可以申请任何您喜欢的许可。事实是,如果您没有颁发许可证,那么任何人都无权使用,复制,修改,分发您的受版权保护的作品。因此,用户需要您的许可才能获得使用该项目的许可(如果您不提供许可,则不能违背普遍看法,推定为公共领域)。因此,您无需担心人们忽略许可证......如果他们无法指向授予他们使用您软件权利的许可证,作为版权所有者,您可以起诉他们使用您受版权保护的作品未经您明确许可的情况下。

在开源项目中,通常会将许可证放在项目顶级目录中名为“LICENSE”或“COPYING”的文件中。我建议你坚持这个惯例,因为这是人们寻找许可证的地方。在项目的网站上指明许可证也是很好的,这样人们在知道许可协议之前就不必下载整个项目。

没有必要在每个源代码文件中包含许可证的完整副本,尽管这是相当常见的做法。但请记住,在您安装的任何头文件中放置许可证的完整副本(或至少某些版权所有权和许可证名称,如果它是众所周知的许可证)将避免任何混淆关于头文件的起源,所以这样做是合理的。

如果您拥有该项目,而其他人的贡献方式类似于“出租工作”,那么就没有必要为贡献者命名。但是,您应该明确(并获得贡献者协议的永久记录),尽管做出了贡献,您仍将是该项目的唯一版权所有者。否则,贡献者对其贡献的文件/代码拥有版权所有权。

最后一件事,与问题无关......我强烈建议您避免使用GPL和LGPL,并寻求更宽松的许可(例如麻省理工学院,新BSD,简化BSD),因为前者会限制适应性你的代码,以及拥有更多自由许可的项目,如果它们确实被业内采用,有可能得到业界的支持(例如Apache Foundation拥有强大的行业支持,因为与GNU / FSF不同,它错误地看待开源和封闭的来源作为敌人,将他们视为合作者,因此使用许可证,允许他们的项目被业界广泛采用。)

答案 1 :(得分:3)

免责声明:IANAL。也就是说,这里有一些关于这个主题的随机想法:

“知识产权”一词将多种法律捆绑在一起:专利,版权,商标和商业秘密等。将许可证应用于您创建的作品将影响您的工作使用方式。由于每个许可证允许对代码进行不同的使用,因此您应用许可证的方式通常特定于您选择的许可证。例如,可以在http://www.apache.org/licenses/找到有关如何在Apache 2.0许可下许可代码的信息。请注意,Apache Software Foundation管理的项目还要求每个贡献者为工作授予ASF版权。授予版权与许可证分开。

我建议阅读Van Lindberg的“知识产权和开源”以学习一些术语,如果您有与代码相关的重大商业利益,请花几个小时与律师联系。

答案 2 :(得分:2)

免责声明:我不是律师,以下只是我对OSS许可的理解。如果我错了,我会感激任何更正。

  1. 明确说明(在您的项目网站上,在源代码,文档,启动画面,关于对话框等)项目根据您选择的许可证获得许可。
  2. 考虑到开源的本质,如果项目的部分用于其他人拥有的其他项目(例如一些有用的实用程序类),则将许可证的“基础”视为源代码标题文本的一部分清楚地说明了哪个许可证管理特定源文件的使用,以及谁拥有整个项目中该部分代码的版权。
  3. 是的,除非他们向您提供文件说明他们已将版权转让给您(我相信一些较大的项目需要贡献者这样做?)。
  4. 有关将OSS许可证应用于项目的示例,请参阅http://www.gnu.org/licenses/gpl-howto.html

答案 3 :(得分:1)

许可证只是您希望其他人遵守的规则,如果他们使用您的代码执行任何操作(使用,修改,发布,取笑,等等)。

a)你可以把你想要的东西,但要认真对待,你可以使用已经很好写的和接受的许可证...检查开源点组织/许可证/类别的(loong)列表 b)要确定哪种类型的许可证,请查看最近的这篇文章:http://www.itbusinessedge.com/cm/community/features/guestopinions/blog/ringing-in-the-new-year-with-clean-intellectual-property/?cs=38892&page=1。常见的是GPL V2,LGPL,Apache,New BSD-查看本文第2页的摘要矩阵 c)确保您的软件不包含来自其他开源或第三方的代码,否则您将声称他们的属于您的 - 不是一个好主意!您可以试用一些工具来扫描您的代码。 d)将许可证的文本放在文件夹中的License.txt或Copyright.txt文件中。还可以像Kimvais在上一篇文章中提到的那样在源文件中添加一个简单的(或复杂的,如果你愿意的话)标题。

祝你好运。

答案 4 :(得分:0)

简短的非律师答案;

  1. 除了向代表作为代码的唯一作者的任何人明确说明,无论以何种条款许可代码,都没有其他任何内容。
  2. 建议将许可证文件放在根目录中。我个人会在行Copyright 2010 <Your Name>. Released under <license name> in <Your country>.中添加所有文件的“最高评论”。最后一部分是为了让您可以声称该许可证从未打算根据您当地以外的任何其他法律进行解释(因此您可以获得如果一切都出错,在您的祖国成为合格的律师)
  3. 我想说这取决于您选择的许可
  4. 有关详细信息,请阅读this book - 或咨询具有软件许可经验的律师。