2012-04-12 107 views
49

我已經在網絡上閱讀的是以下組合存在:GPL/LGPL和靜態鏈接

專有源代碼+ GPL源代碼 - > GPL源代碼(所有的代碼有GPL下發布)

專有的源代碼+ LGPL的源代碼 - >專有的源代碼(所有的代碼仍然是專有)

現在如何靜態/動態鏈接 GPL和LGPL代碼,是用AB Ove組合?

+1

**屬性源代碼+ LGPL源代碼 - >屬性源代碼**,這是錯誤的,LGPL源代碼保持LGPL。 – wimh 2012-04-16 17:30:55

+3

我投票結束這個問題作爲題外話題,因爲它涉及許可或法律問題,而不是編程或軟件開發。 [見這裏](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964)瞭解詳情,以及[幫助]瞭解更多。 – JasonMArcher 2015-06-03 04:14:01

+13

許可是軟件開發的關鍵部分。考慮到GPL和非GPL部分代碼的靜態和動態鏈接如何影響軟件開發並因此在更大程度上影響編程,我不認爲它是因此我會請求重新考慮它保持開放。 – Raulp 2015-06-04 06:32:23

回答

74

如果您想分發合併作品,則必須使用以下許可證;

專有的源代碼+ GPL源代碼

專有的源代碼+ LGPL的源代碼

另請參閱executing a (L)GPL program from proprietary Source code

更新(2014年11月)A Comprehensive Tutorial and Guide包含對(L)GPL及其用法(包括分發)的詳細說明。我推薦它獲取更多細節。

+0

關於「*您必須將兩部分都作爲LGPL *發佈」部分:我認爲不一定是LGPL。根據任何許可證發佈的應用程序源代碼應該沒問題,即使是禁止修改的許可證,只要它允許將未修改的應用程序源與LGPL庫一起重新分發(因此可以重新編譯)。 – hyde 2014-01-07 07:14:33

+1

......但是,我想「*提供允許用戶重新鏈接應用程序的所有內容」部分涵蓋了LGPL以外的源代碼,因此可以重新編譯並重新鏈接。 – hyde 2014-01-07 07:23:34

+0

我想發佈一個與SDL1.2靜態鏈接的遊戲。我們是否實際上必須運送目標文件或任何可以重新鏈接的目標文件,或者只是根據請求提供它們,比如copyleft源代碼?如果我不得不運送.o文件,可能寧願使用動態鏈接。 – 2014-09-04 01:34:45