經常使用開源軟件許可協議簡介

 

什麼是許可協議?

  1. 什麼是許可,當你爲你的產品簽發許可,你是在出讓本身的權利,不過,你仍然擁有版權和專利(若是申請了的話),許可的目的是,向使用你產品的人提供必定的權限。
  2. 無論產品是免費向公衆分發,仍是出售,制定一份許可協議很是有用,不然,對於前者,你至關於放棄了本身全部的權利,任何人都沒有義務代表你的原始做者身份,對於後者,你將不得不花費比開發更多的精力用來逐個處理用戶的受權問題。
  3. 而開源技術許可協議使這些事情變得簡單,開發者很容易向一個項目貢獻本身的代碼,它還能夠保護你原始做者的身份,使你至少得到承認,開源許可協議還能夠阻止其它人將某個產品據爲己有。

 

經常使用開源協議

GPL(GNU General Public License) 通用公共許可協議

GPL能夠說是在開源項目中使用最普遍的一種協議來。 GPL 對開發開源軟件的開發者們在權利上進行了周詳的承認和保障。本質上講,它容許用戶對軟件進行合法的拷貝,傳播和修改。這意味着你能夠: redis

  • 隨意複製。

    把它拷貝到你本身的服務器上、你的客戶的服務器上、你本身的電腦上,基本上任何你能想到的地方。對你拷貝的數量也沒有任何限制。(譯者按:中國人用盜版用慣了,估計對這點會很不覺得然。)服務器

  • 隨意傳播。

    在你的網站上作一個下載連接進行下載。拷貝到你的移動硬盤裏送人。把原代碼打印出來,站在屋頂散發(最好別這樣作,會浪費紙,並且影響環境清潔)。ide

  • 收費傳播
    若是你想經過發放這種軟件來收取費用,你能夠把它放到你的網站上出售,或者經過其它你能夠作到的方式達到你的目的。 可是, 你必須將一份GNU GPL 協議和你賣出的軟件一塊兒給買主,以讓買主知道這種軟件是能夠經過其它途徑免費得到的。最好是事先人知道這些,以及你爲何要出售它們。
  • 隨意修改。
    若是你想增長或刪減一些功能,那就幹吧。若是你想在其它項目裏使用它裏的一部分代碼,也是容許的。只是有一點,這個其它項目也必須是使用 GPL 受權的。
  • 注意很是重要的概念:對源代碼的傳播和對已編譯代碼的傳播是兩個徹底不一樣的事情。所以,有些應用程序的許可協議對着兩種形式的代碼分別進行了不一樣的使用受權。 要想使用GPL, 你還必須在代碼裏添加一些協議相關信息,還要有一份許可協議的副本拷貝。

GPL v2許可證

  根據GPL v2的相關規定:只要這種修改文本在總體上或者其某個部分來源於遵循GPL的程序,該修改文本的總體就必須按照GPL流通,不只該修改文本的源碼必須向社會公開,並且對於這種修改文本的流通不許許附加修改者本身做出的限制。網站

GPL v3許可證

  而在GPL v3的修訂草案中,不只要求用戶公佈修改的源代碼,還要求公佈相關硬件,偏偏是這一條,因爲觸及和其餘相關數字版權管理(DRM)及其產品的關係,而且也因爲有和開源精神相違的地方,因此備受爭議,甚至所以也遭到了有着「LINUX之父」之稱的託瓦爾茲的反對。開放源代碼

GNU Lesser General Public License 次通用公共許可協議

LGPL對做品的使用保留了更少的權利。一般,LGPL 適用於一些類庫,它容許這些類庫可以被非GPL或非開源軟件引用。由於 GPL 要求,要想使用 GPL 保護下的代碼,你必須把你的軟件也置於 GPL 協議之下。開發者不可以在商業的和具備私有權的軟件裏使用GPL協議下的程序。而 LGPL 放棄了這些限制,它不要求其它程序也必須使用相同的協議才能使用這些代碼程序。 設計

BSD 許可協議

BSD 協議有不少分支,它們都表明了一種寬鬆的自由軟件協議,相對其它協議,例如GPL,來講,它們對軟件的傳播給予了更少的限制。
  在這種協議的各類版本中,有兩個版本格外的重要: 新 BSD 協議/修訂版 BSD 協議和簡化 BSD 協議/FreeBSD 協議。這兩類協議都實現的對 GPL 兼容的自由軟件協議,並且被 Open Source Initiative 承認爲開源軟件協議。 orm

  新 BSD 協議(3-clause license)無任何限制的容許你以任何目的二次分發這種軟件,惟一的要求是必須保留拷貝權的聲明和協議裏的軟件權利放棄條款。這種協議還有一個限制,未經許可不得使用這個做品的全部曾經捐助者的署名。 新 BSD 協議和簡化 BSD 協議的最主要的區別是後者刪除了署名條款。 htm

