軟體開源專案越來越多,類似Github、Gitlab、Gitee等基於Git的程式碼託管和研發協作平臺的發展進一步推動了專案的開源性質和研發人員對研發資料開源的渴望。專案開源也是有規則和規範的,在開源社群中,不同的開源專案都依靠不同的開源許可(Open Source License)來管理開源軟體的使用和二次開發。本文簡單探討幾種常用開源許可的使用,“面向未來的開源許可的潛在問題”將在後續文章分享,敬請關注。
Github主頁
Gitlab主頁
Gitee主頁
到目前為止,公開的開源許可數不勝數,透過GNU官網可以查詢完整的列表和介紹。由於空間限制,本文只對幾個典型且常用的許可做簡單的說明。開源許可詳細內容見下表。
▲根據WiKi整理:“Comparison of free and open-source software licences”
BSD許可對於軟體開發人員來說,BSD是開放性最好的開源許可,使用者可以相對自由的使用開原始碼,並且根據需要對原始碼做二次開發,並且也可以將修改後的程式碼再開源或者作為商業軟體使用。
使用過程中,需要滿足三個條件:
(1)如果計劃釋出的新程式碼中包含原始碼,則在原始碼中必須帶有原來程式碼中的BSD協議;
(2)如果計劃釋出的只是二進位制類庫/軟體,則需要在類庫/軟體的文件中包含原來程式碼中的BSD協議;
(3)不可以用開原始碼的作者/機構名字做市場推廣,除非事先獲得特別書面許可。
Apache 許可在開放性方面,與BSD許可十分類似。
GNU GPL許可(General Public License)與BSD和Apache許可不同的是,在開原始碼基礎上二次開發的新程式碼也要開源和免費使用。這就是為什麼建立於GPL許可的Linux和基於此Linux開發的軟體可以免費使用的原因。
參考資料:
[1]http://www.gnu.org/licenses/license-list.html
[2]https://opensource.org/licenses
[3]https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licences
在此向分享資訊和參考資料的作者表示感謝。
-- End --