我博客上的原文地址:http://lpgray.me/article/45/。git
最近想搞一個我的小項目,比較在乎版權問題,平時在github上常常看到其餘人的項目有各類License,卻一直沒明白過,今天查閱了一些軟件License方面的資料,在此記錄一下。github
License並不意味着你對你的產品放棄了著做權,一旦你使用了License,則表示你受權給他人以約定的形式來使用你的產品。spa
GNU General Public License (GPL)的多是開源項目最經常使用的許可證。GPL賦予和保證了開源項目開發者普遍的權利。開放源代碼
它容許用戶合法複製,分發和修改軟件,甚至在改良版本上收取費用,但必需要寫明GPL License,並且要告訴客戶原始版本。設計
還有另外一個GNU License:GNU Lesser General Public License (LGPL)。比起GPL它授予的權限較少。通常來講,LGPL比較適合鏈接到非GPL或者非開源文件的庫文件。因爲GPL的規定,使用到部分GPL代碼的軟件,必須也使用GPL,開發人員不能使用GPL來開發收費軟件或者專有軟件。ip
LGPL不要求使用與部分代碼相同的 License。開發
BSD License與其餘自由軟件License相比,如GPL,限制更少。可是請注意到BSD License兩種版本之間的差異:New BSD License/Modified BSD License 和Simplified BSD License/FreeBSD License。它們二者都是於GPL兼容的自由軟件License。rem
New BSD License (」3-clause license」) 能夠用於任何做爲版權聲明和保證許可的免責聲明的目的,能夠經過無限長的再分發來得以維持,也就是說若是再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協 議。它還有一個特殊限制條款,不用特別的許可就是限制使用派生工做的工做者名字,也就是說不能夠用開源代碼的做者/機構名字和原來產品的名字作市場推廣。get
New BSD License和Simplified BSD License的主要區別是,後者忽略了非承認條款。源碼
MIT是和BSD同樣寬鬆的許可協議,做者只想保留版權,而無任何其餘了限制.也就是說,你必須在你的發行版裏包含原許可協議的聲明,不管你是以二進制發佈的仍是以源代碼發佈的。
你能夠修改、複製和使用
你能夠出售
但必須附帶MIT受權協議
MPL協議容許免費重發布、免費修改,但要求修改後的代碼版權歸軟件的發起者。這種受權維護了商業軟件的利益,,它要求基於這種軟件得修改無償貢獻版權給該軟件。這樣,圍繞該軟件得全部代碼得版權都集中在發起開發人得手中。但MPL是容許修改,免費使用得。MPL軟件對連接沒有要求。
商業軟件可使用,也能夠修改MPL協議的代碼,但修改後的代碼版權歸軟件的發起者。
CDDL(Common Development and Distribution License,通用開發與銷售許可)開源協議,是MPL(Mozilla Public License)的擴展協議,它容許公共版權使用,無專利費,並提供專利保護,可集成於商業軟件中,容許自行發佈許可。
商業軟件可使用,也能夠修改CDDL協議的代碼。
Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD相似,一樣鼓勵代碼共享和尊重原做者的著做權,一樣容許代碼修改,再發布 (做爲開源或商業軟件)。
須要給代碼的用戶一份Apache License
在延伸的代碼中(修改和有源代碼衍生的代碼中)須要帶有原來代碼中的協議,商標,專利聲明和其餘原來做者規定須要包含的說明
若是再發布的產品中包含一個Notice文件,則在Notice文件中須要帶有Apache License。你能夠在Notice中增長本身的許可,但不能夠表現爲對Apache License構成更改
商業軟件可使用,也能夠修改使用Apache協議的代碼
EPL是一個與CPL相相似的許可證,任何擴展自Eclipse源碼的代碼也必須是開源的
Creative Commons(CC)的許可證不太開放源代碼受權,它們一般用於設計項目。 CC許可證有着寬廣的定義,每一個定義都會授予必定的權利。它有四個基本部分,能夠單獨或者組合使用。
做者必須是做品的原創者。 除此以外,做品能夠修改,分發,複製和以其餘方式使用
工做能夠修改,分發等等,但必須在一個許可證下
能夠修改,分發等,但不用於商業目的。 關於什麼是「商業」,說法比較含糊(沒有提供明確的定義),所以您可能須要在本身的項目中澄清這一點
禁止修改,這意味着您能夠複製和分發許可工做,但你不能以任何方式修改,或在原有的基礎開發
商業軟件的使用要聽從CC協議的具體規定,最嚴格的許可證將是「署名,非商業,不能修改」的受權。這意味着你能夠自由共享的工做,但不能改變它,你必須把它歸功於原創者
明確了專利受權。通常的開源軟件都明確源代碼的版權人將本身的修改權、複製權等版權權利向公衆許可,但保留署名權,而Common許可證在此基礎上還明確假如源代碼中含有專利權,源代碼專利權人將複製、使用的專有權利向公衆許可。
規定能夠將源代碼及修改過的源代碼與其餘類型的不受本許可證約束的代碼結合,以新產品的形式發佈,只要其中經該許可證得到的源代碼及修改過的源代碼能按該許可證的要求發佈便可。
細化了該許可證終止的情形,包括髮生專利侵權訴訟。
明確了一個獨立承擔責任的原則,就是假如按該許可證使用源代碼的使用者將得到的源代碼應用於商業使用,那麼他就要對在商業應用中出現的因爲使用該源代碼程序而產生的侵權訴訟承擔徹底責任。這一條規定是比較特殊的,絕大多數開源軟件許可證都不這麼要求。
商業軟件可使用,也能夠修改Common協議的代碼,但要承擔代碼產生的侵權責任。