封閉:開源模式的可持續(xù)性遭質(zhì)疑
HashiCorp 最近決定將旗下產(chǎn)品Terraform轉(zhuǎn)為更嚴(yán)格的商業(yè)許可證,這可能不是最后一家尋求對(duì)旗下產(chǎn)品帶來的市場運(yùn)營享有更大控制權(quán)的公司。
譯自 Closure: Is Open Source Licensing Suddenly Unsustainable? 。
我們似乎一直在回避這個(gè)討論:開源軟件到底屬于誰?從法律上說,它仍屬于最初的創(chuàng)造者。軟件開發(fā)社區(qū)享有的任何權(quán)利,都只是通過軟件許可被創(chuàng)造者授予的。
這樣的授權(quán)是否意味著創(chuàng)造者永遠(yuǎn)無法聲稱對(duì)軟件背后的理念擁有排他權(quán)?更重要的是,它是否可以排除創(chuàng)造者對(duì)軟件帶動(dòng)形成的市場享有排他所有權(quán)?
從另一面看,同樣的問題也同樣合理:假設(shè)初創(chuàng)公司進(jìn)入一個(gè)新的未開發(fā)市場的唯一途徑就是通過開源許可,那么圍繞這項(xiàng)創(chuàng)新編寫代碼的開發(fā)者社區(qū)是否也應(yīng)享有創(chuàng)新的部分收益?
這個(gè)社區(qū)是否可以直接獲取這項(xiàng)創(chuàng)新,并將其移植到其他平臺(tái)上由他人運(yùn)營?當(dāng)這種情況發(fā)生時(shí),創(chuàng)造者對(duì)客戶流失是否會(huì)有合法的訴求?
現(xiàn)在引發(fā)這些問題浮出水面的是Terraform的貢獻(xiàn)開發(fā)者與其創(chuàng)造者HashiCorp之間出現(xiàn)裂痕。8月,HashiCorp宣布將Terraform和其他產(chǎn)品的許可模式從非常寬松的Mozilla公共許可證2.0,改為MariaDB簡潔明確的商業(yè)源代碼許可證1.1。
HashiConf 2023上的HashiCorp CEO Dave McJannet
商業(yè)源代碼許可證(Business Source License)
BUSL足夠簡短,可以在餐巾紙上寫出。其首句話最重要:"特此授予您復(fù)制、修改、創(chuàng)建衍生作品、重新分發(fā)許可作品及進(jìn)行非商業(yè)使用的權(quán)利。" 這里的關(guān)鍵詞是非商業(yè)使用。這可以并應(yīng)該被解釋為:根據(jù)許可方規(guī)定,除非我們書面批準(zhǔn),否則您不能通過對(duì)我們產(chǎn)品的貢獻(xiàn)獲得商業(yè)利益,只能在我們規(guī)定的條件下進(jìn)行。(HashiCorp 和數(shù)據(jù)庫制造商MariaDB均拒絕就本文發(fā)表評(píng)論。)
然而,HashiCorp此舉 - 其股票于2021年12月在納斯達(dá)克上市 - 顯然不是首次偏離開放許可,未來類似情況可能還會(huì)繼續(xù)出現(xiàn)。最近我們看到:
- Red Hat將RHEL代碼的可用性限制在僅面向商業(yè)客戶。
- 2018年,MongoDB推出了其服務(wù)器端公共許可證(SSPL),這是一種“源代碼可用”許可,要求任何對(duì)代碼做出貢獻(xiàn)的人必須公開發(fā)布他人運(yùn)行代碼所需的一切。
- Redis對(duì)代碼使用的限制特別針對(duì)其內(nèi)存緩存和數(shù)據(jù)庫的擴(kuò)展模塊,在一則后來修改的網(wǎng)貼中聲稱(未明確指出AWS ElastiCache)"云提供商"尋求通過重新包裝的專有托管服務(wù)獲利。
這里存在更深層次的問題:即使在非常寬松的許可下,軟件產(chǎn)品的原創(chuàng)者是否也應(yīng)被授權(quán)或允許排他地?fù)碛胁⑦\(yùn)營圍繞該產(chǎn)品形成的市場或生態(tài)系統(tǒng)?
如果是這樣,就會(huì)提出一個(gè)問題,即開源許可證是否可以利用托管服務(wù)作為支點(diǎn)做開源本意圖避免的事情:鎖定供應(yīng)商。但是如果不是這樣,開發(fā)者隨時(shí)可以圍繞一個(gè)產(chǎn)品建立自己的市場。他們還可以保留作為談判工具的這樣做的權(quán)利。
這種影響力可以用來約束許可方,防止它威脅更改條款。如果許可方試圖從其軟件可能制定的任何標(biāo)準(zhǔn)周圍形成的生態(tài)系統(tǒng)中獲利,開發(fā)者也可以執(zhí)行選擇權(quán)。
最近我們還看到:
- 去年7月,SUSE分支了最新的公開可用RHEL代碼,以構(gòu)建一個(gè)新的發(fā)行版,與Red Hat最新版CentOS不同,它與RHEL兼容。
- 2021年,亞馬遜網(wǎng)絡(luò)服務(wù)分支了Elasticsearch,命名為OpenSearch,表面上是對(duì)Elasticsearch加新條款的回應(yīng),亞馬遜稱這會(huì)限制其在其云平臺(tái)上提供搜索作為服務(wù)的能力。
- 社區(qū)成員多次分支Node.js,因?yàn)樗麄冋J(rèn)為其許可條款被未經(jīng)授權(quán)地修改過。
也許最典型的例子發(fā)生在2015年,當(dāng)時(shí)谷歌實(shí)際上將新興的容器生態(tài)系統(tǒng)從Docker轉(zhuǎn)移到了Kubernetes。這一切發(fā)生得非常迅速和順利,造成的市場變革極為徹底,以至于當(dāng)時(shí)的市場分析師難以理解發(fā)生了什么。
如果開放性是相對(duì)的,那么善意也有局限。可以期望一個(gè)組織給予開發(fā)社區(qū)多少開放性,而不會(huì)使其資產(chǎn)在投資者眼中貶值?如果無法控制誰應(yīng)該從技術(shù)的使用中獲利,最初發(fā)明這項(xiàng)技術(shù)的意義是什么?
非生產(chǎn)
HashiCorp 在這個(gè)問題上的立場已經(jīng)非常明確。2022年10月,在與The New Stack的Alex Williams的訪談中,HashiCorp CEO David McJannet說他的公司設(shè)立Terraform Console(其基礎(chǔ)設(shè)施即代碼語言的解釋器)是為了使項(xiàng)目開源。
“但要明確的是,”McJannet宣稱,“它們100%由HashiCorp控制。”
真是這樣嗎?來自廣泛Terraform開發(fā)者社區(qū)的直接反應(yīng),是拋棄HashiCorp,取最新開源許可的Terraform,圍繞它建立一個(gè)新平臺(tái)OpenTofu,并將其捐贈(zèng)給Linux基金會(huì)。更重要的是,這些開發(fā)者及其支持Terraform的產(chǎn)品和項(xiàng)目也一起遷移到了OpenTofu,實(shí)際上將Terraform生態(tài)系統(tǒng)的重要部分遷移到了一個(gè)全新的平臺(tái)。
“基于基礎(chǔ)設(shè)施即代碼構(gòu)建基礎(chǔ)設(shè)施部署的公司,” OpenTofu的主要貢獻(xiàn)開發(fā)者之一Pawel Hytry 在接受The New Stack采訪時(shí)評(píng)論道,“本著它會(huì)保持開源的前提進(jìn)行運(yùn)作。這意味著,他們滿懷信心地花費(fèi)多年時(shí)間根據(jù)這個(gè)框架來構(gòu)建基礎(chǔ)設(shè)施。
“但這個(gè)前提被打破了,”Hytry繼續(xù)說道,“在我看來,這對(duì)更廣泛的生態(tài)系統(tǒng)意味著,如果前提被打破,總會(huì)有開源的替代方案出現(xiàn)?!?/p>
“我認(rèn)為這可能是一個(gè)真正的轉(zhuǎn)折點(diǎn),”Brigham Young大學(xué)法學(xué)院Hugh W. Colton教授Clark Asay評(píng)論道。
“顯然,多年來開源軟件運(yùn)動(dòng)已經(jīng)在很大程度上商業(yè)化......志愿者社區(qū)與領(lǐng)導(dǎo)項(xiàng)目的組織之間的關(guān)系,或收購項(xiàng)目的組織,或指導(dǎo)項(xiàng)目的組織之間出現(xiàn)了相當(dāng)大的負(fù)面動(dòng)態(tài)。這類事件可能會(huì)推動(dòng)軟件開發(fā)向與過去20至30年完全不同的方向發(fā)展?!?/span>
這樣合法嗎?
HashiCorp通過從開源轉(zhuǎn)向更嚴(yán)格的許可證,是否違反了任何法律?
自美國成立以來,有法律先例確立創(chuàng)意或方法的創(chuàng)造者有權(quán)主張對(duì)其用途的排他性。但是,一旦這樣的方法被指定為公有領(lǐng)域,任何人都不能再合法地聲稱其為原創(chuàng)。
眾所周知,開源軟件不屬于公有領(lǐng)域。其創(chuàng)始人保留通過許可授予開放可用性的權(quán)利。從技術(shù)上說,這意味著軟件的開源狀態(tài)永遠(yuǎn)不能被推定為永久。然而,如果其許可證措詞使受讓方認(rèn)為其期限無限,那么事后加新限制可能會(huì)被視為違反原許可條款和聲明。
換言之,沒有任何法律能保證軟件分發(fā)的開放程度。但違反軟件最初可用性條款可能是非法的。廣義上,當(dāng)供應(yīng)商從寬松許可轉(zhuǎn)向限制性許可,與原寬松許可相矛盾時(shí),這是否合法?
“不一定合法,”Red Hat高級(jí)法律顧問兼GPL第3版合著者Richard Fontana回應(yīng)說,“取決于情況。”
Fontana解釋,對(duì)軟件的唯一版權(quán)持有人,其任何組件都不是他人以許可形式提供的,有各種許可選擇。
從開源轉(zhuǎn)向?qū)S性S可是一種選擇。但像GPL第3版這樣的典型開源許可是永久和不可撤銷的。這種許可可能施加的條件是有限的,但如Fontana所說,存在一種“社區(qū)認(rèn)可的對(duì)這些條件的限制”。
“只要你遵守這些條件,你的許可就是永久的,” Fontana告訴The New Stack,“所以開源軟件的許可方不能收回已經(jīng)授予的許可。但是,如果他們有權(quán)利這樣做,他們可以決定對(duì)未來的修改、新變更或補(bǔ)充使用不同的許可證?!?/p>
在不提及任何具體情況下,F(xiàn)ontana補(bǔ)充說,假設(shè)的許可方被確定沒有權(quán)利對(duì)之前開放的許可條件加限制,這是完全可能的。一個(gè)原因可能是代碼庫已經(jīng)積累了來自公司或領(lǐng)域外的貢獻(xiàn),這些貢獻(xiàn)本身是以許可形式授予許可方的。
“我認(rèn)為采取這類步驟的公司往往會(huì)非常小心,”Fontana說,“但我確實(shí)看到,當(dāng)這些事發(fā)生時(shí),社區(qū)會(huì)嚴(yán)肅提出這個(gè)問題:他們真的有權(quán)利這樣做嗎?這些問題有時(shí)非常嚴(yán)肅。”
對(duì)BYU的Asay提出的同一問題,他回答“是的,這在法律上是合法的”,但補(bǔ)充了一些注意事項(xiàng):
“人們可能為這些項(xiàng)目團(tuán)結(jié)合作了多年,在某些情況下,投入了大量時(shí)間和資源,這在很大程度上基于參與者之間的這些規(guī)范和信任,每個(gè)人在某種程度上站在同一立場”,Asay告訴The New Stack,“但嚴(yán)格根據(jù)版權(quán)法,只要該組織被視為作品、聯(lián)合作者或版權(quán)材料的多個(gè)作者之一,那么他們可以根據(jù)一套非常寬松的條款對(duì)其許可,然后選擇非常嚴(yán)格的條款?!?/p>
Asay(他的兄弟 Matt,恰巧曾經(jīng)是 New Stack 的貢獻(xiàn)值)描繪了原創(chuàng)者和貢獻(xiàn)者之間的關(guān)系,這些角色之間的界限隨時(shí)間推移外界觀察者和某些記者看來可能變得模糊,但從法律角度通常不是這樣。
當(dāng)發(fā)生時(shí),原創(chuàng)者和被許可方之間最初的違反是對(duì)信任的違反。
然而,在Asay看來,兩方被視為共同作者的界限變得足夠模糊并非不可能。存在法律先例支持外部貢獻(xiàn)者被判斷為工作的大部分內(nèi)容的提供者。
與如今決定我們命運(yùn)的許多因素一樣,這一先例可能來自我們影響范圍之外:2000年,Jefri Aalmuhammed 控告導(dǎo)演 Spike Lee 的一項(xiàng)美國第九巡回上訴法院裁決。Aalmuhammed認(rèn)為,通過他直接負(fù)責(zé)的內(nèi)容量,他已成為李紀(jì)錄片《Malcolm X 》的“共同作者”。因此,他認(rèn)為有權(quán)獲得電影利潤的一份。(1976年《版權(quán)法》沒有明確定義“作者”,但后來的判例法將制作人、導(dǎo)演甚至編輯歸結(jié)為“作者”。)
第九巡回法院的裁決也許沒有取悅?cè)魏稳?,它建立了一個(gè)三點(diǎn)測試,在沒有明確合同的情況下判斷某人是否符合作品的共同作者條件:
- 該人或?qū)嶓w對(duì)整體作品的控制程度;
- 所有各方意圖共同合作的某種表示——假定存在信任的某種實(shí)質(zhì)理由;以及
- 評(píng)估每個(gè)參與方對(duì)作品的貢獻(xiàn)量的公式缺失,否則將確定某人不是共同作者。
Asay教授表示,根據(jù)具體情況,聯(lián)合或單獨(dú)行事的開發(fā)者是否構(gòu)成開源軟件的共同作者,這是一個(gè)開放性問題。許可證不是合同,如果它避免聲明開發(fā)者不是共同作者,該問題仍有待確定。而且,如果開源許可的產(chǎn)品沒有銷售價(jià)格或產(chǎn)生收入,如何分配各方份額的問題可能無關(guān)緊要。
歸根結(jié)底,這個(gè)問題可能取決于誰從軟件存在中受益最多。解決這個(gè)難題可能需要一個(gè)現(xiàn)今最高法院不愿做出的決定:軟件市場所基于的平臺(tái)是否是軟件本身的一部分?換言之,生態(tài)系統(tǒng)是否會(huì)吸收并因此具現(xiàn)化賦予它生命的東西?
“中心化的共享服務(wù)”
“Terraform的建立基于它將保持開源的期望”,OpenTofu的Pawel Hytry解釋說?!斑@是前提:我們有社區(qū),我們共同建立這個(gè)項(xiàng)目。當(dāng)然,HashiCorp是推動(dòng)者,但你也有其他貢獻(xiàn)者。這意味著基于基礎(chǔ)設(shè)施即代碼構(gòu)建基礎(chǔ)設(shè)施部署的公司,是基于它將保持開源這個(gè)前提進(jìn)行運(yùn)作的。因此,他們滿懷信心地花費(fèi)多年時(shí)間根據(jù)這個(gè)框架開發(fā)基礎(chǔ)設(shè)施?!?/p>
Hytry的主要工作是擔(dān)任Spacelift的CEO,該公司為Terraform及Red Hat Ansible、Pulumi等設(shè)計(jì)了基礎(chǔ)設(shè)施即代碼策略代理和管理平臺(tái)。HashiCorp在以生產(chǎn)集群管理平臺(tái)Vagrant而知名的同時(shí),將Terraform放在了地圖上。但可以說,Spacelift和其他類似產(chǎn)品的出現(xiàn),使Terraform變得可見并獲得了合法性。
曾幾何時(shí),HashiCorp可能會(huì)提出同樣的論點(diǎn)。一年半前,就在本刊物上,HashiCorp被舉為建立“培育社區(qū)”的典范,正如撰稿人Emily Omier所說,與公司關(guān)系更交易性的群體形成對(duì)比。
現(xiàn)在,根據(jù)Hytry的說法,希望成為HashiCorp Terraform注冊(cè)表中包含配置模塊的官方提供商的組織,必須預(yù)先承諾生產(chǎn)僅面向Terraform的獨(dú)占模塊。這可能讓那些已經(jīng)認(rèn)為他們與HashiCorp的關(guān)系由Mozilla公共許可證定義的提供商感到驚訝。
“所以我們就建立了自己的開放注冊(cè)表”,Hytry繼續(xù)說,“這有點(diǎn)像貓捉老鼠的游戲...... 沒有大的云提供商會(huì)同意有人可以利用其provider、connector創(chuàng)造壟斷。”
OpenTofu基礎(chǔ)設(shè)施定義或“提供者”注冊(cè)表目前托管在GitHub上,盡管有消息表示GitHub是一個(gè)臨時(shí)主機(jī)。目前,它可能是轉(zhuǎn)型生態(tài)系統(tǒng)的臨時(shí)住所。
如果您不了解提供商周圍的情況,McJannet在10月10日的HashiConf主題演講中的措辭可能會(huì)被完全不同地解釋。在那里,他解釋了他繼續(xù)稱為“開源”在Terraform商業(yè)產(chǎn)品生命周期中的作用。在他身后,幻燈片將該生命周期分為三個(gè)階段,后兩個(gè)階段代表了生命周期的商業(yè)部分。
他解釋說,在最初簽署客戶時(shí),有大約6個(gè)月的時(shí)間,當(dāng)時(shí)他們正在努力尋找自己的道路,他們的平臺(tái)團(tuán)隊(duì)被混亂所壓倒,他們的安全模型懸而未決。“就是在那段時(shí)間里,”McJannet說,“我們的開源產(chǎn)品被使用 - 在許多情況下,可能比云原生產(chǎn)品更多,因?yàn)橐呀?jīng)實(shí)現(xiàn)的廣泛集成面積有助于標(biāo)準(zhǔn)化了一些核心概念?!?/p>
“然后不可避免地,某人必須控制它,”他繼續(xù)說,“一個(gè)核心團(tuán)隊(duì)被分配來給它帶來某種秩序。” 隨著秩序的到來,他繼續(xù)說,客戶合作變得更加合并、可管理和交易化。CEO將這個(gè)核心團(tuán)隊(duì)或平臺(tái)團(tuán)隊(duì)描述為公司采用Terraform的自然結(jié)果。
“這一直是我們的產(chǎn)品理念的基石,”McJannet宣稱,“為了說明清楚,我們的開源產(chǎn)品一直被設(shè)計(jì)為解決用戶的“1.0版本”問題,我們的商業(yè)產(chǎn)品 - 因?yàn)槿?000很久以前就要求我們這樣做 - 滿足了將這些作為公司的中心化共享服務(wù)進(jìn)行運(yùn)行的需求?!?/p>
這樣符合倫理嗎?
“當(dāng)我們談?wù)撻_源軟件時(shí),我看到不同的倫理系統(tǒng)發(fā)揮作用,”Red Hat的Richard Fontana對(duì)這個(gè)問題的回答是,“在一個(gè)層面上,如果你有權(quán)利將項(xiàng)目的許可從非常寬松的開源許可更改為不開源的東西 - 更具限制性的非開源許可,在某種程度上,你可以說這是基本的倫理。我們有一個(gè)法律系統(tǒng)促進(jìn)了某種行為,這在規(guī)則之內(nèi)?!?/p>
但是Fontana斷言,在開源背景下,這更復(fù)雜。
“當(dāng)一些有爭議的許可變更發(fā)生時(shí),我經(jīng)常聽到使用“誘導(dǎo)式切換”這一短語。我認(rèn)為這揭示了一個(gè)可能的倫理問題?!?/p>
Fontana看到一種趨勢(shì)正在出現(xiàn),這與McJannet的演示幻燈片非常兼容:初創(chuàng)公司聲稱非常寬松的開源許可 - 比GPLv3更寬松,更像MPL - 一直到他們成功建立開發(fā)社區(qū)為止?!叭绻婚_始你沒有使用開源許可,”他說,“你可能不會(huì)在圍繞項(xiàng)目建立社區(qū)方面取得如此成功...... 如果你使用的許可具有限制性,使其不成為開源?!?/p>
可能需要供應(yīng)商幾年時(shí)間來建立社區(qū)的好感和積極的期望。然后,通過一個(gè)完全合法的舉動(dòng),供應(yīng)商將許可證更改為非開源許可證?!拔艺J(rèn)為這里存在一個(gè)倫理問題,”Fontana說,“我認(rèn)為這是一個(gè)難題。問題的一部分是,你是否給社區(qū)足夠的通知?您是否給他們提供反饋的機(jī)會(huì) 對(duì)您看到的問題,這讓您想要做出這種許可更改?我確實(shí)認(rèn)為,花費(fèi)很長時(shí)間培育對(duì)項(xiàng)目開源的期望,然后切換到不同模式,這是個(gè)問題?!?/span>
可以斷言,McJannet提供了這樣的通知 - 例如,在他與Alex Williams的清晰訪談中。從訪談中推斷出的線索能否被解釋為“通知”?或者這樣的事情必須以書面形式,在法律信箋上?這是您期望法官解決的法律問題。我們準(zhǔn)備開始討論法官了嗎?
“我認(rèn)為開源社區(qū)在很大程度上依靠規(guī)范和信任運(yùn)作”,Clark Asay評(píng)論道,“并接受定義和理解。但一旦那種信任開始消失,你就需要一個(gè)仲裁者 - 某人或某事來定義游戲規(guī)則。以前,游戲是基于這些規(guī)范進(jìn)行的。如果那些規(guī)范消失了,那么你需要其他東西來取代它們。將取代它們的東西可能是版權(quán)法和專利法中的默認(rèn)值 - 其中一些將是相當(dāng)模糊的,因?yàn)檫@些年來開源沒有進(jìn)行過多的訟訴。法院介入這一領(lǐng)域,并處理所有這些事實(shí),有助于提供清晰的指導(dǎo)方針。這也可能會(huì)很快走樣?!?/p>
“人們想要開源,他們想擁有開源的自由,”O(jiān)penTofu的Hytry說,“他們不想依賴其他方面。個(gè)人、用戶、公司不喜歡依賴別人,特別是如果他們違背了自己的框架或他們建立的東西的初衷。因此,開源最終會(huì)勝利,無論公司有多大?!?/span>