GNU通用公共许可证(v2):公司可以免费使用许可软件吗?

Eri*_*got 19 licensing open-source software-distribution gpl

以下是这个问题的背景:我有代码可以出售以获取利润,但我希望将其提供给个人和非营利组织,只要他们的代码仍然免费.

当一个库在GPL v2下发布时,公司可以在内部免费使用它吗?如果他们开发基于它的软件,他们是否必须在GPL下发布它,即使他们不分发它?他们是否可以通过使用(不分发)内部开发的软件来赚钱,这些软件链接到GPL的图书馆,而对作者没有任何补偿?

我正在寻找一个只允许非商业用途的软件许可证(复制,修改,链接); 由此产生的衍生程序也必须是免费的非商业用途.是否有任何软件许可证用于非商业用途,并阻止任何商业用途(包括使用该软件以赚钱)?看起来Creative Commons许可证足够灵活,可以做到接近这一点,但我反对将它们用于软件.你怎么看?

或者也许可以简单地写下面的内容?

"这项工作是在双重许可下发布的:

  1. 对于非营利性用途:GPL v2许可证.
  2. 用于其他用途:另一种许可证,只要从原作者处获得."

这是否有效地使该计划免费用于非营利性用途(复制,修改,使用......),同时保持商业用途的大门?

编辑:PS:在阅读完所有答案并在网上查找信息后,我认为这个问题的相关概念是双重许可.互联网上有大量关于它的信息,特别是关于GPL如何适合(或不适用)双重许可.

Mic*_*yan 12

是的,公司可以在内部使用GPL代码.GPL强加的主要限制是,任何源自它或使用它的源代码也必须在GPL下发布,但如果它们不修改或分发原始GPL代码,那么它们可以使用GPLed程序.

我认为,有两个原因可能导致代码仅用于非商业用途:

  1. 该代码将以盈利方式出售,但有人希望将其提供给个人和非营利组织.

  2. 一个人认为,行业和开源​​是彼此的主要障碍.

如果你属于第一类,我的建议是创建一个开源许可证,声明该许可证仅适用于个人和非营利组织,并且任何营利性公司必须购买不同的许可证,并创建第二个商业许可证你选择公司.简单地向现有许可证添加一个条款,声明它只能用于非商业用途,这是完全可以接受和有效的(尽管你应该注意通过指示,例如,它是一个修改版本的给予许可证而不是原始许可证).

如果你属于第二类,那么我建议你强烈重新考虑你的观点.与自由软件基金会的信念相反,行业和开源​​并不是相互矛盾的.事实上,开源项目经常获得行业赞助.当一个项目在行业中被广泛采用时,使用它的公司将经常为改进项目贡献时间和金钱,因为增强开源项目也增强了使用它的行业项目.但是GPL的项目将不会被行业采用.Apache Foundation的各种项目都是具有强大行业支持的项目的典范.这些项目通常得到支持,因为Apache许可证对行业很友好,很多公司都使用这些项目,

  • 当然,自由软件基金会一直认为自由[出售](http://www.gnu.org/philosophy/selling.html)是[定义]的一部分(http://www.gnu.org/philosophy) /free-sw.html)自由软件. (3认同)
  • 如果许可证仅适用于某些组织或人员,则它不是开源的.您当然可以根据您选择的任何专有许可证自行许可您自己的软件,但如果不是,则不要将其称为开源软件.请参见http://www.opensource.org/docs/osd中的#5 (3认同)

lor*_*ova 5

是.谷歌就是这样做的!

谷歌正在内部使用自定义的Linux发行版,即使在他们的服务器基础架构上.Web服务器是Apache的衍生产品.然而,他们没有在公司外部发布任何内容,并且用户正在远程访问此GPL衍生代码:这是GPL允许的.

然而,Google为很多GPL开源项目(包括Linux内核)做出了贡献,他们只选择要披露的内容和不披露的内容.当然,他们被许可条款强制释放他们发布的任何GPL派生二进制文件的源代码.

  • 洛伦佐,你的回答是"他们**从不**发布他们的GPL2衍生软件." (2认同)