【Git】認(rèn)識各種開源協(xié)議及其關(guān)系

開源許可協(xié)議

License是軟件的授權(quán)許可聋庵,里面詳盡表述了你獲得代碼后擁有的權(quán)利饱苟,可以對別人的作品進行何種操作,何種操作又是被禁止的编矾。

開源協(xié)議的種類

現(xiàn)今存在的開源協(xié)議很多熟史,而經(jīng)過Open Source Initiative 組織通過批準(zhǔn)的開源協(xié)議目前有60多種http://www.opensource.org/licenses/alphabetical勺馆。我們在常見的開源協(xié)議如BSD, GPL, LGPL,MIT等都是OSI批準(zhǔn)的協(xié)議举反。

Apache License, 2.0(Apache-2.0)

Apache Lience允許使用者修改和重新發(fā)布代碼(以其他協(xié)議形式),允許閉源商業(yè)發(fā)布和銷售蚤认。
Apache Lience鼓勵代碼共享和尊重原作者的著作權(quán)凹蜈。

使用Apache Licence協(xié)議限寞,需要遵守以下規(guī)則:

  1. 需要給代碼的用戶一份Apache Lience;
  1. 如果你修改了代碼仰坦,需要在被修改的文件中說明履植;
  2. 在延伸的代碼中(修改或衍生的代碼)需要帶有原來代碼中的協(xié)議、商標(biāo)悄晃、專利聲明和其他原來作者規(guī)定需要包含的說明玫霎。
  3. 如果再發(fā)布的產(chǎn)品中包含了Notice文件,則需要在Notice文件中帶有Apache Lience妈橄。你可以在Notice中增加自己的許可鼠渺,但不可以表現(xiàn)為對Apache Lience構(gòu)成更改。

除了這些條件它還有這些好處:

1)永久權(quán)利 一旦被授權(quán)眷细,永久擁有拦盹。
2)全球范圍的權(quán)利 在一個國家獲得授權(quán),適用于所有國家溪椎。假如你在美國普舆,許可是從印度授權(quán)的,也沒有問題校读。
3)授權(quán)免費 無版稅沼侣, 前期、后期均無任何費用歉秫。
4)授權(quán)無排他性 任何人都可以獲得授權(quán)
5)授權(quán)不可撤消 一旦獲得授權(quán)蛾洛,沒有任何人可以取消。比如,你基于該產(chǎn)品代碼開發(fā)了衍生產(chǎn)品轧膘,你不用擔(dān)心會在某一天被禁止使用該代碼

使用apache Licence vesion 2.0協(xié)議的開源軟件有:Hadoop 钞螟、apache httpserver、Spring Framework谎碍、MongoDB 鳞滨。

GPL (GNU General Public License)

它的主要內(nèi)容為:只要在一個軟件中使用(“使用”指類庫引用或者修改后的代碼) GPL 協(xié)議的產(chǎn)品,則該軟件產(chǎn)品必須也采用GPL協(xié)議蟆淀,既必須也是開源和免費拯啦。這個協(xié)議就不太適合商用軟件,或者準(zhǔn)備使用GPL開源組件的商用項目熔任“矗基于這個協(xié)議的項目,極大的提高了開源軟件的數(shù)量疑苔。
使用GPL協(xié)議碱蒙,需要遵守以下規(guī)則:

