開放源碼授權類型簡介與選擇

Yuren Ju發表了關於開放源碼授權的系列文
開放源碼授權概觀(上)
開放源碼授權概觀(下)

文中用淺顯易懂重點摘錄的方式來說明各授權的差異,能夠快速瞭解各授權限制,判斷自己該怎麼選擇與使用。


不同授權的嚴謹程度
圖片出自於 AMIS

如果是我個人的開源專案,通常會採用最鬆散的 MIT 授權,讓使用者可以自由的使用,要開源要閉源都可以,並沒有太多的限制。

如果是公司的開源專案,則會選擇定義較為詳實的 Apache 2.0 授權,跟 MIT 授權相同也允許被授權人開源或閉源使用,但在著作權規範的較為仔細,同時也規範了專利權。而因為每個國家的著作權法律都有所不同,詳細的授權也比較容易跨國使用,不會因為不同國家的預設著作權行為造成一些差異。

但如果公司的專案有引用到任何 LGPL 的授權時,我們通常都會採用 LGPL 授權,原因是因為 golang 專案通常都採用靜態連結的方式,授權為 LGPL 會讓情況比較單純一些。

快速簡易選擇建議
段落引用自 AMIS

這個網誌中的熱門文章

Windows10 版本1607後可啟用支援長路徑檔名 (Maximum Path Length Limitation)

標準使用者如何執行需系統管理者權限的程式