2011-08-13 29 views
1

我是一個開始構建小型商業應用程序(用於在Visual Studio中構建的手機(java,android),網頁和C++應用程序)的程序員。框架/庫/ apis的許可證模型

現在的問題是,我不明白授權是如何工作的。從我所看到的我不允許使用任何庫,甚至不是基於Java的庫,因爲它們是在GPL或其他內容之下。

例如,我是否有義務支付Sun使用他們的Java庫來構建我的應用程序?或者如何在需要發佈我的代碼時編寫移動應用程序。大公司如何解決這個問題?

另一件我不明白,我允許什麼庫和apis免費使用,是特定於Windows(如MFC,.NET,COM)。這些許可證如何工作?如果我剛買了視覺工作室套裝,是否足以讓我使用這個API?我處於一種情況,我學會了使用這些庫/ apis /框架,現在是時候真正將它們用於我必須支付的東西。 如果這是真的,那意味着如果不花費數千美元購買其他產品就不可能構建商業應用程序?

回答

0

您的問題非常廣泛,涉及範圍廣泛的圖書館和相關許可證。 IANAL,但簡單的答案是,你提到的大多數圖書館代碼可以用於商業目的而無需支付任何費用;特別是Java和.Net代碼。相應的平臺持有人希望人們使用它們。只有當你進入更專業的情況時,他們纔會開始提取收入,通常是通過支持合同或特殊的VM版本(如舊的JRockit VM)。

0

大公司在審查其解決方案中包含的每個工具/ sdk /庫的許可時都非常謹慎。

關於釋放源代碼的義務,如果您使用的是Microsoft sdks或Java基本庫,則無須這樣做。

但爲了100%確定,您必須始終閱讀許可證。一個良好的開端,以瞭解如何授權作品將閱讀下面的Wikipedia文章:

  • CopyLeft - 如果許可證的copyleft那麼許可證的所有限制也將適用於你的代碼,但你不能對代碼或產品施加進一步的限制。這意味着如果您使用具有Copyleft許可證的開放源代碼SDK,則必須將源代碼作爲開源代碼分發。
  • CopyFree - 如果許可證是免費的,您可以對其進行進一步限制,如爲最終產品增加費用並拒絕分發代碼。
  • GNU public license - 的copyleft的標準適用,如果你提供或者鏈接到開放版權許可基礎
  • Lesser GNU public license - 的copyleft的標準只適用,如果你直接包含的copyleft許可證的代碼到你的源代碼庫。但是,如果你只是鏈接到的copyleft類型許可產品

試花一些時間和走線槽上牌議題的一些文章並不適用,那麼你將開始明白許可證好一點。

HTH, JP

+0

從未聽說過「CopyFree」。我知道這些許可證爲許可許可證。 – CodesInChaos

+0

@CodeInChaos閱讀發佈的鏈接(GNU公共許可證,較小的GNU公共許可證) –

1

這裏有一些情況下,如何處理這些問題:

  1. 複製源代碼到你自己的代碼 這是你應該很清楚,你從代碼被髮布的許可代碼複製而來。大多數情況下你將不被允許複製它。在幾乎所有其他情況下,您需要將原始版權聲明放入代碼中。在某些情況下(GPL),您有義務發佈源代碼以及您的產品的任何公共發行版。在某些情況下,您可以以二進制形式購買授權以重新分配權限。在所有情況下,最好寫一條評論,標明代碼的來源。

  2. 使用庫,但不送貨 如果你編譯Android或用於Windows的應用程序,你會不可避免地使用他們的API和庫。只要這些屬於該平臺,您就不需要將這些庫與您的應用程序一起發貨。所以你只需要關心你是否被允許在你的應用中使用它們(鏈接到它們)。對於操作系統和語言庫,通常是這種情況。

  3. 與應用 這裏再次送貨的第三方庫,你需要知道你在做什麼,因爲有很大的差異。這個領域相當複雜......一些開發環境和框架包括「可再發行」包,這些包可以包含在你的應用中。但他們也有許可條款,閱讀和理解其含義是值得的。拇指的

規則:BSD風格的許可證都很好,如果你的文檔中給予適當的信貸。除非您願意將您的整個源代碼與您的產品一起發佈,否則GPL幾乎總是不適用於商業應用。

聲明:IANAL