各類開源協議的核心內容,主要有4點:mysql
(1)使用該軟件用於何目的的權利;sql
(2)對軟件工做原理的知情權(便是否能查看軟件源代碼);3d
(3)從新發布軟件副本的權利;blog
(4)改進軟件並將其發佈的權利。開發
常見的開源協議:源碼
FPL(自由公共許可證):產品
表明軟件:mysql原理
(1)使用權利:容許內部自由使用,但不提供技術支持;商業使用必須申請商業許可證;軟件
(2)源代碼:開放;im
(3)分發權利:容許免費分發,但必須遵照FPL其餘條款,如要求分發mysql和其派生產品的所有源代碼;並與Mysql分本FPL自己;
(4)修改發佈權:未知。
BSD開源協議:
表明軟件:BSD軟件系統
(1)使用權利:自由使用不受限;
(2)源代碼:開放;
(3)分發權:容許自由分發,但要包含軟件(或源代碼)中的BSD協議;
(4)修改發佈權:容許二次開發,但必需要隨軟件(或在源代碼)附來原來代碼中BSD協議,且不能夠用原來產品名字和原來的源代碼做者或機構做市場推廣;二次開發的軟件免費、商業發佈均可以,是否開源均可以。
GPL開源協議(v2):
表明軟件:Linux
(1)使用權:自由使用;
(2)源代碼:開放;
(3)分發權:容許自由分發,但收受者也一樣有此權利,收受者不得放棄此權利;
(4)修改發佈權:容許二次開發並出售,但收受人有權向您免費索要源代碼或得知源碼獲取方式。收受人也有權修改此源碼並自由發佈,收受者不得放棄此權利。
Apache 2.0協議:
(1)使用權利:自由使用;
(2)源代碼:開放;
(3)分發權:容許自由分發,需附帶Apache協議;
(4)修改發佈權:附帶原來代碼的協議、商標、專利聲明和原做者規定的說明;修改了代碼須要附帶說明,並帶Apache協議。
各協議的對比圖: