帶你探尋開(kāi)源技術(shù)中的五大開(kāi)源協(xié)議
開(kāi)源技術(shù)被越來(lái)越多的人認(rèn)可,也有不少人認(rèn)為在未來(lái)的開(kāi)發(fā)技術(shù)中開(kāi)源是一個(gè)必行的趨勢(shì)。越來(lái)越多的開(kāi)發(fā)者與設(shè)計(jì)者希望將自己的產(chǎn)品開(kāi)源技術(shù),以便其他人可以在他們的代碼基礎(chǔ)上做更多事,開(kāi)源社區(qū)也因此充滿生機(jī)。
在我們所能想到的應(yīng)用領(lǐng)域,都有開(kāi)源軟件存在(象 WordPress,Drupal 這些開(kāi)源CMS)。然而很多人對(duì)開(kāi)源許可并不了解,本文介紹開(kāi)源領(lǐng)域常用的幾種許可協(xié)議以及它們之間的區(qū)別。
什么是許可協(xié)議?
什么是許可,當(dāng)你為你的產(chǎn)品簽發(fā)許可,你是在出讓自己的權(quán)利,不過(guò),你仍然擁有版權(quán)和專利(如果申請(qǐng)了的話),許可的目的是,向使用你產(chǎn)品的人提供一定的權(quán)限。
不管產(chǎn)品是免費(fèi)向公眾分發(fā),還是出售,制定一份許可協(xié)議非常有用,否則,對(duì)于前者,你相當(dāng)于放棄了自己所有的權(quán)利,任何人都沒(méi)有義務(wù)表明你的原始作者身份,對(duì)于后者,你將不得不花費(fèi)比開(kāi)發(fā)更多的精力用來(lái)逐個(gè)處理用戶的授權(quán)問(wèn)題。
而開(kāi)源技術(shù)許可協(xié)議使這些事情變得簡(jiǎn)單,開(kāi)發(fā)者很容易向一個(gè)項(xiàng)目貢獻(xiàn)自己的代碼,它還可以保護(hù)你原始作者的身份,使你至少獲得認(rèn)可,開(kāi)源許可協(xié)議還可以阻止其它人將某個(gè)產(chǎn)品據(jù)為己有。以下是開(kāi)源技術(shù)界的 5 大許可協(xié)議。
GNU GPL
GNU General Public Licence (GPL) 有可能是開(kāi)源界最常用的許可模式。GPL 保證了所有開(kāi)發(fā)者的權(quán)利,同時(shí)為使用者提供了足夠的復(fù)制,分發(fā),修改的權(quán)利:
可自由復(fù)制
你可以將軟件復(fù)制到你的電腦,你客戶的電腦,或者任何地方。復(fù)制份數(shù)沒(méi)有任何限制。
可自由分發(fā)
在你的網(wǎng)站提供下載,拷貝到U盤(pán)送人,或者將源代碼打印出來(lái)從窗戶扔出去(環(huán)保起見(jiàn),請(qǐng)別這樣做)。
可以用來(lái)盈利
你可以在分發(fā)軟件的時(shí)候收費(fèi),但你必須在收費(fèi)前向你的客戶提供該軟件的 GNU GPL 許可協(xié)議,以便讓他們知道,他們可以從別的渠道免費(fèi)得到這份軟件,以及你收費(fèi)的理由。
可自由修改
如果你想添加或刪除某個(gè)功能,沒(méi)問(wèn)題,如果你想在別的項(xiàng)目中使用部分代碼,也沒(méi)問(wèn)題,唯一的要求是,使用了這段代碼的項(xiàng)目也必須使用 GPL 協(xié)議。
需要注意的是,分發(fā)的時(shí)候,需要明確提供源代碼和二進(jìn)制文件,另外,用于某些程序的某些協(xié)議有一些問(wèn)題和限制,你可以看一下 @PierreJoye 寫(xiě)的 Practical Guide to GPL Compliance 一文。使用 GPL 協(xié)議,你必須在源代碼代碼中包含相應(yīng)信息,以及協(xié)議本身。
GNU LGPL
GNU 還有另外一種協(xié)議,叫做 LGPL (Lesser General Public Licence),它對(duì)產(chǎn)品所保留的權(quán)利比 GPL 少,總的來(lái)說(shuō),LGPL 適合那些用于非 GPL 或非開(kāi)源產(chǎn)品的開(kāi)源類庫(kù)或框架。因?yàn)?GPL 要求,使用了 GPL 代碼的產(chǎn)品必須也使用 GPL 協(xié)議,開(kāi)發(fā)者不允許將 GPL 代碼用于商業(yè)產(chǎn)品。LGPL 繞過(guò)了這一限制。
BSD
BSD 在軟件分發(fā)方面的限制比別的開(kāi)源協(xié)議(如 GNU GPL)要少。該協(xié)議有多種版本,最主要的版本有兩個(gè),新 BSD 協(xié)議與簡(jiǎn)單 BSD 協(xié)議,這兩種協(xié)議經(jīng)過(guò)修正,都和 GPL 兼容,并為開(kāi)源組織所認(rèn)可。
新 BSD 協(xié)議(3條款協(xié)議)在軟件分發(fā)方面,除需要包含一份版權(quán)提示和免責(zé)聲明之外,沒(méi)有任何限制。另外,該協(xié)議還禁止拿開(kāi)發(fā)者的名義為衍生產(chǎn)品背書(shū),但簡(jiǎn)單 BSD 協(xié)議刪除了這一條款。
MIT
MIT 協(xié)議可能是幾大開(kāi)源技術(shù)協(xié)議中最寬松的一個(gè),核心條款是:
該軟件及其相關(guān)文檔對(duì)所有人免費(fèi),可以任意處置,包括使用,復(fù)制,修改,合并,發(fā)表,分發(fā),再授權(quán),或者銷售。唯一的限制是,軟件中必須包含上述版權(quán)和許可提示。
這意味著:
你可以自由使用,復(fù)制,修改,可以用于自己的項(xiàng)目。
可以免費(fèi)分發(fā)或用來(lái)盈利。
唯一的限制是必須包含許可聲明。
MIT 協(xié)議是所有開(kāi)源許可中最寬松的一個(gè),除了必須包含許可聲明外,再無(wú)任何限制。
Apache
Apache 協(xié)議 2.0 和別的開(kāi)源協(xié)議相比,除了為用戶提供版權(quán)許可之外,還有專利許可,對(duì)于那些涉及專利內(nèi)容的開(kāi)發(fā)者而言,該協(xié)議最適合(這里有一篇文章闡述這個(gè)問(wèn)題)。
Apache 協(xié)議還有以下需要說(shuō)明的地方:
永久權(quán)利
一旦被授權(quán),永久擁有。
全球范圍的權(quán)利
在一個(gè)國(guó)家獲得授權(quán),適用于所有國(guó)家。假如你在美國(guó),許可是從印度授權(quán)的,也沒(méi)有問(wèn)題。
授權(quán)免費(fèi),且無(wú)版稅
前期,后期均無(wú)任何費(fèi)用。
授權(quán)無(wú)排他性
任何人都可以獲得授權(quán)
授權(quán)不可撤消
一旦獲得授權(quán),沒(méi)有任何人可以取消。比如,你基于該產(chǎn)品代碼開(kāi)發(fā)了衍生產(chǎn)品,你不用擔(dān)心會(huì)在某一天被禁止使用該代碼。
分發(fā)代碼方面包含一些要求,主要是,要在聲明中對(duì)參與開(kāi)發(fā)的人給予認(rèn)可并包含一份許可協(xié)議原文。
Creative Commons
Creative Commons (CC) 并非嚴(yán)格意義上的開(kāi)源許可,它主要用于設(shè)計(jì)。Creative Commons 有多種協(xié)議,每種都提供了相應(yīng)授權(quán)模式,CC 協(xié)議主要包含 4 種基本形式:
開(kāi)源技術(shù)的署名權(quán)
必須為原始作者署名,然后才可以修改,分發(fā),復(fù)制。
開(kāi)源技術(shù)中保持一致
作品同樣可以在 CC 協(xié)議基礎(chǔ)上修改,分發(fā),復(fù)制。
非商業(yè)
作品可以被修改,分發(fā),復(fù)制,但不能用于商業(yè)用途。但商業(yè)的定義有些模糊,比如,有的人認(rèn)為非商業(yè)用途指的是不能銷售,有的認(rèn)為是甚至不能放在有廣告的網(wǎng)站,也有人認(rèn)為非商業(yè)的意思是非盈利。
不能衍生新作品
你可以復(fù)制,分發(fā),但不能修改,也不能以此為基礎(chǔ)創(chuàng)作自己的作品。
這些許可形式可以結(jié)合起來(lái)用,其中最嚴(yán)厲的組合是“署名,非商用,不能衍生新作品”,意味著,你可以分享作品,但不能改動(dòng)或以此盈利,而且必須為原作者署名。在這種許可模式下,原始作者對(duì)作品還擁有完全的控制權(quán),而最寬松的組合是“署名”,意味著,只要為原始作者署名了,就可以自由處置。
【編輯推薦】
- 開(kāi)源技術(shù)軟件要走的路還很長(zhǎng)
- 開(kāi)源技術(shù):經(jīng)濟(jì)衰退期企業(yè)IT變革之道
- 2007年度開(kāi)源社區(qū)及開(kāi)源技術(shù)發(fā)展綜述
- 開(kāi)源技術(shù)“入侵”Oracle數(shù)據(jù)中心
- 烏班圖(Ubuntu)的幕后支持者聊開(kāi)源技術(shù)發(fā)展