MIT 許可協議

MIT 協議應該是在流行的開源協議中最簡短的、使用最普遍的一種協議。它的條款很是的寬鬆,並且跟其它協議相比更自由。 MIT 協議是目前最少限制的協議。它基本上就是任何人能夠對這個協議下的軟件的作任何的事情,只要你能承認這個協議。這種協議最基本的條款 ( the information that it is provided without warranty, which comprises the final paragraph)以下: 接口

特此受權,任何人均可免費得到這個軟件以及相關文檔(the Software)的拷貝,能夠無限制的使用這個軟件,包括無限制的權利去使用、複製、修改、合併、發佈、附加從屬協議,以及/或者出售軟件的拷貝, 同時,爲了讓軟件的提供者有權利作到這些,下面的條件必須遵照: ip

上面的拷貝權聲明和許可聲明必須包含在全部的這個軟件拷貝里和實際分署部分裏。

這也就是說:

  • 你能夠隨意使用,複製,修改這個軟件。沒有人可以阻止你在任何工程裏使用它,你能夠複製任意次數、以任何形式,或按你的願望修改它。
  • 你能夠向外免費發放,或出售。你能夠隨意的分發它,沒有任何限制。
  • 惟一的限制是你必須接受協議條款。

 

MPL許可證

MPL是The Mozilla Public License的簡寫,是1998年初Netscape的 Mozilla小組爲其開源軟件項目設計的軟件許可證。MPL許可證出現的最重要緣由就是,Netscape公司認爲GPL許可證沒有很好地平衡開發者對源代碼的需求和他們利用源代碼得到的利益。同著名的GPL許可證和BSD許可證相比,MPL在許多權利與義務的約定方面與它們相同(由於都是符合OSIA認定的開源軟件許可證)。可是,相比而言MPL還有如下幾個顯著的不一樣之處:
   MPL雖然要求對於經MPL許可證發佈的源代碼的修改也要以MPL許可證的方式再許可出來,以保證其餘人能夠在MPL的條款下共享源代碼。可是,在MPL許可證中對「發佈」的定義是「以源代碼方式發佈的文件」,這就意味着MPL容許一個企業在本身已有的源代碼庫上加一個接口,除了接口程序的源代碼以MPL許可證的形式對外許可外,源代碼庫中的源代碼就能夠不用MPL許可證的方式強制對外許可。這些,就爲借鑑別人的源代碼用作本身商業軟件開發的行爲留了一個豁口。
  MPL許可證第三條第7款中容許被許可人將通過MPL許可證得到的源代碼同本身其餘類型的代碼混合獲得本身的軟件程序。
  對軟件專利的態度,MPL許可證不像GPL許可證那樣明確表示反對軟件專利,可是卻明確要求源代碼的提供者不能提供已經受專利保護的源代碼(除非他本人是專利權人,並書面向公衆免費許可這些源代碼),也不能在將這些源代碼以開放源代碼許可證形式許可後再去申請與這些源代碼有關的專利。
  對源代碼的定義
  而在MPL(1.1版本)許可證中,對源代碼的定義是:「源代碼指的是對做品進行修改最優先擇取的形式,它包括:全部模塊的全部源程序,加上有關的接口的定義,加上控制可執行做品的安裝和編譯的‘本來’(原文爲‘Script’),或者不是與初始源代碼顯著不一樣的源代碼就是被源代碼貢獻者選擇的從公共領域能夠獲得的程序代碼。」
  MPL許可證第3條有專門的一款是關於對源代碼修改進行描述的規定,就是要求全部再發布者都得有一個專門的文件就對源代碼程序修改的時間和修改的方式有描述。

Apache 許可協議

Apache許可證(Apache License),是一個在Apache軟件基金會發布的自由軟件許可證,最初爲Apache http服務器而撰寫。Apache許可證要求被受權者保留版權和放棄權利的申明,但它不是一個反版權的許可證。
  此許可證最新版本爲「版本2」,於2004年1月發佈。
  Apache許可證在Apache社區內外被普遍使用。Apache基金會下屬全部項目都使用Apache許可證,許多非Apache基金會項目也使用了Apache許可證:據統計,截至2008年4月,在sourceforge上有超過3000個項目使用了Apache許可證。

