2011-11-18 77 views
3

我需要將LGPL授權代碼編譯到專有的靜態iOS庫中。由於代碼在靜態庫中使用,因此無法鏈接到LGPL許可庫的預編譯版本。LGPL/MPL和靜態庫

我該如何解決這個問題,如果我將它編譯到我的lib中,我還需要發佈什麼?我顯然不能釋放(全部)專有來源。

我說的特定庫是libical,它是根據LGPL 2.1或MPL 1.0許可的。

+4

我投票結束這個問題作爲題外話,因爲[許可建議是關於堆棧溢出題外話。](http://stackoverflow.com/help/on-topic)您可能能夠得到幫助在[程序員堆棧交換,但**閱讀他們的常見問題解答,然後再繼續。](http://meta.programmers.stackexchange.com/questions/7265/when-is-a-software-licensing-question-on-主題) – durron597

回答

1

與平時IANAL此作序:

取決於它的使用LGPL的版本。如果是版本2,則在詢問它之前不需要提供源代碼。這就是許可證的寫法。但是,當它被要求時,您需要通過一些易於訪問的介質提供。

如果是LGPLv3,我的建議是找到另一個庫。 GPLv3系列許可證與AppStore發行版完全不兼容。

+0

更新了我的問題。 lgpl 2.1或mpl 1.0。 –

+0

如果我需要釋放源代碼,這隻包含與LGPL lib接口的文件是正確的? –

0

LGPL許可說,你需要提供三個位:

  1. 的LGPL在你的產品中使用的源代碼。
  2. 專有代碼的對象文件
  3. 一種構建源代碼並將其與對象文件鏈接的工具,從而生成與您提交給Appstore的產品完全相同的產品。

這是繁瑣而複雜的,但非常可行。