0

如果一家公司将其代码库在线转储(即在 Google Project Hosting 上),则允许它使用并链接到第 3 方 GPL 代码。

当然管理层不允许公开代码,因为他们认为竞争对手会窃取他们的代码。

然而,根据我的经验,庞大的公司代码库对于外行来说毫无用处。我记得在我的第一份工作中,任何人都需要至少三个月的时间才能对公司代码有所了解。

因此,这似乎是一个简单的解决方法:只需将其全部转储到网上就可以了。

这行得通吗?还是我在这里缺少任何其他 GPL 要求?

为这篇文章有点马基雅维利的内容道歉。

编辑:我不考虑在未经管理层许可的情况下将任何可用代码放到网上。我只是想知道我是否应该说服他们这样做。

4

5 回答 5

7

GPL 不仅要求源代码可用,而且只要源代码仍然在 GPL 下,就必须获得许可,以供其他人使用、复制、分发等。这意味着该公司不会仅仅通过销售其软件来赚钱。

仅仅将代码放到网上是不够的,它还必须在 GPL 下发布。

不要求 GPL 代码易于理解(尽管不允许混淆源代码),而且确实有些公司通过在 GPL 下提供软件并做诸如销售支持或定制之类的事情来赚钱,或者有时是双重许可,以便它可以在非 GPL 程序中使用。

最后,在 GPL 下发布代码并不是对 GPL 的任何规避。它符合 GPL,并且具有所有优点和缺点。

要考虑的另一件事是在公司的内部软件中使用 GPL 代码。GPL 的条款仅在软件发布时适用,因此不发布源代码或二进制文件将完全符合许可。由于大多数软件不是为了出售给他人而编写的,因此使用 GPL 软件通常会受到惩罚。

于 2009-10-27T13:52:15.287 回答
3

你是对的。只要您提供源代码,您就可以以任何价格(0.00 美元到 $$$)出售 GPL 软件。理查德的想法不是共产主义,而是编码自由。

我也同意“相当没用”的部分。经理们倾向于根据“我们花了多少钱创建它”而不是“它有多大用处”来看待代码的价值。此外,他们通常会忽略这样一个事实,即如果他们想销售修改后的产品,竞争对手也必须使用 GPL 的版本。

[编辑] 请注意,只要您不尝试在组织外部分发您的代码,您就可以包含尽可能多的 GPL 代码。GPL 仅在代码离开您的公司时管理规则(主要是因为您公司内部的人如果愿意,实际上可以获取源代码)。所以没有人关心你在家里做什么,但是一旦你把你的项目带到街上,你最好带一份源代码的副本。

像往常一样,IANAL。

于 2009-10-27T13:46:47.420 回答
1

我不确定你在问什么,确切地说。在我看来,您好像在说,“我想把我公司的代码放到网上。这样可以吗?” 哪个,我会回答,不。这是他们的,不是你的。他们只是雇用你来做这件事。如果您决定发布代码,您是在要求一个受伤的世界。而且,是的,这确实限制了您可以链接到的 FOSS 软件。这就是来龙去脉。

于 2009-10-27T13:47:18.133 回答
0

我认为 GPL 要求是您最不必担心的问题。

道德、法律和安全方面可能会阻止你走这条路。

在这样做之前,先和你的老板谈谈,让你的老板和律师谈谈。
否则你将被解雇。

于 2009-10-27T13:45:52.757 回答
0

您可以使用 GPL 组件,因为有人分发它们并给了您使用它们的许可。你必须以同样的方式对待你的用户。

GPL 是关于将您的程序分发给您的用户。GPL 中所谓的病毒性条款意味着,如果您使用 GPL 的部分,那么您必须按照 GPL 条款将整个程序分发给您的用户。这不是向全世界发布代码,而是向您的用户(如果他们愿意)。

仅仅发布你的代码是不够的,事实上它是不需要的(根据要求发送源代码副本的书面提议是可以的)。

关键是你善待你的用户。你不会给他们一个偏执的 EULA 许可证,你不会强迫他们签署 NDA 协议。您给予用户使用、学习、分发、修改软件和分发修改的自由。

如果您的用户不知道源代码,或者如果他们不被允许研究它,或者如果他们不被允许将您的软件分发给第三方,那么发布源代码是不够的。

于 2009-10-27T14:27:23.767 回答