Apache 許可協議, 2.0 版本, 授予了用戶大量的權利。這些權利能夠應用於拷貝權,也能夠用於專利權。由於不少許可協議只能適用於拷貝權,不適用於專利權,因此這個靈活性就成了讓有專利的開發者們選擇許可協議時的一個顯著參考因素 (要想明白二者之間的不一樣,請參考 How Stuff Works 上的這篇文章 )。

  下面是關於 Apache 許可協議所容許的事項的詳細說明:

  • 權利永恆

    一旦被受權,權利永久不失。

  • 權利無疆界。

    在一個國家裏被受權,形同於在全部國家被受權。例如,你在美國,但許可權最初在印度被授予,你一樣可使用這個被受權的程序。

  • 受權無需付費和支付酬勞。

    你既不須要在使用以前支付任何的費用,也無需在每次使用時支付任何的費用,或者其它相似狀況。

  • 權利不排他。

    使用這種許可協議下的軟件時,不妨礙你使用其它軟件。

  • 權利不可變動。

    權利一旦授予,不可剝奪。也就是說,你在使用這個軟件的過程當中,你無需擔憂這種狀況:當你開發出了使人羨慕的基於這種受權軟件的衍生產品時,有人忽然跳出來對你說,抱歉,你將再也不被容許使用這個程序。(在這個協議裏有個條款聲明:若是你控告別人在這個許可協議下的產品有侵犯專利的行爲,那你的受權將會自動終止,但這只是適用於有專利權的做品。只要你不搞有專利做品的訴訟,你永遠無需擔憂這種問題。)

 對再分發的做品還有個特殊要求,總的就是說要給予這些程序的做者和許可協議的維護者適當的名譽。

Creative Commons 知識共享協議

  Creative Commons (CC) 許可協議並不能說是真正的開源協議,它們大可能是被使用於設計類的工程上。 CC 協議種類繁多,每一種都受權特定的權利。 一個 CC 許可協議具備四個基本部分,這幾個部分能夠單獨起做用,也能夠組合起來。下面是這幾部分的簡介:

  • 署名

    做品上必須附有做品的歸屬。如此以後,做品能夠被修改,分發,複製和其它用途。

  • 相同方式共享

    做品能夠被修改、分發或其它操做,但全部的衍生品都要置於CC許可協議下。

  • 非商業用途

    做品能夠被修改、分發等等,但不能用於商業目的。但語言上對什麼是商業的說明十分含糊不清 (沒有提供精確的定義),因此你能夠在你的工程裏對其進行說明。例如,有些人簡單的解釋非商業爲不能出售這個做品。而另一些人認爲你甚至不能在有廣告的網站上使用它們。 還有些人認爲商業僅僅指你用它獲取利益。

  • 禁止衍生做品

    這意味着你能夠複製和分發它們,但你不能以任何方式修改它們,或基於它們進行二次創做。

  上面提到過, CC許可協議的這些條款能夠自由組合使用。大多數的比較嚴格的CC協議會聲明 署名權,非商業用途,禁止衍生條款,這意味着你能夠自由的分享這個做品,但你不能改變它和對其收費,並且必須聲明做品的歸屬。這個許可協議很是的有用,它可讓你的做品傳播出去,但又能夠對做品的使用保留部分或徹底的控制。最少限制的CC協議類型當屬 署名協議,這意味着只要人們能維護你的名譽,他們對你的做品怎麼使用都行。

  CC許可協議更多的是在設計類工程中使用,而不是開發類,但沒有人或妨礙你將之使用與後者。只是你必需要清楚各部分條款能覆蓋到的和不能覆蓋到的權利。

 

開源協議分類

按照使用條件的不一樣,開源軟件許可證能夠分爲三類(嚴苛程度遞減)

  1. 使用該開源軟件的代碼再散佈(redistribute)時,源碼也必須以相同許可證公開。

  表明許可類型:GPL, AGPL

  2. 使用該開源軟件的代碼而且對開源代碼有所修改後再散佈時,源碼必須以相同許可證公開。

  表明許可類型:LGPL, CPL,CDDL, CPL,MPL等

  3. 使用該開源軟件的代碼(包括修改)再散佈(redistribute)時,沒有特殊限制,只須要明記許可。

  表明許可類型:ASL, BSD,MIT等

如何選擇開源協議?

相關文章
相關標籤/搜索