1、確保軟件自始至終都以開放源代碼形式發(fā)布夯巷,保護開發(fā)成果不被竊取用作商業(yè)發(fā)售赛惩。任何一套軟 件,只要其中使用了受 GPL 協(xié)議保護的第三方軟件的源程序趁餐,并向非開發(fā)人員發(fā)布時喷兼,軟件本身也就自動成為受 GPL 保護并且約束的實體。也就是說后雷,此時它必須開放源代碼季惯。
2、GPL 大致就是一個左側(cè)版權(quán)(Copyleft臀突,或譯為“反版權(quán)”勉抓、“版權(quán)屬左”、“版權(quán)所無”候学、“版責(zé)”等)的體現(xiàn)藕筋。你可以去掉所有原作的版權(quán) 信息,只要你保持開源梳码,并且隨源代碼隐圾、二進制版附上 GPL 的許可證就行,讓后人可以很明確地得知此軟件的授權(quán)信息掰茶。GPL 精髓就是暇藏,只要使軟件在完整開源 的情況下,盡可能使使用者得到自由發(fā)揮的空間濒蒋,使軟件得到更快更好的發(fā)展盐碱。
3、無論軟件以何種形式發(fā)布,都必須同時附上源代碼瓮顽。例如在 Web 上提供下載县好,就必須在二進制版本(如果有的話)下載的同一個頁面,清楚地提供源代碼下載的鏈接趣倾。如果以光盤形式發(fā)布聘惦,就必須同時附上源文件的光盤某饰。
4儒恋、開發(fā)或維護遵循 GPL 協(xié)議開發(fā)的軟件的公司或個人,可以對使用者收取一定的服務(wù)費用黔漂。但還是一句老話——必須無償提供軟件的完整源代碼诫尽,不得將源代碼與服務(wù)做捆綁或任何變相捆綁銷售。

目前用的多的是GPLV1炬守,GPLV2牧嫉。這兩個什么區(qū)別看后面那張樹形圖。采用這個協(xié)議的開源軟件有:Linux减途、 MySQL酣藻。

LGPL (GNU Library or "Lesser" General Public License)

由于GPL太嚴(yán)格,限制了很多商用軟件使用GPL組件才推出了這個LGPL鳍置。LGPL允許商業(yè)軟件通過引用類庫的方式使用LGPL組件(不直接使用源代碼)辽剧,這樣可以不需要開源商業(yè)軟件的代碼。但是如果要修改原始組件的代碼税产,則涉及修改部分的代碼和基于原來代碼衍生的代碼都必須采用LGPL協(xié)議怕轿。LGPL不適合以LGPL協(xié)議為基礎(chǔ)的代碼進行二次開發(fā)的商業(yè)軟件,但是商用軟件可以采用編譯后的類庫引用就不需要公開源代碼了辟拷。
采用這個協(xié)議的開源軟件有: JBoss撞羽、 FCKeditor 、 Hibernate衫冻。之前extjs就因為從LGPL轉(zhuǎn)換到GPL帶來了不少的震動诀紊。

BSD開源協(xié)議(Berkerley Software Distribution)

目前分為BSD 3-Clause和BSD 2-Clause。顧名思義隅俘,3-Clause包含3個條款渡紫,2-Clause只有兩個。
這個協(xié)議相對上面兩個協(xié)議寬松很多考赛,允許使用者修改和重新發(fā)布代碼惕澎,也允許使用或在BSD代碼基礎(chǔ)上開發(fā)商業(yè)軟件發(fā)布和銷售,因此是適用于商業(yè)軟件的颜骤。

使用者別太高興唧喉,使用時還必須做到滿足三個條件(2-Clause則不帶第3條):

1)如果再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議。
2)如果再發(fā)布的只是二進制類庫/軟件八孝,則需要在類庫/軟件的文檔和版權(quán)聲明中包含原來代碼中的BSD協(xié)議董朝。
3)不可以用開源代碼的作者/機構(gòu)名字和原來產(chǎn)品的名字做市場推廣。適用BSD協(xié)議的開源軟件有: nginx干跛、CruiseControl子姜、Redis。

要點:商業(yè)軟件可以使用楼入,也可以修改使用BSD協(xié)議的代碼哥捕。

MIT (MIT license)

