如果公司在线转储其代码库(即在Google Project Hosting上),则允许其使用并链接第三方GPL代码。
当然,管理层不允许将代码公开,因为他们认为竞争对手会窃取他们的代码。
然而,根据我的经验,对于没有经验的人来说,庞大的公司代码库是无用的。我记得在我的第一份工作中,至少花了三个月的时间才能让任何人熟悉公司代码。
所以,这似乎是一个简单的修复:只需将它全部转储到网上就可以了。
这会有用吗?或者我在这里缺少任何其他GPL要求吗?
对这篇文章的某些Machiavellian内容表示道歉。
编辑:我不考虑未经管理层许可在线提供任何代码。我只是想知道我是否应该说服他们这样做。
答案 0 :(得分:7)
GPL不仅要求源代码可用,而且要求其他人使用源代码,复制,分发源代码等等,只要它仍然在GPL下。这意味着公司不会只是出售其软件而赚钱。
将代码放在网上是不够的,然后,它也必须在GPL下发布。
没有要求GPL代码易于理解(虽然不允许使用混淆源代码),事实上有些公司通过赠送GPL下的软件以及销售支持或定制或有时双重许可来赚钱。这样它就可以用在非GPLed程序中。
最后,根据GPL发布代码并不是对GPL的任何规避。它符合GPL,并具有为您提供的所有优点和缺点。
另一件需要考虑的事情是在公司的内部软件中使用GPL代码。 GPL的条款仅在软件发布时适用,因此不发布源或二进制文件将完全符合许可。由于大多数软件不会出售给其他人,因此使用GPL软件通常会受到惩罚。
答案 1 :(得分:3)
我也同意“相当无用”的部分。管理者倾向于看到代码的价值在“我们花了多少钱创造它”而不是“它是多么有用”。此外,如果他们想要出售改良产品,他们通常会错过竞争对手也必须使用GPL版本的事实。
[编辑]请注意,只要您不尝试在组织外部分发代码,就可以包含尽可能多的GPL代码。代码离开公司时,GPL仅管理规则(主要是因为公司内部的人员实际上可以获取源代码)。所以没有人关心你在家做什么,但是一旦你把你的项目带到街上,你最好带上一份来源。
像往常一样,IANAL。
答案 2 :(得分:1)
我不确定你在问什么。在我看来,好像你在说,“我想把我公司的代码放到网上。这样可以吗?”哪个,我会回答,不。这是他们的,而不是你的。他们只是聘请你去做。如果您决定发布代码,那么您会要求一个受伤的世界。并且,是的,这确实限制了您可以链接到哪个FOSS软件。就是这样。
答案 3 :(得分:0)
我认为GPL要求是您最不担心的。
道德,法律和安全方面可能会妨碍你走这条路。
在此之前,请与老板交谈,让老板与律师交谈 否则你将被解雇。
答案 4 :(得分:0)
您可以使用GPL组件,因为有人分发了它们并授予您使用它们的许可。您必须以相同的方式对待您的用户。
GPL旨在将您的计划分发给您的用户。 GPL中所谓的病毒cluase意味着如果您使用GPL部分,那么您必须使用GPL术语将整个程序分发给您的用户。这不是要将代码发布到全世界,而是发布给用户(如果他们愿意的话)。
仅发布您的代码是不够的,事实上它不是必需的(根据请求发送源代码副本的书面要约)。
重点是你善待用户。你没有给他们一个偏执的EULA许可证,你不强迫他们签署NDA协议。您可以让用户自由使用,研究,分发,修改软件并分发修改。
如果您的用户不了解源代码,或者他们不被允许研究,或者不允许他们将您的软件分发给第三方,则发布源代码是不够的。