對(duì)于讓開(kāi)源軟件變得如此出色的協(xié)作開(kāi)發(fā)來(lái)說(shuō),開(kāi)源軟件許可以其不同于常規(guī)軟件許可的方式提供了諸多支持。-- Scott K Peterson(作者)
人們?cè)谑褂贸R?guī)軟件許可時(shí)產(chǎn)生的實(shí)踐和期望,也許會(huì)讓他們?cè)诿鎸?duì)開(kāi)源軟件時(shí)感到沮喪。“請(qǐng)給我看下許可證”這種簡(jiǎn)單的要求,可能得不到令人滿意的答復(fù)。盡管有的時(shí)候這種答復(fù)非常簡(jiǎn)單,但開(kāi)源軟件的許可信息通常更為復(fù)雜,達(dá)不到常規(guī)軟件許可所設(shè)定的那種期望。
這是怎么回事兒呢?開(kāi)源軟件許可是否出毛病了?然而并沒(méi)有。許可條款類型以及軟件開(kāi)發(fā)方式的差異,都會(huì)導(dǎo)致軟件許可信息的傳送方式不同。律師便利性和開(kāi)發(fā)人員便利性之間的折衷是造成這種狀況的部分原因。
如果只是說(shuō)開(kāi)源軟件可以“協(xié)作”開(kāi)發(fā),那還沒(méi)有弄清楚開(kāi)源開(kāi)發(fā)活動(dòng)與常規(guī)許可軟件之間可能存在的差別程度。盡管有像常規(guī)許可軟件一樣由一個(gè)人或一個(gè)固定的小團(tuán)體來(lái)維護(hù)的開(kāi)源項(xiàng)目,但是在開(kāi)源項(xiàng)目上的協(xié)作可能會(huì)在廣泛的潛在貢獻(xiàn)者之間進(jìn)行。例如,根據(jù) GitHub 的“ 2019 年 Octoverse 報(bào)告 ” ,有超過(guò) 35 萬(wàn)人對(duì)前 1000 個(gè)項(xiàng)目做出了貢獻(xiàn)。但是,開(kāi)源軟件開(kāi)發(fā)與常規(guī)許可軟件開(kāi)發(fā)的不同之處不僅僅是貢獻(xiàn)者數(shù)量。除了被發(fā)現(xiàn)對(duì)該開(kāi)源項(xiàng)目擁有某些共同興趣,為開(kāi)源項(xiàng)目做出貢獻(xiàn)的人們之間可能沒(méi)有任何聯(lián)系。人們的參與情況可能會(huì)隨著時(shí)間的推移而變化。原始開(kāi)發(fā)人員可能會(huì)離開(kāi),留下其他人繼續(xù)進(jìn)行項(xiàng)目開(kāi)發(fā)。所有這一切都可能在沒(méi)有規(guī)劃或總體治理組織的情況下發(fā)生。
除了遵循規(guī)范性的治理規(guī)則,開(kāi)源協(xié)作活動(dòng)還是輕量級(jí)的,而且可以比常規(guī)許可軟件更加靈敏地響應(yīng)。有關(guān)開(kāi)源許可信息的實(shí)踐與這種協(xié)作開(kāi)發(fā)方式相適應(yīng)。
針對(duì)二進(jìn)制文件以及源代碼,開(kāi)源許可中的條款通過(guò)提供所需的權(quán)限(包括復(fù)制、修改和分發(fā))促進(jìn)了協(xié)作開(kāi)發(fā)。事實(shí)證明, “開(kāi)源定義”(Open Source Definition)(OSD)有助于將注意力集中在滿足其要求的許可上。
開(kāi)源軟件的許可信息嵌入在源代碼中。當(dāng)獲得源代碼時(shí),就會(huì)接收到相應(yīng)的許可信息。想象一下每年以百萬(wàn)計(jì)的貢獻(xiàn)規(guī)模,單獨(dú)的許可管理是否完全可行呢?同樣,通過(guò)將許可信息嵌入源代碼中,可以反映與許可相關(guān)的詳細(xì)信息,而這些細(xì)節(jié)在某些單獨(dú)管理的許可流程中不可行。例如,將許可信息嵌入源代碼,使得指示哪些許可條款適用于軟件的哪些部分變得切實(shí)可行。
為了說(shuō)明開(kāi)源許可實(shí)踐所能實(shí)現(xiàn)的效果,請(qǐng)考慮以下示例性軟件項(xiàng)目:
該項(xiàng)目始于 5 年前;到目前為止,已有 50 位貢獻(xiàn)者做出了貢獻(xiàn);通過(guò)改編其他項(xiàng)目中的部分軟件,增加了一些功能;原始代碼的開(kāi)發(fā)者在三年后離開(kāi);幾家商業(yè)企業(yè)已經(jīng)在其內(nèi)部或一部分產(chǎn)品中依賴該軟件;如果考慮到其他軟件和計(jì)算機(jī)世界方面相關(guān)的變化,則該軟件未來(lái)可能還會(huì)有 5-10 年的發(fā)展。
在開(kāi)源項(xiàng)目中現(xiàn)有和常用的表示許可信息的方法,很容易適應(yīng)這樣一個(gè)項(xiàng)目的過(guò)程。沒(méi)有預(yù)先規(guī)劃,貢獻(xiàn)者可以從項(xiàng)目中來(lái)來(lái)去去;項(xiàng)目的各個(gè)部分遵循不同的許可條款;如果與其他公司的合作破裂,商業(yè)企業(yè)可以繼續(xù)以很少的管理開(kāi)銷成本分擔(dān)軟件維護(hù)工作,同時(shí)保持完全獨(dú)立開(kāi)發(fā)其軟件分支的能力。
相反,傳統(tǒng)的軟件許可方法將如何支持這種開(kāi)發(fā)呢?甚至這樣的合作有可能發(fā)生嗎?我們是否將擁有一個(gè)完整的許可基礎(chǔ)結(jié)構(gòu)來(lái)跟蹤數(shù)千個(gè)“主軟件開(kāi)發(fā)和分發(fā)協(xié)議”的適用性?我們是否要通過(guò)讓某些公司控制一切來(lái)簡(jiǎn)化許可?
讓我們回到“是什么許可?”這個(gè)問(wèn)題。我談?wù)撻_(kāi)源開(kāi)發(fā)特征的目的,是說(shuō)明存在重要的影響開(kāi)源許可信息如何表示的非法律因素。開(kāi)源軟件中許可信息的表示形式通常不符合常規(guī)軟件許可的期望。但是,存在差異并不代表系統(tǒng)出毛病了。相反,對(duì)于支持過(guò)去二十年中已被證明有效的大規(guī)模協(xié)作開(kāi)發(fā)這種軟件構(gòu)建方法來(lái)說(shuō),差異的作用非常強(qiáng)大。
開(kāi)源許可信息是什么樣的呢?
通常,人們會(huì)考慮每個(gè)“軟件組件”的許可條款。軟件組件可能作為應(yīng)用程序?qū)τ脩艨梢?jiàn),或者對(duì)于用戶來(lái)說(shuō)可能不那么明顯,例如與大型程序結(jié)合使用時(shí)可提供某些功能的庫(kù)。
對(duì)于許多軟件組件而言,許可很簡(jiǎn)單:組件中的所有軟件適用數(shù)十種最常見(jiàn)的開(kāi)源許可證中的一種。除了最常見(jiàn)的許可證之外,還有很多文本有所變動(dòng)的不經(jīng)常使用的許可證。但是,在“開(kāi)源定義”的指導(dǎo)下,開(kāi)源許可條款中的權(quán)限和限制仍保持在一定范圍內(nèi)。
如果要進(jìn)行將開(kāi)源軟件集成到其他軟件中的軟件開(kāi)發(fā),那么你需要了解適用于所集成軟件的所有 “左版”(Copyleft)條款(例如著名的 GPL 系列許可證)。
由于從我對(duì)開(kāi)源軟件開(kāi)發(fā)方式的討論中揭示的顯而易見(jiàn)的原因,許可信息可能比單個(gè)許可證更為復(fù)雜。
盡管一個(gè)軟件組件可能有一個(gè)主要的“項(xiàng)目許可”,但可能有一部分軟件遵循其他許可證。這可能會(huì)導(dǎo)致在源代碼的各個(gè)部分中出現(xiàn)不同的許可聲明。
一些項(xiàng)目的做法是在每個(gè)源文件中放置版權(quán)聲明。其他項(xiàng)目主要依靠放置包含許可文本的一個(gè)或多個(gè)文件。
版權(quán)聲明指示誰(shuí)可能是該軟件部分的版權(quán)擁有者(但是,鑒于版權(quán)聲明實(shí)踐的多樣性,該指示的作用可能微不足道)。
用來(lái)構(gòu)建軟件組件的源代碼可以包括未反映在所得組件中的軟件,例如與測(cè)試或構(gòu)建相關(guān)的文件。這對(duì)于使用無(wú) GPL 規(guī)則(項(xiàng)目中可能包含遵循 GPL 許可證的文件,但用于生成可執(zhí)行程序的文件不得包含遵循GPL許可證的文件)的人可能很重要。
因?yàn)樵S多細(xì)節(jié)都與某些許可信息涉及的軟件部分有關(guān),這種細(xì)粒度的許可信息在源代碼中最有效地進(jìn)行了傳達(dá)。在最詳細(xì)的級(jí)別上, 源代碼即許可證 。當(dāng)許可信息在源代碼中時(shí),可以用與源代碼相同的方式(例如在版本控制系統(tǒng)中)來(lái)維護(hù)該許可信息,并且該信息固有地可用于獲得源代碼的任何人。
從源代碼中提取許可信息并創(chuàng)建許可條款概要似乎很簡(jiǎn)單。但是,對(duì)于一個(gè)人或一個(gè)公司來(lái)說(shuō)足夠了的摘要,可能對(duì)于另一個(gè)人或公司是不足的。不同的人可能關(guān)注不同的許可信息細(xì)節(jié)。一些人可能想確切地知道該軟件的哪些組件遵循“左版”條款。其他人可能并不關(guān)心所有組件的許可條款概要。還有的人可能需要包括每個(gè)不同的版權(quán)聲明在內(nèi)的所有許可聲明。
你想查看哪些許可信息的細(xì)節(jié)呢?在軟件開(kāi)發(fā)中有大量的工具可以使用。掃描、提取和報(bào)告現(xiàn)有許可信息的工具是持續(xù)開(kāi)發(fā)的活躍主題。現(xiàn)在,“是什么許可?”可能會(huì)改寫(xiě)為“向我顯示許可信息報(bào)告”,該報(bào)告可能包括一系列程度不同的詳細(xì)信息,具體取決于對(duì)請(qǐng)求報(bào)告的人的重要性。在最詳細(xì)的級(jí)別上,源代碼即許可證。
因?yàn)檐浖梢圆捎貌煌姆绞綐?gòu)建出來(lái),常規(guī)軟件許可和開(kāi)源軟件許可分別適用于不同的領(lǐng)域。兩者之間可能存在差異,對(duì)于這一點(diǎn)要做好準(zhǔn)備。
作者簡(jiǎn)介:Scott Peterson 是紅帽公司法律團(tuán)隊(duì)成員。很久以前,一位工程師就一個(gè)叫做 GPL 的奇怪文件向 Scott 征詢法律建議,這個(gè)致命的問(wèn)題讓 Scott 走上了探索包括技術(shù)標(biāo)準(zhǔn)和開(kāi)源軟件在內(nèi)的協(xié)同開(kāi)發(fā)法律問(wèn)題的糾結(jié)之路。
譯者簡(jiǎn)介:薛亮,集慧智佳知識(shí)產(chǎn)權(quán)咨詢公司互聯(lián)網(wǎng)事業(yè)部總監(jiān),擅長(zhǎng)專利檢索、專利分析、競(jìng)爭(zhēng)對(duì)手跟蹤、FTO 分析、開(kāi)源軟件知識(shí)產(chǎn)權(quán)風(fēng)險(xiǎn)分析,致力于為互聯(lián)網(wǎng)企業(yè)、高科技公司提供知識(shí)產(chǎn)權(quán)咨詢服務(wù)。
-
開(kāi)源軟件
+關(guān)注
關(guān)注
0文章
210瀏覽量
15921
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論