2009-10-27 52 views
0

如果某家公司在線轉儲其代碼庫(即在Google Project Hosting上),則允許使用第三方GPL代碼並與其鏈接。一個簡單的方法來規避GPL?

當然,管理層不允許公開代碼,因爲他們認爲競爭對手會竊取他們的代碼。

但是,根據我的經驗,龐大的公司代碼庫對於外行來說是非常沒用的。我記得,在我的第一份工作中,至少有三個月的時間讓任何人對公司代碼有所瞭解。

因此,它看起來像一個簡單的修復:只是在網上傾倒它,你沒事。

會這樣嗎?或者有沒有其他GPL要求我在這裏失蹤?

道歉爲這篇文章的有些Machiavellian內容。

編輯:我不考慮在未經管理許可的情況下在線提供任何代碼。我只是想知道我是否應該說服他們這麼做。

+2

我不會稱這種規避。 – Svante 2009-10-27 13:46:48

+0

@Svante:對。我沒有看到什麼是馬基雅維利安關於遵守許可證。這裏唯一的問題是暗示提問者可能想在沒有公司許可的情況下發布公司代碼。 – 2009-10-27 13:54:29

+4

我正在投票結束這個問題,因爲**是關於授權或法律問題**,而不是編程或軟件開發。 [見這裏](http://meta.stackoverflow.com/a/274964/1402846)瞭解更多信息,以及[幫助/話題]。 – 2015-06-07 20:26:09

回答

7

GPL不僅要求源代碼可用,還要讓源代碼授權其他人使用,複製,分發等等,只要它仍在GPL下。這意味着該公司不會僅僅通過銷售軟件來賺錢。

僅僅將代碼放到網上是不夠的,那麼它也必須在GPL下發布。

沒有要求GPLed代碼容易理解(儘管不允許混淆源代碼),事實上有些公司通過在GPL下提供軟件並進行諸如銷售支持或定製等操作來賺錢,許可證,以便它可以用於非GPL程序。

最後,在GPL下發布代碼並不是對GPL的任何規避。它符合GPL,並具有所有優點和缺點。

要考慮的另一件事是在公司的內部軟件中使用GPLed代碼。 GPL的條款僅在軟件發佈時適用,因此不公佈源代碼或二進制文件將完全符合許可證。由於大多數軟件不是爲了銷售給其他人,因此使用GPLed軟件通常會受到懲罰。

3

你說得對。只要您提供源代碼,您就可以以任何價格($ 0.00到$$$)銷售GPL軟件。理查德的想法不是共產主義,而是編碼自由。

而且我也贊同「非常沒用」的部分。管理者傾向於從「我們花費多少錢」的角度看待代碼的價值,而不是以「它有多大用處」來衡量。另外,他們通常會錯過這樣一個事實,即如果競爭對手想要銷售修改過的產品,那麼他們也必須擁有GPL版本。

[編輯]請注意,只要您不嘗試在組織外分發代碼,您可以隨心所欲地包含儘可能多的GPL代碼。當代碼離開公司時,GPL只管理規則(主要是因爲公司內部的人員可以實際獲得源代碼)。所以沒有人關心你在家做什麼,但只要你把你的項目帶到街上,你最好帶一份源代碼。

像往常一樣,IANAL。

1

我不確定你在問什麼,確切地說。在我看來,你好像在說:「我想把我公司的代碼放在網上,這樣好嗎?」哪,我會迴應,不。這是他們的,不是你的。他們只是僱你做。如果你決定發佈代碼,你正在尋求一個受到傷害的世界。而且,是的,這限制了您可以鏈接到的FOSS軟件。這就是來龍去脈。

+0

它並不限制軟件中的GPLed代碼鏈接,僅供內部使用。 – 2009-10-27 13:53:16

+0

@Jason:如果沒有他們的許可,我不會把公司的代碼放在網上,我不會瘋狂。 – StackedCrooked 2009-10-27 14:01:27

0

您可以使用GPL組件,因爲有人分發了它們並給了您使用它們的許可證。你必須以同樣的方式對待你的用戶。

GPL是關於將您的程序分發給您的用戶。 GPL中所謂的病毒線索意味着如果您使用的是GPL的部分,那麼您必須以GPL條款將整個程序分發給您的用戶。這不是將代碼發佈到世界上,而是發佈給用戶(如果他們願意的話)。

發佈你的代碼是不夠的,事實上它是不需要的(根據請求發送一份源代碼副本的書面提議是可以的)。

整個問題是,你對待你的用戶很好。你不給他們一個偏執的EULA許可證,你不會強迫他們簽署NDA協議。您可以讓用戶自由使用,學習,分發,修改軟件並分發修改。

如果你的用戶不知道它,或者如果他們不被允許研究它,或者他們不被允許將你的軟件分發給第三方,那麼發佈源代碼是不夠的。

相關問題