2011-02-06 62 views
17

我可以在我的付費android應用程序中使用LGPL庫嗎?我不打算修改LGPL庫,我只是想使用它。它合法嗎?在付費Android應用程序中使用LGPL庫

+1

謝謝@willytate @MisterSquonk;我發現其他論壇上的更多信息只能部分回答這個問題。看起來LGPL只能不情願地在商業應用中允許動態綁定,這意味着它只是不會在Android上工作,因爲Android將所有類和jar翻譯成單個字節碼「dex」文件,這可能違反了LGPL。除非一些法律專家有所瞭解,否則最好小心。更多鏈接: http://www.andengine.org/blog/2010/11/andengine-and-the-lgpl-clarification/ http://groups.google.com/group/android-developers/browse_thread/thread/587d0323cd1b18fe/aa190c051bedfa0f – Kamran 2011-02-07 19:52:24

+1

我覺得AndEngine的人不懂LGPL,他的博客文章只是證實了這一點。 – Enno 2011-03-30 16:41:53

+0

是的,我同意,我也檢查了lgpl-lib的作者,他們在使用付費android應用程序中沒有任何問題。我還發現了一些使用LGPL和ASL庫的其他付費應用程序。 – Kamran 2011-04-18 13:29:03

回答

3

我一直認爲LGPL非常「灰色地帶」。雖然有關於如何使用LGPL代碼/庫等的具體細節,但並不一定反映作者的確切要求。

我個人建議聯繫作者,解釋您的疑慮並詢問他們是否樂意讓您使用它。

11

如果您正在製作付費Android應用程序,您可能會遇到關於LGPL特定問題的問題:可替代性。一般來說,它指出,當你分發一個組合作品時,你必須讓用戶有可能用不同的版本(例如更新的版本)替換該庫。正如前面的評論中提到的那樣,DEX文件的情況非常令人懷疑。

單個DEX文件的替代方法是從一個從屬庫製作一個單獨的應用程序,在LGPL上發佈。在這樣的應用程序中,您可以創建一個服務,從您的付費應用程序連接到該服務然後,要用新版本替換LGPL庫,只需重新編譯並重新安裝庫的APK。

麻煩是,當然,現在你有多個APK安裝。

6

的droidText庫(用於出口,在Android PDF格式和發佈LGPL下),對如何使用他們的圖書館,仍然遵守LGPL的詳細說明:

http://code.google.com/p/droidtext/wiki/LGPLCompliance

我發現它很有幫助。基本上你使用一個utililty(dex2jar)將dex文件庫中的jar文件 - 從而允許和最終用戶使用更新版本的droidText庫進行更新(如果他們願意的話)。

11

在Android免費或付費的應用程序使用LGPL是合法的,但要符合LGPL的,你必須:

  1. 給使用的庫的用戶指示和在哪裏可以找到原來的代碼;
  2. 將proguard配置爲而不是混淆了LGPL涵蓋的代碼;
  3. 避免在應用中檢查簽名合規性;
  4. 給用戶指示如何替換庫。

對於第4點,您可以指示使用dex2jar,替換LGPL代碼並重新簽名APK。它需要爲用戶做很多工作,但有可能這樣做,並允許最終用戶重組或重新鏈接代碼LGPL說。此外,如果您的應用使用任何Google服務,用戶需要創建一個帳戶來生成自己的api密鑰等等。