程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 開源領域常用的許可協議和它們之間的區別

開源領域常用的許可協議和它們之間的區別

編輯:關於ASP編程

越來越多的開發者與設計者希望將自己的產品開源,以便其他人可以在他們的代碼基礎上做更多事,開源社區也因此充滿生機。在我們所能想到的應用領域,都有開源軟件存在(象 WordPress,Drupal 這些開源CMS)。然而很多人對開源許可並不了解,本文介紹開源領域常用的幾種許可協議以及它們之間的區別。

Opensourceubuntu in A Short Guide To Open-Source And Similar  Licenses

什麼是許可協議?

什麼是許可,當你為你的產品簽發許可,你是在出讓自己的權利,不過,你仍然擁有版權和專利(如果申請了的話),許可的目的是,向使用你產品的人提供一定的權限。

不管產品是免費向公眾分發,還是出售,制定一份許可協議非常有用,否則,對於前者,你相當於放棄了自己所有的權利,任何人都沒有義務表明你的原始作者身份,對於後者,你將不得不花費比開發更多的精力用來逐個處理用戶的授權問題。

而開源許可協議使這些事情變得簡單,開發者很容易向一個項目貢獻自己的代碼,它還可以保護你原始作者的身份,使你至少獲得認可,開源許可協議還可以阻止其它人將某個產品據為己有。以下是開源界的 5 大許可協議。

GNU GPL

GNU General Public Licence (GPL) 有可能是開源界最常用的許可模式。GPL 保證了所有開發者的權利,同時為使用者提供了足夠的復制,分發,修改的權利:

  • 可自由復制
    你可以將軟件復制到你的電腦,你客戶的電腦,或者任何地方。復制份數沒有任何限制。
  • 可自由分發
    在你的網站提供下載,拷貝到U盤送人,或者將源代碼打印出來從窗戶扔出去(環保起見,請別這樣做)。
  • 可以用來盈利
    你可以在分發軟件的時候收費,但你必須在收費前向你的客戶提供該軟件的 GNU 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 兼容,並為開源組織所認可。

新 BSD 協議(3條款協議)在軟件分發方面,除需要包含一份版權提示和免責聲明之外,沒有任何限制。另外,該協議還禁止拿開發者的名義為衍生產品背書,但簡單 BSD 協議刪除了這一條款。

MIT

MIT 協議可能是幾大開源協議中最寬松的一個,核心條款是:

該軟件及其相關文檔對所有人免費,可以任意處置,包括使用,復制,修改,合並,發表,分發,再授權,或者銷售。唯一的限制是,軟件中必須包含上述版權和許可提示。

這意味著:

  • 你可以自由使用,復制,修改,可以用於自己的項目。
  • 可以免費分發或用來盈利。
  • 唯一的限制是必須包含許可聲明。

MIT 協議是所有開源許可中最寬松的一個,除了必須包含許可聲明外,再無任何限制。

Apache

Apache 協議 2.0 和別的開源協議相比,除了為用戶提供版權許可之外,還有專利許可,對於那些涉及專利內容的開發者而言,該協議最適合(這裡有一篇文章闡述這個問題)。

Apache 協議還有以下需要說明的地方:

  • 永久權利
    一旦被授權,永久擁有。
  • 全球范圍的權利
    在一個國家獲得授權,適用於所有國家。假如你在美國,許可是從印度授權的,也沒有問題。
  • 授權免費,且無版稅
    前期,後期均無任何費用。
  • 授權無排他性
    任何人都可以獲得授權
  • 授權不可撤消
    一旦獲得授權,沒有任何人可以取消。比如,你基於該產品代碼開發了衍生產品,你不用擔心會在某一天被禁止使用該代碼。

分發代碼方面包含一些要求,主要是,要在聲明中對參與開發的人給予認可並包含一份許可協議原文。

Creative Commons

Creative Commons (CC) 並非嚴格意義上的開源許可,它主要用於設計。Creative Commons 有多種協議,每種都提供了相應授權模式,CC 協議主要包含 4 種基本形式:

  • 署名權
    必須為原始作者署名,然後才可以修改,分發,復制。
  • 保持一致
    作品同樣可以在 CC 協議基礎上修改,分發,復制。
  • 非商業
    作品可以被修改,分發,復制,但不能用於商業用途。但商業的定義有些模糊,比如,有的人認為非商業用途指的是不能銷售,有的認為是甚至不能放在有廣告的網站,也有人認為非商業的意思是非盈利。
  • 不能衍生新作品
    你可以復制,分發,但不能修改,也不能以此為基礎創作自己的作品。

這些許可形式可以結合起來用,其中最嚴厲的組合是“署名,非商用,不能衍生新作品”,意味著,你可以分享作品,但不能改動或以此盈利,而且必須為原作者署名。在這種許可模式下,原始作者對作品還擁有完全的控制權,而最寬松的組合是“署名”,意味著,只要為原始作者署名了,就可以自由處置。

延伸資源

  • Creative Commons Licenses
    Creative Common 許可的官方條款與解釋
  • Open Source Initiative
    包含各種開源協議資源
  • Open Source Licenses Comparison
    對主流開源協議的對比
  • Understanding Open-Source Licensing
    開源協議詳解
  • HOW TO: Pick an Open Source License
    如何選擇不同的開源協議

本文國際來源:Smashing Magazine A Short Guide To Open-Source And Similar Licenses

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved