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