源自麻省理工學(xué)院(Massachusetts Institute of Technology, MIT),又稱X11協(xié)議嘉熊。MIT與BSD類似遥赚,但是比BSD協(xié)議更加寬松,是目前最少限制的協(xié)議阐肤。這個協(xié)議唯一的條件就是在修改后的代碼或者發(fā)行包包含原作者的許可信息凫佛。適用商業(yè)軟件。使用MIT的軟件項目有:jquery孕惜、Node.js愧薛。

要點:商業(yè)軟件可以使用,也可以修改MIT協(xié)議的代碼衫画,甚至可以出售MIT協(xié)議的代碼毫炉。

MPL (Mozilla Public License 1.1)

MPL協(xié)議允許免費重發(fā)布、免費修改碧磅,但要求修改后的代碼版權(quán)歸軟件的發(fā)起者 碘箍。這種授權(quán)維護了商業(yè)軟件的利益,它要求基于這種軟件的修改無償貢獻版權(quán)給該軟件鲸郊。這樣丰榴,圍繞該軟件的所有代碼的版權(quán)都集中在發(fā)起開發(fā)人的手中。但MPL是允許修改秆撮,無償使用得四濒。MPL軟件對鏈接沒有要求。
要點:商業(yè)軟件可以使用职辨,也可以修改MPL協(xié)議的代碼盗蟆,但修改后的代碼版權(quán)歸軟件的發(fā)起者。

EPL (Eclipse Public License 1.0)

EPL允許Recipients任意使用舒裤、復(fù)制喳资、分發(fā)、傳播腾供、展示仆邓、修改以及改后閉源的二次商業(yè)發(fā)布鲜滩。

使用EPL協(xié)議,需要遵守以下規(guī)則:

  1. 當(dāng)一個Contributors將源碼的整體或部分再次開源發(fā)布的時候,必須繼續(xù)遵循EPL開源協(xié)議來發(fā)布,而不能改用其他協(xié)議發(fā)布.除非你得到了原“源碼”O(jiān)wner 的授權(quán)节值;
  1. EPL協(xié)議下,你可以將源碼不做任何修改來商業(yè)發(fā)布.但如果你要發(fā)布修改后的源碼,或者當(dāng)你再發(fā)布的是Object Code的時候,你必須聲明它的Source Code是可以獲取的,而且要告知獲取方法徙硅;
  2. 當(dāng)你需要將EPL下的源碼作為一部分跟其他私有的源碼混和著成為一個Project發(fā)布的時候,你可以將整個Project/Product以私人的協(xié)議發(fā)布,但要聲明哪一部分代碼是EPL下的,而且聲明那部分代碼繼續(xù)遵循EPL;
  3. 獨立的模塊(Separate Module),不需要開源搞疗。

要點:商業(yè)軟件可以使用嗓蘑,也可以修改EPL協(xié)議的代碼,但要承擔(dān)代碼產(chǎn)生的侵權(quán)責(zé)任匿乃。

協(xié)議的選擇

簡單寬松的協(xié)議

如果你只想要一個簡單點的協(xié)議不想太麻煩的話桩皿。

MIT協(xié)議相對寬松但還是抓住了要點的。此協(xié)議允許別人以任何方式使用你的代碼同時署名原作者扳埂,但原作者不承擔(dān)代碼使用后的風(fēng)險业簿,當(dāng)然也沒有技術(shù)支持的義務(wù)瘤礁。jQuery和Rails就是MIT協(xié)議阳懂。

考慮有專利的情況

如果你的作品中涉及到專利相關(guān)。

Apache協(xié)議也是個相對寬松與MIT類似的協(xié)議柜思,但它簡單指明了作品歸屬者對用戶專利上的一些授權(quán)(我的理解是軟件作品中含有專利岩调,但它授權(quán)你可以免費使用)。Apache服務(wù)器赡盘,SVN還有NuGet等是使用的Apache協(xié)議号枕。

代碼分享與促進

如果你在乎作品的傳播和別人的修改,希望別人也以相同的協(xié)議分享出來陨享。

