軟體界有很多常用的協議,開源和閉源協議皆有。而每種協議都有它的特色和限制,在開發產品時需要多加注意。這邊分析了一下常見開源協議,以及它們的特性和限制。
首先先來看一張比較簡單的分類圖,這張圖主要是針對會變更原始碼的部分--我們在後面會說明,有一個協議會因為不變更原始碼而可以轉成閉源。
常見協議一覽
- GPL
- LGPL
- Mozilla
- BSD
- MIT
- Apache
GPL
流氓。有四大自由標準必須遵守
- 基於任何目的,按你的意願執行軟體的自由。
- 學習軟體如何工作的自由,按你的意願修改軟體以符合你的計算的自由。可存取原始碼是此項自由的先決條件。
- 分發軟體副本的自由。
- 將你修改過的軟體版本再分發給其他人的自由。這樣可以讓整個社區有機會共享你對軟體的改動。可存取原始碼是此項自由的先決條件。
強迫完全開源,只要沾到GPL就全滅
LGPL
GNU較寬鬆公共授權條款(英語:GNU Lesser General Public License,簡稱:LGPL)是由自由軟體基金會公布的自由軟體授權條款。
它允許企業與軟體開發者使用,或將LGPL授權的軟體整合至他們自己的軟體內(即使該軟體是私有軟體也被允許)
屬於"可商用但不可變更原始碼的協議" 比GPL(完全強迫開源)緩和一點,不強迫開源其他授權的檔案。
Mozilla Public License
MPL允許在其授權下的原始碼與其他授權的檔案進行混合,包括私有授權條款。但在MPL授權下的代碼檔案必須保持MPL授權,並且保持開源。
比GPL(完全強迫開源)緩和一點,不強迫開源其他授權的檔案。
BSD
遵守BSD License的軟體,允許用作商業用途,甚至可按照專屬授權條款進行再釋出。
所有從以BSD授權條款授權的軟體衍生著作,都必須要包含一段文字(滿長的,這邊容許我不貼上)以交代原始碼的來源。 符合以上要求的時候就可以商業運用。
MIT
被授權人有權利使用、複製、修改、合併、出版發行、散布、再授權和/或販售軟體及軟體的副本,及授予被供應人同等權利,惟服從以下義務。
在軟體和軟體的所有副本中都必須包含以上著作權聲明和MIT的許可聲明。
此授權條款並非屬copyleft的自由軟體授權條款,允許在自由及開放原始碼軟體或非自由軟體(proprietary software)所使用。
必填的版權宣告比BSD少,其餘差不多。
Apache
Apache不會強制衍生和修改產物使用相同的授權條款進行釋出(與一些著作權授權條款不同)。
但它仍然要求對所有未修改的部分應用相同的授權條款,並且在每個授權檔案中,必須保留再分發代碼中的任何原始著作權,專利,商標和歸屬通知(不需要包括任何部分的衍生作品);並且在每個更改的授權檔案中,都必須添加一條通知,說明對該檔案進行了更改。
一種比較特殊的,可更動原始碼但必須說明的可商業用條款授權。
若以後各位有機會開發自己的產品時,都要小心注意自己是不是有使用到不可商用的協議,否則可能產生著作權上面的問題喔!
沒有留言:
張貼留言