MOZILLA PUBLIC LICENSE

MPL License,允許免費重發布、免費修改,但要求修改后的代碼版權歸軟件的發起者。這種授權維護了商業軟件的利益,,它要求基于這種軟件得修改無償貢獻 版權給該軟件。這樣,圍繞該軟件得所有代碼得版權都集中在發起開發人得手中。但MPL是允許修改,無償使用得。MPL軟件對鏈接沒有要求。

BSD開源協議(original BSD licenseFreeBSD licenseOriginal BSD license

BSD開源協議是一個給于使用者很大自由的協議。基本上使用者可以"為所欲為",可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發布。

但"為所欲為"的前提當你發布使用了BSD協議的代碼,或則以BSD協議代碼為基礎做二次開發自己的產品時,需要滿足三個條件:

  1. 如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。
  2. 如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協議。
  3. 不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。

BSD 代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由于允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件發布和銷售,因此是對 商業集成很友好的協議。而很多的公司企業在選用開源產品的時候都首選BSD協議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發。

Apache Licence 2.0Apache License, Version 2.0Apache License, Version 1.1Apache License, Version 1.0

Apache Licence是著名的非盈利開源組織Apache采用的協議。該協議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發布(作為開源或商業軟件)。需要滿足的條件也和BSD類似:

  1. 需要給代碼的用戶一份Apache Licence
  2. 如果你修改了代碼,需要再被修改的文件中說明。
  3. 在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
  4. 如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改。

Apache Licence也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要并作為開源或商業產品發布/銷售。

GPLGNU General Public License

我們很熟悉的Linux就是采用了GPL。GPL協議和BSD, Apache Licence等鼓勵代碼重用的許可很不一樣。GPL的出發點是代碼的開源/免費使用和引用/修改/衍生代碼的開源/免費使用,但不允許修改后和衍生的代 碼做為閉源的商業軟件發布和銷售。這也就是為什么我們能用免費的各種linux,包括商業公司的linux和linux上各種各樣的由個人,組織,以及商 業軟件公司開發的免費軟件了。

GPL協議的主要內容是只要在一個軟件中使用("使用"指類庫引用,修改后的代碼或者衍生代 碼)GPL 協議的產品,則該軟件產品必須也采用GPL協議,既必須也是開源和免費。這就是所謂的"傳染性"。GPL協議的產品作為一個單獨的產品使用沒有任何問題, 還可以享受免費的優勢。

由于GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協議,對于使用GPL協議的開源代碼,商業軟件或者對代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發的基礎。

其它細節如再發布的時候需要伴隨GPL協議等和BSD/Apache等類似。

LGPLGNU Lesser General Public License

LGPL是GPL的一個為主要為類庫使用設計的開源協議。和GPL要求任何使用/修改/衍生 之GPL類庫的的軟件必須采用GPL協議不同。LGPL 允許商業軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業軟件的代碼。這使得采用LGPL協議的開源代碼可以被商業軟件作為類庫引用并 發布和銷售。

但是如果修改LGPL協議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生 的代碼都必須采用LGPL協議。因此LGPL協議的開源 代碼很適合作為第三方類庫被商業軟件引用,但不適合希望以LGPL協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件采用。

GPL/LGPL都保障原作者的知識產權,避免有人利用開源代碼復制并開發類似的產品

MITMIT

MIT是和BSD一樣寬范的許可協議,作者只想保留版權,而無任何其他了限制.也就是說,你必須在你的發行版里包含原許可協議的聲明,無論你是以二進制發布的還是以源代碼發布的.

Public Domain

公共域授權。將軟件授權為公共域,這些軟件包沒有授權協議,任何人都可以隨意使用它。

Artistic許可使作者保持對進一步開發的控制。

以下為對GPL協議的進一步解釋:

=================================================================================

GNU通用公共許可證(GNU General Public License)(英文通常以GNU GPL或是直接簡短的以GPL表示),是一個廣泛被使用的自由軟體許可證,最初由理查德·斯托曼GNU計劃而撰寫。此許可證最新版本為“版本3”,2007年6月29日發布。GNU寬通用公共許可證(GNU Lesser General Public License,一般簡稱LGPL)是改自GPL的另一個版本,其目的是為了應用於一些軟體函式庫。

GPL給予了電腦程式

  自由

GPL授予程序接受人以下權利,或稱“自由”:

  • 以任何目的運行此程序的自由;
  • 以學習程序工作機理為目的,對程序進行修改的自由(能得到源代碼是前提);
  • 再發行復制件的自由;
  • 改進此程序,并公開發布改進的自由(能得到源代碼是前提)

相反地,隨版權所有軟件的最終用戶許可證幾乎從不授予用戶任何權利(除了使用的權利),甚至可能限制法律允許的行為,比如逆向工程

GPL與其他一些更“許可的”自由軟件許可證(比如BSD許可證)相比,主要區別就在于GPL尋求確保上述自由能在復制件及演繹作品中得到保障。它通過一種由斯托曼發明的叫Copyleft的法律機制實現,即要求GPL程序的演繹作品也要在GPL之下。相反,BSD式的許可證并不禁止演繹作品變成專有軟件

由于某些原因,GPL成為了自由軟件開源軟件的最流行許可證。到2004年4月,GPL已占Freshmeat上所列的自由軟件的約75%,SourceForge的約68%。類似的,2001年一項關于Red Hat Linux 7.1的調查顯示一般的代碼都以GPL發布。著名的GPL自由軟件包括Linux核心和GCC

歷史

GPL由斯托曼撰寫,用于GNU計劃。它以GNU EmacsGDBGCC的許可證的早期版本為藍本。這些許可證都包含有一些GPL的版權思想,但僅只針對特定程序。斯托曼的目標就是創造出一種四海之內皆可使用的許可證,這樣就能為許多源代碼共享計劃帶來福音。GPL版本1就這樣,在1989年1月誕生。

1990年時,因為一些共享庫而出現了對比GPL更寬松的許可證的需求。所以當GPL版本2在1991年6月發布時,另一許可證——庫通用許可證(Library General Public License,簡稱LGPL)也隨之發布,并記作“版本2”以示對GPL的補充。版本號在LGPL版本2.1發布時不再相同,而LGPL也被重命名為GNU寬通用公共許可證(Lesser General Public License)以體現GNU哲學觀。

GPLv1

GPL版本1,即最初的版本,發布于1989年一月,其目的是防止那些阻礙自由軟件的行為, 而這些阻礙軟件開源的行為主要有兩種(一種是軟件發布者只發布可執行的二進制代碼而不發布具有源代碼,一種是軟件發布者在軟件許可加入限制性條款)。因此 按照GPLv1,如果發布了可執行的二進制代碼,就必須同時發布可讀的源代碼,并且在發布任何基于GPL許可的軟件時,不能添加任何限制性的條款。

GPL2

liberty-or-death Presentation。這章中申明道,如果哪個人在發布源于GPL的軟件的時候,同時添加強制的條款,以在一定程度上保障和尊重其它一些人的自由和權益(也就是說在一些國家里,人們只能以二進制代碼的形式發布軟件,以保護開發軟件者的版權),那么他將根本無權發布該軟件。

到了1990年,人們普遍認為一個限制性弱的許可證對于自由軟件的發展是有戰略意義上的好處的;因此,當GPL的第二個版本(GPLv2)在1991年6月發布時,與此同時第二個許可證程式庫GNU通用公共許可證(LGPL,the Library General Public License )也被發布出來并且一開始就將其版本定為第2版本以表示其和GPLv2的互補性。這個版本一直延續到1999年,并分支出一個衍生的LGPL版本號為2.1,并將其重新命名為輕量級通用公共許可證(又稱寬通用公共許可證)(Lesser General Public License)以反應其在整個GNU哲學中的位置。

2005年,GPL版本3正由斯托曼起草,由伊本·莫格林軟件自由法律中心(Software Freedom Law Center)[1]提供法律咨詢。

斯托曼在2006年2月25日自由及開源軟件開發者歐洲會議的演講上說:([2]

在所有的改動中,最重要的四個是:
  • 解決軟件專利問題;
  • 與其他許可證的兼容性;
  • 源代碼分割和組成的定義;
  • 解決數字版權管理 (DRM) 問題。

2006年,自由軟件基金會針對GPL的可能的修改開始了12個月的公共咨詢。

GPLv3草稿[2]2006年1月16日開始可用。版本2與3的非官方比較對照參見:[3][4]

2007年3月28日正式啟用。

2007年6月29日自由軟件基金會正式發布了GPL第3版[3]

條款

以下是對GPL條款的一個通俗易懂的總結。而GPL原文文本才是真正法律上精確的。該文本的鏈接可從本頁底部獲得。

授予的權利

此GPL的條款和條件適用于任何收到GPL下的作品的人(即“許可證接受人”)。任何接受這 些條款和條件的許可證接受人都有修改、復制、再發行作品或作品的演繹版本的授權。許可證接受人可以對此項服務收取費用 ,反之亦然。這一點是GPL與其他禁止商業用途的自由軟件許可證最大的不同。Stallman認為自由軟件不應限制其商業用途,同時GPL清楚地說明了這 一點。

但GPL又規定發行者不能限制GPL授予的權利。例如,這禁止對軟件在單純沉默(消極默示)式協議或合同下的發行。GPL下的發行者同時也同意在軟件中使用的專利可以在其它GPL軟件中使用。

Copyleft

GPL不會授予許可證接受人無限的權利。再發行權的授予需要許可證接受人開放軟件的源代碼,及所有修改。且復制件、修改版本,都必須以GPL為許可證。

這些要求就是copyleft,它的基礎就是作品在法律上版權所有。由于它版權所有,許可證接受人就無權進行修改和再發行(除合理使用),除非它有一個copyleft條款。如果某人想行使通常被法律所禁止的權利,只需同意GPL的條款。相反地,如果某人發行軟件違反了GPL(比如不開放源代碼),他就有可能被原作者起訴

copyleft利用版權法來達到與其相反的目的: copyleft給人不可剝奪的權利,而不是版權法所規定的諸多限制。這也是GPL被稱作“被黑的版權法”的原因。

許多GPL軟件發行者都把源代碼與可執行程序捆綁起來。另一方式就是以物理介質(比如CD)為載體提供源代碼。在實踐中,許多GPL軟件都是在互聯網上發行的,源代碼也有許多可以FTP方式得到。

copyleft只在程序再發行時發生效力。對軟件的修改可以不公開或開放源代碼,只要不發行。注意copyleft只對軟件有效力,而對軟件的輸出并無效力(除非輸出的是軟件本身)。不過這在GPL版本3中可能會有改動。

GPL是許可證

GPL設計為一種許可證,而不是合同。在英美法系國家,許可證與合同有法律上的明確區別:合同由合同法保障效力,而GPL作為一種許可證由版權法保障效力。不過在許多采用歐陸法系的國家并無此種區別。

GPL原理簡單:在版權法下,你不遵守GPL的條款和條件你就沒有相應權利。而作品在沒有GPL的情況下,版權法作為默認條款發生效力,而不是作品進入公有領域

版權所有人

GPL文本是版權所有的,且著作權人是自由軟件基金會。但是,自由軟件基金會沒有在GPL下發行作品的著作權(除非作者制定自由軟件基金會是著作權人)。只有著作權人才有權對許可證的違反進行起訴。

自由軟件基金會允許人們使用以GPL為基礎的其他許可證,但不允許演繹的許可證未經授權地使用GPL的前言。不過像這樣的許可證通常與GPL不兼容。[4]

GNU計劃創立的其他許可證包括:GNU寬通用公共許可證GNU自由文檔許可證

爭議

一個關于GPL重要的爭議是,非GPL軟件是否可以動態鏈接到GPL庫。GPL對GPL作品的演繹作品在 GPL下發布規定很明確。但是對于動態鏈接到GPL庫的作品是否是演繹作品就規定得不清楚了。自由和開放源代碼社區為此分成兩派,自由軟件基金會認為這種 作品就是演繹作品,但其他專家并不同意。這個問題根本的并不關乎GPL本身,而是一個版權法如何定義演繹作品。美國聯邦上訴法院第九巡回審判庭在 Galoob v. Nintendo案對演繹作品嘗試定義,但最終沒有明確的結果。

不幸的是,許多開發者覺得這是個技術問題。但實際上這完全是法律問題。不過由于迄今為止沒有案例表明有人以動態鏈接的方式來繞過GPL的條款或者并被起訴,動態鏈接的限制已經是事實上地(de facto)有效,不論它是否是法律上地(de jure)有效。

2002年MySQL AB公司起訴Progress NuSphere侵犯版權和商標。NuSphere被指以鏈接代碼的形式侵犯了著作權。最終此案以調解結束。在聽證期間,法官“認為沒有什么原因”(不管是否是動態鏈接)會使得GPL失去法律效力。

2003年8月,SCO Group稱他們認為GPL沒有法律效力,且準備就在Linux核心中使用的SCO Unix代碼進行訴訟。參見SCO訴IBM

2004年4月,在SiteCom拒絕停止發行Netfilter項目的GPL軟件后,慕尼黑地區法庭據對GPL條款的侵犯判定對SiteCom進行臨時性禁令(訴前停止侵犯專利權行為的措施)。同年7月,法庭確認此勒令為對SiteCom最終判決。此判決明顯的印證了自由軟件基金會的法律顧問伊本·莫格林的預言:

“被告侵犯了原告的著作權:提供了軟件netfilter/iptables的廣告及下載,但沒有遵守GPL的條款。可以說,如果被告有許可證許 可,這些行為是完全合法的……原被告就GPL是否達成協議這是一個獨立的問題。如果當事人沒有同意,被告將沒有復制、發行、公開 ‘netfilter/iptables’的權利。”

此判決十分重要,因為它是全球首次法庭確認GPL是有法律效力的。

2005年5月,Daniel Wallace于美國聯邦印第安納南區地方法院起訴自由軟件基金會,因為二者對GPL是否是非法意見不一。后訴訟于3月結束,因為Wallace沒有有效的反托拉斯陳述。法庭注意到“GPL鼓勵,而不是反對電腦操作系統的自由競爭和發行,這直接使消費者受益。”[5]Wallace被拒絕改變訴由,并被要求支付訴訟費用。

兼容性

大多數自由軟件許可證,比如MIT/X許可證BSD許可證LGPL,都是“GPL兼容的”,即它們的代碼與GPL代碼混用無沖突(但新代碼則是GPL下的)。但是有某些開源軟件許可證不是GPL兼容的。通常意見是開發者僅只使用GPL兼容的許可證,以免法律問題。

參見軟件許可證列表以查證兼容性。

批評

2001年微軟首席執行官史蒂夫·巴爾默稱 Linux為“癌癥”,因為GPL的影響。微軟批評者指出,微軟憎惡GPL的真正原因是因為對微軟的“包圍、擴展、消滅”策略起了反作用。注意微軟已以 GPL為許可證發行了SFU(Microsoft Windows Services for UNIX)中所包含的部分組件,例如GCC

GPL的批評者常常認為GPL是有“傳染性”的“病毒” ,因為GPL條款規定演繹作品也必須是GPL的。由于“演繹作品”通常被解釋為包含GPL代碼或動態鏈接到GPL庫(如上)的軟件,“病毒說”來源于 GPL對于許可證的強制繼承的要求。這正是GPL與BSD式許可證的哲學思想上的差異。GPL的支持者確信自由軟件世界應具有自我保護能力和可持續發展性 ——確保自由軟件的演繹作品同樣“自由”,但其他人認為自由軟件應給予“所有人”最大的自由。


文章來源:http://x-spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!822.entry