GPL(V2或V3)是一種版本自由的協(xié)議(可以參照copy right來理解葱淳,后者是版本保留,那copyleft便是版權(quán)自由抛姑,或者無版權(quán)赞厕,但無版權(quán)不代表你可以不遵守軟件中聲明的協(xié)議)。此協(xié)議要求代碼分發(fā)者或者以此代碼為基礎(chǔ)開發(fā)出來的衍生作品需要以同樣的協(xié)議來發(fā)布定硝。此協(xié)議的版本3與版本2相近皿桑,只是多3中加了條對于不支持修改后代碼運行的硬件的限制(沒太明白此句話的內(nèi)涵)。

協(xié)議的區(qū)別

下面的樹形圖很好闡述了當(dāng)前主流許可協(xié)議的區(qū)別:



這里是目前github上項目采用的開源協(xié)議的比例分布:


轉(zhuǎn)載請注明作者Jason Ding及其出處
GitCafe博客主頁(http://jasonding1354.gitcafe.io/)
Github博客主頁(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
簡書主頁(http://www.reibang.com/users/2bd9b48f6ea8/latest_articles)
百度搜索jasonding1354進入我的博客主頁

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蔬啡,一起剝皮案震驚了整個濱河市诲侮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌箱蟆,老刑警劉巖沟绪,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異空猜,居然都是意外死亡绽慈,警方通過查閱死者的電腦和手機诺核,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來久信,“玉大人窖杀,你說我怎么就攤上這事∪故浚” “怎么了入客?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腿椎。 經(jīng)常有香客問我桌硫,道長,這世上最難降的妖魔是什么啃炸? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任铆隘,我火速辦了婚禮,結(jié)果婚禮上南用,老公的妹妹穿的比我還像新娘膀钠。我一直安慰自己,他們只是感情好裹虫,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布肿嘲。 她就那樣靜靜地躺著,像睡著了一般筑公。 火紅的嫁衣襯著肌膚如雪雳窟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天匣屡,我揣著相機與錄音封救,去河邊找鬼。 笑死捣作,一個胖子當(dāng)著我的面吹牛誉结,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播虾宇,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼搓彻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嘱朽?” 一聲冷哼從身側(cè)響起旭贬,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搪泳,沒想到半個月后稀轨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡岸军,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年奋刽,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓦侮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡佣谐,死狀恐怖肚吏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情狭魂,我是刑警寧澤罚攀,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站雌澄,受9級特大地震影響斋泄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜镐牺,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一炫掐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧睬涧,春花似錦募胃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逆皮。三九已至宅粥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間电谣,已是汗流浹背秽梅。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留剿牺,地道東北人企垦。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像晒来,于是被迫代替她去往敵國和親钞诡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 目前開源的協(xié)議可以參考GNU組織的開源許可協(xié)議:[具體參考鏈]湃崩。(http://www.gnu.org/licen...
    磨礪營IT閱讀 1,231評論 0 3
  • 開源協(xié)議概要 目前開源的協(xié)議可以參考GNU組織的開源許可協(xié)議:[具體參考鏈]荧降。(http://www.gnu.or...
    追云_似夢閱讀 17,925評論 1 5
  • 引子 目前,百度已經(jīng)要求外部產(chǎn)品線停止使用 React / React Native 等 Facebook 下涉及...
    我很水嘚閱讀 999評論 1 0
  • 上學(xué)時攒读,姐妹八個分到一個宿舍朵诫,都是貧苦家庭出身的我們?yōu)榱藥图依餃p輕負擔(dān),懷揣著高于一中的中考分?jǐn)?shù)邁進師范的校門薄扁,相...
    徍音_閱讀 232評論 2 0
  • 記憶剪返,或許并不是一件值得說道的事情废累。可是脱盲,我卻說起了麗水邑滨。 我去過白云山上的白云寺祈禱。沿著幽靜山路的健康步道而上...
    阿大魚閱讀 303評論 0 0