开源或自由软件许可的目的是什么?



我想从一开始就了解这些。假设我用某种语言编写了一些库,并将它们上传到github.com作为公共存储库。现在任何人都可以看到并使用它们。我不能阻止他们使用它,同时允许他们只看到代码,因为任何可以看到的人,也可以使用它。

我的问题是,这种代码的许可证的目的是什么?它会阻止他们使用

它吗?或者如果他们仍然可以使用它,它(许可证)是否在任何方面对我有利?如果是,以什么方式?

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

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

请帮助我理解这些事情。

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

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

我的问题是,这种代码的许可证的目的是什么?

许可证的目的是你有一个文件,上面写着你授予对你的受版权保护的作品的权利(软件可以受版权保护)。

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

一个自由软件许可证允许用户使用学习分享改进您的软件。对于那些在开源促进会网站上列出的已批准许可证也是如此。

所以没有许可证你就没有很多权利。许可证阐明授予哪些权利。这是你的第一个好处:你的软件的用户不需要先问你。

它会阻止他们使用它吗?

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

或者如果他们仍然可以使用它,它(许可证)对我有任何好处吗?

你还在用是什么意思?如果您提供(已知的)软件许可,他们就可以使用该软件。对你来说,好处是你说出来了,所以你给的东西很清楚。

如果是,通过哪些方式?

例如,通过澄清您按原样提供软件而不提供某种形式的保证。如果你看一下许可证,你会发现一段关于这个的。

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

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

参见:

  • 我可以在没有指定许可证的Github项目中使用代码吗?

这是一本很好的在线书籍,它一步一步地介绍了很多东西,例如选择许可证和应用它-这本书被称为生产开源软件如何运行一个成功的自由软件项目,作者是Karl Fogel。

这是最好的文章之一,基本上告诉了一切:使您的开源软件与gpl兼容。或其他。作者:David a . Wheeler发布于2002-05-06,修订于2013-01-18 -它也有很多非常好的链接。

最新更新