开源或免费软件许可的目的是什么?

时间:2013-03-06 16:06:59

标签: open-source licensing

我想从一开始就明白这些。假设我用某种语言编写了一些库,并将它们上传到github.com以供公众访问。现在任何人都可以看到并使用它们。我无法阻止他们使用,同时允许他们仅查看代码,因为任何可以的人也可以使用它。

我的问题是,此类代码的许可证的目的是什么?它会阻止使用吗?或者如果他们仍然可以使用它,它(许可证)以任何方式使我受益吗?如果是的话,以什么方式?

如果我的源代码不使用任何许可证,这是一个坏主意吗?换句话说,如果我不使用我发布给公众的源代码的任何许可证,我将来会后悔吗?

是什么决定我是否应该使用任何许可证?我应该在什么基础上为我的代码选择特定的许可证?我应该如何做出关于许可的任何决定

请帮助我理解这些事情。

2 个答案:

答案 0 :(得分:4)

首先阅读:http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html

总结:默认情况下,无论您是否声明,所有代码都受版权保护。如果使用未经许可的代码,所有者(或继承人)可以追溯性地决定起诉你。

答案 1 :(得分:2)

  

我的问题是,此类代码的许可证的目的是什么?

许可证的目的是,您有一份文件,其中记录了您授予您的受版权保护作品的权利(软件可能属于版权)。

这有助于您的软件用户了解他们对软件拥有哪些权利。

自由软件许可允许用户使用学习分享改进你的软件。对于开源计划网站上列出的批准的许可,这是相同的。

因此,如果没有许可证,您不会给予许多权利。许可证明确授予了哪些权利。这是您的第一个好处:您的软件用户不需要先询问您。

  

是否阻止他们使用它?

不,许可证不会停止使用它。至少通常不会。许可证授予使用该软件所需的权利,因此其实际上恰恰相反。

  

或者如果他们仍然可以使用它,它(许可证)是否以任何方式使我受益?

你仍然使用它是什么意思?如果您提供(已知)软件许可证,他们可以使用该软件。给你带来的好处就是你说明了你给的东西很清楚。

  

如果是,请以何种方式?

例如,澄清您提供的软件AS-IS没有某种保证。如果你查看许可证,你会发现一个关于这个问题的段落。

  

如果我的源代码不使用任何许可证,这是一个坏主意吗?换句话说,如果我不使用我发布给公众的源代码的任何许可证,我将来会后悔吗?

是的,这通常是一个坏主意,因为您或多或少不会告诉您的用户他们使用该软件获得了哪些权利。这可能会对使用模式和贡献模式产生负面影响。这是你将来可能会后悔的事情。

参见:

这是一本在线提供的好书,逐步完成了许多内容,例如Choosing a License and Applying It - 这本书名为Producing Open Source Software How to Run a Successful Free Software Project by Karl Fogel

这是最好的文章之一基本上讲述所有Make Your Open Source Software GPL-Compatible. Or Else.作者:David A. Wheeler发布2002-05-06,修订2013-01-18 - 它有很多非常好的链接。