一文看懂開源許可證,能不能商用再也不抓瞎

在github中閒逛,寶藏多福利好。不過心裡或許總有小忐忑,這麼多開源項目,我的產品裡能不能用呀!

其實想知道項目能不能用看下項目的開源許可證就清楚了(即使是非軟件產品比如數據、媒體、資料等也可以通過開源許可證知道它們的可用範圍)。

一文看懂開源許可證,能不能商用再也不抓瞎

開源許可證

先舉兩個例子,這兩位應該是最常用的許可證了:

  • MIT許可證:只為作者保留版權,而無任何其他了限制。它使人們幾乎可以對您的項目進行任何操作,即時是製作和分發封閉源代碼版本。Babel,.NET Core和 Rails 使用MIT許可證。
  • GNU GPLv3:讓人們可以做幾乎任何他們想要做的項目,不能分發封閉源代碼的版本。Ansible, Bash和 GIMP 使用GNU GPLv3。

如果你的工作是在開源社區開發項目,使用社區常用的許可證就可以了。

如果希望商用則特別要注意下,許可的範圍。以下都是常用許可證類型的概要信息:

一文看懂開源許可證,能不能商用再也不抓瞎

Apache Licese @ opensource.org

  • Apache License 2.0 :商業軟件最愛, 主要條件是要求保留原始版權和許可聲明。同時向貢獻者明確授予專利權。使用者可以自由修改,進行商業使用,大型項目可以不同的條款分發,沒有開源要求,修改源代碼需要記錄變更。
  • BSD 3-Clause "New" or "Revised" license:允許商業發佈和銷售。使用者可以自由的使用,修改源代碼,也可以將修改後的代碼作為開源或者專有軟件再發布。主要條件是要求尊重代碼作者的著作權,即包含原始版權和免責聲明(二進制形式分發必須分發文檔中包含版權申明及免責聲明),且未經事先特別書面許可,不可以用開源代碼的“作者/機構的名字”或“原來產品的名字”做市場推廣。
  • BSD 2-Clause "Simplified" or "FreeBSD" license:比3-Clause少一個條目,去掉了“不可以用開源代碼的“作者/機構的名字”或“原來產品的名字”做市場推廣。”.
  • GNU General Public License: 商業軟件繞開,GPL不允許修改後和衍生的代碼做為閉源的商業軟件發佈和銷售。
  • GNU Library or "Lesser" General Public License (LGPL):允許商業軟件代碼
    動態link到LGPL類庫。注意:不可以靜態鏈接,否則你的代碼也必須用LGPL協議開源。(即:商業軟件可以動態使用,但不能修改
  • Mozilla Public License 2.0:修改的版本需要保持原始版權申明。編譯版本需和可獲得MPL協議下的源碼。修改源代碼需要記錄變更。
  • Common Development and Distribution License:商業軟件可用,也可以修改。可以自行發佈許可,允許公共版權使用,提供專利保護,無專利費
  • Eclipse Public License version 2.0:商業軟件可用,也可以修改,無需開源。不過將本程序包含在商業產品中的貢獻者需要承擔因代碼而產生的侵權責任,及對所有其他貢獻者的相關損失

一般開源許可證中會說明以下權限、使用條件和責任限制:

  • 商業使用(Commercial use):該軟件及其衍生產品可用於商業目的。
  • 分發(Distribution):該軟件可以被分發。
  • 修改(Modification):該軟件可能會被修改。
  • 專利使用(Patent use):該許可證提供了明確的專利權授予。/該許可明確聲明它不授予貢獻者專利的任何權利。
  • 私人使用(Private use):該軟件可以私下使用和修改。
  • 開源(Disclose source):分發軟件時必須開源。
  • 許可及版權聲明(License and copyright notice):該軟件必須隨附許可證和版權聲明的副本。
  • 分佈式網絡使用(Network use is distribution):通過網絡與軟件進行交互的用戶被授予接收源代碼副本的權利。
  • 相同許可證(Same license):分發軟件時,必須以相同的許可證發佈修改。在某些情況下,可以使用類似或相關的許可證
  • 狀態變更(State changes):對代碼所做的更改必須記錄。
  • 責任限制(Liability):該許可包括責任限制。
  • 商標使用(Trademark use):該許可證明確聲明它不授予商標權,即使沒有此類聲明的許可證可能不授予任何隱含的商標權。
  • 保證(Warranty):許可證明確聲明不提供任何保證。
一文看懂開源許可證,能不能商用再也不抓瞎

CC-BY-4.0

此外還有一些屬於非軟件許可證:

  1. 數據,媒體等內容:CC0-1.0,CC-BY-4.0和CC-BY-SA-4.0是開放許可證,用於從數據集到視頻的非軟件內容。這裡CC-BY-4.0和CC-BY-SA-4.0 不應用於軟件產品。
  2. 文獻資料:任何開源軟件許可證或媒體開放許可證也適用於軟件文獻資料。如果您為軟件及其文檔使用不同的許可證,請確保指定文檔中的源代碼示例也已獲得軟件許可證的許可。
  3. 字體:SIL Open Font License 1.1 保持字體開放的同時,允許它們在其他項目自由使用。

如果您的項目包含軟件和其他部分的混合,您可以通過說明明確各個許可證適用於項目的不同部分。

總結一下:開源許可證存在的主要意義就是保護項目貢獻者和使用用戶。倘若沒有許可證保護,企業和開發人員一般就不會接觸項目,開源社區也很難繁榮起來。如果要更全面的瞭解和選擇開源許可證,可以去大本營查看所有已批准的許可證包括:如專用許可證、被取代的許可證或失效的許可證。

按名稱排序(按字母順序):
https://opensource.org/licenses/alphabetical

按類別排序:
https://opensource.org/licenses/category


分享到:


相關文章: