越來越多的開發者與設計者希望將自己的產品開源,以便其他人可以在他們的**基礎上做更多事,開源社群也因此充滿生機。在我們所能想到的應用領域,都有開 源軟體存在(象 wordpress,drupal 這些開源cms)。然而很多人對開源許可並不了解,本文介紹開源領域常用的幾種許可協議以及它們之間的區別。
什麼是許可協議?
不管產品是免費向公眾分發,還是**,制定乙份許可協議非常有用,否則,對於前者,你相當於放棄了自己所有的權利,任何人都沒有義務表明你的原始作者身份,對於後者,你將不得不花費比開發更多的精力用來逐個處理使用者的授權問題。
而開源許可協議使這些事情變得簡單,開發者很容易向乙個專案貢獻自己的**,它還可以保護你原始作者的身份,使你至少獲得認可,開源許可協議還可以阻止其它人將某個產品據為己有。以下是開源界的 5 大許可協議。
gnu gpl
gnu general public licence (gpl) 有可能是開源界最常用的許可模式。gpl 保證了所有開發者的權利,同時為使用者提供了足夠的複製,分發,修改的權利:
需要注意的是,分發的時候,需要明確提供源**和二進位制檔案,另外,用於某些程式的某些協議有一些問題和限制,你可以看一下 @pierrejoye 寫的 practical guide to gpl compliance 一文。使用 gpl 協議,你必須在源****中包含相應資訊,以及協議本身。
gnu lgpl
gnu 還有另外一種協議,叫做 lgpl (lesser general public licence),它對產品所保留的權利比 gpl 少,總的來說,lgpl 適合那些用於非 gpl 或非開源產品的開源類庫或框架。因為 gpl 要求,使用了 gpl **的產品必須也使用 gpl 協議,開發者不允許將 gpl **用於商業產品。lgpl 繞過了這一限制。
bsd
bsd 在軟體分發方面的限制比別的開源協議(如 gnu gpl)要少。該協議有多種版本,最主要的版本有兩個,新 bsd 協議與簡單 bsd 協議,這兩種協議經過修正,都和 gpl 相容,並為開源組織所認可。
mit
mit 協議可能是幾大開源協議中最寬鬆的乙個,核心條款是:
這意味著:
mit 協議是所有開源許可中最寬鬆的乙個,除了必須包含許可宣告外,再無任何限制。
apache
apache 協議 2.0 和別的開源協議相比,除了為使用者提供版權許可之外,還有專利許可,對於那些涉及專利內容的開發者而言,該協議最適合(這裡有一篇文章闡述這個問題)。
apache 協議還有以下需要說明的地方:
分發**方面包含一些要求,主要是,要在宣告中對參與開發的人給予認可幷包含乙份許可協議原文。
creative commons
creative commons (cc) 並非嚴格意義上的開源許可,它主要用於設計。creative commons 有多種協議,每種都提供了相應授權模式,cc 協議主要包含 4 種基本形式:
這些許可形式可以結合起來用,其中最嚴厲的組合是「署名,非商用,不能衍生新作品」,意味著,你可以分享作品,但不能改動或以此盈利,而且必須為原作者署名。在這種許可模式下,原始作者對作品還擁有完全的控制權,而最寬鬆的組合是「署名」,意味著,只要為原始作者署名了,就可以自由處置。
延伸資源
五大開源協議介紹
越來越多的開發者與設計者希望將自己的產品開源,以便其他人可以在他們的 基礎上做更多事,開源社群也因此充滿生機。在我們所能想到的應用領域,都有開源軟體存在 象 wordpress,drupal 這些開源cms 然而很多人對開源許可並不了解,本文介紹開源領域常用的幾種許可協議以及它們之間的區別。什麼是許...
開源技術中的五大開源協議
開源技術是開發者英明的決策。在開源界之中有五大基本的開源協議,這五大開源許可協議即gnu gpl,gnu lgpl,bsd,mit,apache。另外,還有非 領域的creative commons通用授權模式。開源技術被越來越多的人認可,也有不少人認為在未來的開發技術中開源是乙個必行的趨勢。越來越...
開源界的5大開源許可協議
越來越多的開發者與設計者希望將自己的產品開源,以便其他人可以在他們的 基礎上做更多事,開源社群也因此充滿生機。在我們所能想到的應用領域,都有開源軟體存在 象 wordpress,drupal 這些開源cms 然而很多人對開源許可並不了解,本文介紹開源領域常用的幾種許可協議以及它們之間的區別。不管產品...