2020年9月24日 星期四

軟體界常見協議一覽

軟體界有很多常用的協議,開源和閉源協議皆有。而每種協議都有它的特色和限制,在開發產品時需要多加注意。這邊分析了一下常見開源協議,以及它們的特性和限制。

首先先來看一張比較簡單的分類圖,這張圖主要是針對會變更原始碼的部分--我們在後面會說明,有一個協議會因為不變更原始碼而可以轉成閉源。

常見協議一覽

  1. GPL
  2. LGPL
  3. Mozilla
  4. BSD
  5. MIT
  6. Apache

GPL

流氓。有四大自由標準必須遵守

  1. 基於任何目的,按你的意願執行軟體的自由。
  2. 學習軟體如何工作的自由,按你的意願修改軟體以符合你的計算的自由。可存取原始碼是此項自由的先決條件。
  3. 分發軟體副本的自由。
  4. 將你修改過的軟體版本再分發給其他人的自由。這樣可以讓整個社區有機會共享你對軟體的改動。可存取原始碼是此項自由的先決條件。

強迫完全開源,只要沾到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不會強制衍生和修改產物使用相同的授權條款進行釋出(與一些著作權授權條款不同)。

但它仍然要求對所有未修改的部分應用相同的授權條款,並且在每個授權檔案中,必須保留再分發代碼中的任何原始著作權,專利,商標和歸屬通知(不需要包括任何部分的衍生作品);並且在每個更改的授權檔案中,都必須添加一條通知,說明對該檔案進行了更改。

一種比較特殊的,可更動原始碼但必須說明的可商業用條款授權。

若以後各位有機會開發自己的產品時,都要小心注意自己是不是有使用到不可商用的協議,否則可能產生著作權上面的問題喔!

資料來源 https://playrobotwiki.github.io/?fbclid=IwAR3p_d1sR7xWJ08MBWzqew84ftpmXjaaxHLc3NaKgA5enayyLnnYHi746hY#

沒有留言: