近期的一次開(kāi)源峰會(huì )上,在90分鐘的激情講演中,迪博納講解了各種開(kāi)源許可協(xié)議之間的主要區別,以及如何遵守它們。
他還說(shuō)明了采用各種種方式消費、生產(chǎn)和支持開(kāi)源軟件的Google是如何處理復雜多變的代碼許可的。所有開(kāi)源軟件的核心都在于該軟件發(fā)布時(shí)所遵循的開(kāi)源許可。根據迪博納的解釋?zhuān)_(kāi)源這個(gè)詞在高層次上很容易被定義:“被開(kāi)源研究院認可的軟件。”
但他同時(shí)還警告,并非所有自稱(chēng)開(kāi)源的企業(yè)都是真正意義上的開(kāi)源。“如果你去仔細觀(guān)察一下,各種開(kāi)源峰會(huì )參展的廠(chǎng)商們都會(huì )提到開(kāi)源一類(lèi)的詞,只是有時(shí)他們是在說(shuō)謊。而有時(shí)他們只是對“許可協(xié)議甲”或“許可協(xié)議乙”的看法不太一致。”
GPL開(kāi)源許可
人們不太容易區分一個(gè)軟件是否真正開(kāi)源的根本原因,在于開(kāi)源研究院認可的許可有60多種。但在這60多種許可中,有一個(gè)許可明顯主宰著(zhù)開(kāi)源世界。迪博納說(shuō):“GPL(General Public License,通用性公開(kāi)許可協(xié)議)是當今開(kāi)源世界中最重要的許可。”根據迪博納引述的Google所進(jìn)行的研究,基于GPL的開(kāi)源代碼在所有開(kāi)源軟件中占45%---50%。
事實(shí)上,GPL應用如此廣泛,就意味著(zhù)我們更應該理解其中的條款。
GPL是一種互惠協(xié)議,遵循GPL的代碼必須一直是自由的,發(fā)布后的軟件必須受到社區的監管。迪博納表示,許多許可中存在的問(wèn)題是代碼中不同的部分遵循了不同的許可,而這些部分最終被拼湊成了一個(gè)應用程序。
許可協(xié)議對開(kāi)源的影響
總有些許可是不那么美好的。迪博納說(shuō):“最后它會(huì )影響到你的效率。理解這個(gè)問(wèn)題會(huì )幫助你擺脫這種情況。”
許多許可在遵循時(shí)會(huì )遇到許可本意與字面意思相違背的情況。許可中的許多條款不很明確,違反時(shí)也不會(huì )形成很?chē)乐氐奶幜P。 “Google之所以遵循,是因為這么做是正確的。財政上的處罰不那么嚴重。”迪博納提到,人們經(jīng)常會(huì )因許可問(wèn)題違反法律,但他們很容易做出補償。在迪博納看來(lái),多數程序員們的目的只是為了保證他們的代碼和程序繼續以開(kāi)源的形式傳播下去。 “最后的結果是開(kāi)發(fā)人員們希望別人使用他們的代碼——而這很可怕。”
目前的GPL第二版中,有些條款經(jīng)常被人們誤解。
“如果你連接這段代碼,你需要將你生成的代碼設為自由使用。”但這里并沒(méi)有對“連接”做出明確的解釋。比如說(shuō),一位用戶(hù)使用GCCto來(lái)編譯程序,并不意味著(zhù)所生成的軟件是遵循GPL的。 迪博納解釋稱(chēng):“多數人認為,連接是指動(dòng)態(tài)連接一個(gè)函數庫。”而根據GPL的一個(gè)引申協(xié)議,簡(jiǎn)化了GPL中的規定,動(dòng)態(tài)連接并不是非法行為。
GPL與其它開(kāi)源許可的條款并不一定針對有困難的方面。 “問(wèn)題不在于對法律的反映、修訂和遵守。最困難的部分是對軟件的跟蹤。”
迪博納表示,Google開(kāi)發(fā)了一個(gè)跟蹤工具來(lái)查詢(xún)每個(gè)軟件的信息和來(lái)源。這樣一來(lái),代碼就得到了隔離,將違反許可的可能性降到了最低。
“我們花費了許多時(shí)間來(lái)訓練工程師。”在訓練中,迪博納對Google的新工程師們傳授了一個(gè)基本理念,其中包括Google的代碼庫,以及鑒別、區分代碼段的重要性。 “一旦他們養成了你所在組織的習慣,他們也就會(huì )習慣于遵守許可。” 迪博納最終把問(wèn)題歸結為,理解開(kāi)源程序的來(lái)源以便更好運用開(kāi)源軟件。也就是說(shuō),你可以更多地享受開(kāi)源代碼的好處,通過(guò)在你自己的軟件中使用開(kāi)源代碼參與到它的發(fā)展過(guò)程之中。
迪博納說(shuō),有一點(diǎn)大家必須要理解:多數開(kāi)源程序員并不是為了錢(qián)而編寫(xiě)代碼。“他們知道自己在做什么工作。如果他們想向你收錢(qián),他們會(huì )選擇商業(yè)許可——商業(yè)許可中有許多機會(huì )。如果你想賺錢(qián),千萬(wàn)不要放棄這些機會(huì )。”
迪博納的講話(huà)中的確提到開(kāi)源可以賺錢(qián),但重復利用許可收費并不是可行的方式。迪博納稱(chēng):“99%的開(kāi)源項目是因為一兩個(gè)人遇到感興趣的問(wèn)題而發(fā)起的,他們使用許可來(lái)互相協(xié)作。” “開(kāi)源許可為我們創(chuàng )造了可以共同努力的環(huán)境,而不是互相敲詐的借口。”
聯(lián)系客服