2014-07-21 37 views
1

假設我正在開發一個組件(PhoneGap-Plugin或類似的),例如對於iOS或Android應用程序,它使用GPL V2涵蓋的來源。現在我已經很清楚,我將在LGPL V2.1下發布組件。但是如果有人使用我的組件,怎麼辦?開發一個使用GPL V2下發布的源代碼的組件,然後在LGPL V2.1下發布它 - 這個組件的用戶呢?

他們是否必須在LGPL或GPL下發布他們的應用程序呢?

我已閱讀LGPL/GPL licensing - 但這個是關於在iOS/Android中使用它的。

< https://stackoverflow.com/a/16544649/1677988說的沒關係>>對不起,我弄錯了,oSIP用在linphone中 - 不是相反的方式!

+0

這個問題似乎是題外話,因爲它是關於許可。 –

回答

-1

如果它包含在GPL下發布的代碼,您不能在除GPL以外的任何許可下合法發佈它。這意味着你不能發佈任何使用它作爲LGPL的東西。

操作系統無關緊要。如果您包含的是GPL許可的代碼,則必須使用GPL編碼整個代碼。

+0

感謝您的快速響應。這也適用於在LGPL組件中使用GPL-Library? – Toubey

+0

經過進一步的研究 - 是的。 – Toubey

+0

@ gabe-sechan GPL和LGPL比這更微妙。看到我的答案。 –

-1

GPL或LGPL是否擴展到應用程序重用這些許可下的代碼?

簡而言之,它取決於上下文。

這是我長久以來的答案:

關於「您」 LGPL應用與GPL代碼:

的第一個測試,我會考慮的鏈接:直接鏈接應用程序代碼(靜態或動態)與GPL組件?答案是技術特定的,可能因語言和平臺而異。如果是的話,會有一些GPL的影響。例如,如果您的應用程序包含一個GPL許可組件作爲單獨的未修改的可執行文件,該文件是從您的應用程序在其自己的進程中啓動的,那麼通常不存在「鏈接」,但是被認爲是正常使用GPL程序的內容。請注意,GPL中沒有這種鏈接本身的概念,但這仍是一個通常考慮的測試。

我會考慮的第二個測試是修改:您是否修改了GPL許可組件?如果是的話,並且如果這些修改可以幫助您更好地與這個GPL組件連接,而不管鏈接如何,那麼可能會有一些GPL影響。

請注意,GPL 2.0沒有一般義務釋放使用GPL 2.0下的GPL許可組件的源代碼。相反,如果您在上面測試1或2時回答「是」,那麼您的代碼將不得不在GPL下或與GPL兼容的許可證下提供,實質上提供類似的自由。 FSF發佈這樣一個列表。 LGPL 2.1與GPL 2.0明確兼容,因此您可以使用LGPL 2.1。

關於「他們」的網站與您的LGPL和GPL程序:

如果有人再使用,在其應用您的應用程序,他們將不得不釋放下LGPL或GPL的過他們的應用程序?

這又取決於:上面的測試1和2將首先應用。 如果您對應用程序的測試1和2回答「是」,則您的應用程序將受到類似於GPL的條款的約束。如果他們重複使用GPL和LGPL 2。1代碼,那麼GPL可能也會申請,也取決於他們如何重用您的代碼。

關於他們使用您自己的LGPL授權代碼,相同的測試將適用於扭曲:LGPL隱式區分靜態和動態鏈接,並且在修改時有其他條件。

在那裏,我會考慮的第三個測試是靜態與動態鏈接:它們的應用程序代碼是靜態還是動態地與您的LGPL代碼鏈接?答案是技術特定的,可能因語言和平臺而異。如果是靜態的,會有一些LGPL影響。例如,如果您的應用程序包含LGPL許可的本機庫,並且它們將此代碼靜態鏈接到此庫,那麼它們的代碼將受到LGPL的約束,並且它們將不得不製作 - 其他內容 - 它們的源代碼可用認爲與LGPL兼容並提供相似自由的術語。再次有一個由FSF發佈的清單。 如果他們的代碼與您的LGPL代碼動態鏈接,那麼通常會認爲LGPL庫和LGPL的正常使用不會影響他們的代碼。

我會考慮的第四個測試是再次修改:他們修改了你的LGPL庫嗎?如果是,LGPL可能適用於他們的代碼,可能取決於修改的性質和範圍。

當然,在所有情況下,即使您對所有四項測試均回答「否」,GPL條款仍適用於GPL代碼,LGPL條款仍適用於單獨使用的LGPL代碼。

這是一個很長的回答,但這不是一件簡單的事情!

/HTH,IANAL TINLA

PS:我做了這個一個社區維基所以它可以增強...

相關問題