我正在发布一些代码,我应该使用什么许可证?

时间:2010-06-24 04:48:24

标签: open-source release

我一直在浏览许多关于软件许可的网页,这是一个真正的大脑打击者。合法的东西并不有意思,虽然我知道我必须在许可下发布我的代码,否则我最后会遇到问题。

所以我刚刚完成了一个基于网络的富媒体管理器,我正准备发布它。它使用jQuery(包括JSON插件和SWFUpload)。所有代码都是我自己的,除了JSON插件和SWFUpload(都是在MIT License下发布的,我相信我可以使用它们,我希望如此)。

我的代码将是开源的。有一些事情让我担心。

  1. 如果我将其作为开源发布,我是否会失去原版权所有者的权利?
  2. 真的,如果我希望人们能够免费使用它,根据需要改变它,重新分配ORIGINAL工作(而不是改变的工作),我应该使用哪个许可证。
  3. 真的,我只是觉得我过度保护了它。我想做的就是将它发布给公众,但我仍然保留了对它的所有权,因为我创建了它。

    关于我应该去哪里的任何指示?我一直在关注GNU GPL,但并不完全确定。

    此致

    杰森。

    修改

    在研究了很多之后,我已经选择了BSD或MIT许可证。我读过GPL许可证是法定时间炸弹,不确定它是多么真实。

    BSD和MIT许可证对最终用户几乎没有限制,基本上:版权声明和许可证必须包含在软件的任何重新分发中。

    但是,BSD许可证确实说明了这一点:

      

    未经事先书面许可,不得使用其贡献者的名称或其名称来支持或宣传从该软件衍生的产品。

    关于哪些更好的指针?

2 个答案:

答案 0 :(得分:3)

如今,更自由的开源许可证通常是MIT许可证(here is my question on it)或GPL。您可以使用这些许可证,但仍然是两者的版权所有者,但您不会限制用户数量。

Creative Commons有一些限制性更强的许可证,所以请查看这些许可证。其中一些将允许重新分配已更改的工作,但仅当它链接回来并添加“不支持”通知时。

答案 1 :(得分:2)

  

我的代码将是开源的。有   一些让我担心的事情。

     
      
  1. 如果   我把它作为开源发布,我输了   我作为原始版权的权利   主人吗?
  2.   

不,不是GPL,麻省理工学院或BSD。事实上,这些许可证依赖依赖作为对使用/分发代码的条件的一种手段。

您有权在多个许可下发布您的代码 - 只要您首先创建它(或者您根据许可协议使用代码允许这样做)。假设您将代码发布为GPL,然后创建新版本的代码,需要在GPL下分发新版本。

例外情况是,如果您将代码作为GPL发布,而其他人进行衍生作品,则此人对其更改拥有版权,并且未经他的许可,您不能发布包含其更改的非GPL版本。

  

0.2。真的,我应该获得哪个许可证   如果我希望人们能够使用的话   免费使用它,改变它们的方式   想要,重新分配ORIGINAL的工作   (不是改变的工作)。

简而言之:

  • 如果您想阻止人们未经您的许可在商业产品中使用您的软件,请使用GPL。
  • 如果您不关心人们对您的软件做什么,请使用BSD或MIT。
  • 如果您不希望人们分发修改后的副本,则需要使用其他许可证。也许从免费软件许可证开始,允许修改源代码,但不允许分发修改后的副本。

注意,我不是律师,这不是专业的法律建议。