在開源軟件領(lǐng)域爆發(fā)了一場(chǎng)激烈的辯論,這場(chǎng)辯論讓創(chuàng)業(yè)公司與云計(jì)算巨頭展開了激烈的競(jìng)爭(zhēng)。
最令人感到擔(dān)憂的是,軟件公司正在采用新的授權(quán)條款,以阻止它們認(rèn)為的來自云提供商的不公平競(jìng)爭(zhēng),尤其是來自亞馬遜網(wǎng)絡(luò)服務(wù)公司(Amazon Web Services Inc)的不公平競(jìng)爭(zhēng)。
開源開發(fā)者一直在努力開發(fā)基于免費(fèi)軟件的可持續(xù)商業(yè)模式,這是其中的最新進(jìn)展。開源已經(jīng)改變了軟件行業(yè),但卻只有少數(shù)幾家公司能持續(xù)盈利,比如紅帽公司(Red Hat Inc)。紅帽公司本身也有可能在最近宣布的交易中被IBM公司(IBM Corp)收購(gòu)。
Confluent Inc.上周宣布,對(duì)其產(chǎn)品線的部分產(chǎn)品進(jìn)行許可證變更,明確禁止云提供商將其軟件作為服務(wù)交付,這進(jìn)一步加劇了這場(chǎng)爭(zhēng)論。Confluent是Kafka流處理平臺(tái)的主要開發(fā)者。該公司此舉是為了回應(yīng)AWS上月宣布的將出售一項(xiàng)Kafka服務(wù)的消息。
Confluent的轉(zhuǎn)變是繼MongoDB Inc.和Redis Labs Inc.早些時(shí)候發(fā)布的針對(duì)云競(jìng)爭(zhēng)對(duì)手的新許可條款之后發(fā)布的。這些舉措在開源倡導(dǎo)者中引發(fā)了一場(chǎng)幾乎是宗教式的爭(zhēng)論,爭(zhēng)論的焦點(diǎn)是云計(jì)算公司是否應(yīng)該利用一些人所說的許可條款中的漏洞,從自由軟件中獲利。
期間,亞馬遜成了眾矢之的,因?yàn)檫@個(gè)云巨頭出售了許多基于開源代碼的服務(wù),但被認(rèn)為對(duì)開發(fā)它的社區(qū)項(xiàng)目貢獻(xiàn)甚微。
亞馬遜的策略是“我在軟件行業(yè)見過的最糟糕的行為,而這一切都是因?yàn)樵S可證的漏洞,”MariaDB公司的首席執(zhí)行官M(fèi)ichael Howard表示,該公司也在銷售基于開源基礎(chǔ)的軟件。Howard指責(zé)這家云巨頭是在利用一個(gè)免費(fèi)開發(fā)社區(qū)的開發(fā)人員的工作進(jìn)行“堂而皇之的挖礦”。
其他一些人,包括一些強(qiáng)大的開源支持者,則不同意這種說法,他們表示沒有漏洞,云公司也沒有違反任何許可條款。
MapR技術(shù)公司(MapR Technologies Inc.)的首席應(yīng)用程序架構(gòu)師Ted Dunning說:“當(dāng)你送禮物的時(shí)候,總會(huì)有風(fēng)險(xiǎn),別人可能會(huì)從中獲利一百萬美元。”MapR Technologies公司經(jīng)銷著開源和專有軟件。“不管你是覺得生氣或者認(rèn)為這真的很酷。”
亞馬遜方面表示,它完全遵守所有的許可條款。一位發(fā)言人表示:“如果一家公司希望獲得圍繞源代碼建立業(yè)務(wù)的專有權(quán),他們應(yīng)該將源代碼封閉并使其成為專有代碼。開源軟件應(yīng)該保持開放,不受許可證的限制,因?yàn)樵S可證會(huì)讓它更有負(fù)擔(dān)。”
Forrester Research公司副總裁兼首席分析師Jeffrey Hammond補(bǔ)充道,盡管亞馬遜歷史上并不是一個(gè)強(qiáng)大的開源貢獻(xiàn)者,但它的態(tài)度正在改變。他指的是亞馬遜Corretto,這是一組免費(fèi)發(fā)行的開放Java開發(fā)工具包和套件,可實(shí)現(xiàn)輕量級(jí)的虛擬化服務(wù),用于“無服務(wù)器”計(jì)算,該公司在上個(gè)月的re: Invent會(huì)議上首次推出這種服務(wù)。
Hammond說:“我聽到的針對(duì)亞馬遜的批評(píng)與我五年前聽到的針對(duì)微軟的批評(píng)沒有什么不同,看看微軟是如何演變的。我認(rèn)為亞馬遜沒有任何理由不慢慢開源以滿足公司自身的利益,這與公司批評(píng)他們最近的許可變化所做的事情并沒有什么不同。”
但是批評(píng)者說亞馬遜的力量如此強(qiáng)大,以至于它可以有效地阻止開源競(jìng)爭(zhēng)對(duì)手推出競(jìng)爭(zhēng)性的服務(wù)。他們說這對(duì)更廣泛的開源社區(qū)的影響可能是毀滅性的。MariaDB的Howard說:“開發(fā)者會(huì)說,‘我甚至不會(huì)在開源下進(jìn)行開發(fā),因?yàn)锳WS會(huì)把它從我手中奪走。’”
關(guān)于衍生品的辯論
有爭(zhēng)議的是,大多數(shù)開源許可證都有一個(gè)共同的條款來管理“衍生作品”,或者修改于開源代碼的軟件。如果開發(fā)人員銷售或共享派生軟件,許可證通常要求將這些修改也貢獻(xiàn)給社區(qū)。
但是,對(duì)于不打算公開發(fā)布的修改,存在一個(gè)例外。從本質(zhì)上講,只要軟件保留在你的計(jì)算機(jī)上,你就不必共享所做的任何更改。
云計(jì)算公司在技術(shù)上可以不發(fā)布代碼。他們的作品被當(dāng)作服務(wù)來消費(fèi),代碼永遠(yuǎn)不會(huì)轉(zhuǎn)手。這使的他們不必向社區(qū)共享更改,從而使他們能夠有效地從其他人的工作中獲得專有優(yōu)勢(shì)。例如,Amazon的Aurora MySQL基于GNU公共許可證所涵蓋的開源MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)。
人們一直在努力解決這種不平衡,最引人注目的是Affero General Public License,它是廣泛使用的GNU GPL的變體,要求提供軟件作為服務(wù)的組織為用戶提供下載修改過的源代碼的選項(xiàng)。
但是AGPL和其他類似的許可證在開源世界中并不流行。AGPL是“迫使更多軟件開源的一種方式”,Dunning說,他目前是Apache基金會(huì)的董事會(huì)成員,該基金會(huì)負(fù)責(zé)管理流行的Apache 2許可證。
“但那不是Apache的議程,”他說,并指出他的觀點(diǎn)僅是他自己的,不代表Apache基金會(huì)。“他們的議程是提高軟件的可共享性。”
這種區(qū)別似乎很微妙,但它表明了開源倡導(dǎo)者在努力平衡對(duì)自由軟件的承諾與軟件公司及其投資者日益增長(zhǎng)的賺錢動(dòng)力之間所游走的鋼索。
一方面,在開源產(chǎn)品之上建立業(yè)務(wù)可以產(chǎn)生收入,這些收入可以回流到進(jìn)一步的開發(fā)中。Confluent聯(lián)合創(chuàng)始人兼首席執(zhí)行官Jay Kreps在一篇博客文章中宣布了許可證變更的消息。
他寫道:“很多人在深夜純粹出于激情而進(jìn)行小額捐款,而現(xiàn)在他們可以獲得全職工作的報(bào)酬了”。在籌集8000多萬美元來實(shí)現(xiàn)建立一家盈利公司的目標(biāo)時(shí),他補(bǔ)充道,“Confluent不僅可以資助代碼貢獻(xiàn)者,還可以資助規(guī)模可觀的云計(jì)算項(xiàng)目,以運(yùn)行大規(guī)模分布式系統(tǒng)的嚴(yán)格測(cè)試,這種測(cè)試是保持代碼基礎(chǔ)穩(wěn)定所必需的,同時(shí)還可以擴(kuò)大不斷增長(zhǎng)的社區(qū)的貢獻(xiàn)。”
改變規(guī)則
在這場(chǎng)辯論中,幾乎沒有人質(zhì)疑開源企業(yè)賺錢的權(quán)利。問題是,改變?cè)S可證條款是否是解決問題的方法。
參與當(dāng)前這場(chǎng)辯論的三家公司對(duì)這一過程的看法各不相同。
Redis Labs將其部分代碼移至“公共條款”許可,該許可禁止第三方收取費(fèi)用或提供從其軟件中獲取大量?jī)r(jià)值的服務(wù)。Confluent采用了一種社區(qū)許可,禁止以一種“與提供軟件的Confluent產(chǎn)品或服務(wù)競(jìng)爭(zhēng)”的方式交付Kafka。MongoDB選擇了服務(wù)器端公共許可,這要求任何將其軟件作為服務(wù)提供的人都要將其修改過的以及支持代碼作為開源代碼來提供。
兩年前,MariaDB采取了另一種策略,它創(chuàng)建了商業(yè)源代碼許可證(Business Source License),該許可證允許開發(fā)人員在將他們的創(chuàng)作成果發(fā)布到開源平臺(tái)之前,最多有三年時(shí)間可以從他們的創(chuàng)作中獲利。Howard說:“BSL并不是封閉的,因?yàn)槊恳粋€(gè)BSL產(chǎn)品都回歸開源。它延緩了影響。”
一些人對(duì)新許可選項(xiàng)的激增感到擔(dān)憂,他們說,這一趨勢(shì)肯定會(huì)讓過去30年來就幾種基本許可模式達(dá)成共識(shí)的市場(chǎng)感到困惑。
Red Hat Inc.高級(jí)商業(yè)法律顧問Richard Fontana表示:“我擔(dān)心任何會(huì)模糊社區(qū)所定義的開源領(lǐng)域界限的東西。雖然我對(duì)云提供商的所作所為有些擔(dān)心,但我更擔(dān)心的是Redis, Confluent 以及 MongoDB的反應(yīng)。”
Fontana表示,他特別關(guān)注使用開源術(shù)語來定義真正專有許可證的合同語言。例如,“公共”是一個(gè)術(shù)語,意味著所有人都可以使用的資源,例如空氣和水。
但他表示,Redis所謂的“公共條款”并不是我們理解中的“公共”。它旨在通過在標(biāo)準(zhǔn)開源許可證上附加限制來控制軟件。我擔(dān)心這會(huì)讓開發(fā)人員感到困惑。
但也有人說,授權(quán)條款必須隨著時(shí)代的變化而改變,這個(gè)過程必然是混亂的。Cloud Foundry Foundation的執(zhí)行董事Abby Kearns說:“公司將采取他們可以采取的任何角度來建立業(yè)務(wù)。為了在此基礎(chǔ)上建立一個(gè)可行的業(yè)務(wù),你有權(quán)改變授權(quán)。”
位于柏林的開源工作流自動(dòng)化軟件開發(fā)公司Camunda Services GmbH的聯(lián)合創(chuàng)始人兼首席執(zhí)行官Jakob Freund對(duì)此表示贊同。他說:“確保承擔(dān)開源項(xiàng)目最大份額的公司不會(huì)被少數(shù)壟斷者擠出市場(chǎng),符合開發(fā)者社區(qū)的利益。我不確定我們目前看到的每一項(xiàng)措施是否都是實(shí)現(xiàn)這一目標(biāo)的最佳途徑,但整個(gè)行業(yè)可能需要反復(fù)試驗(yàn)和犯錯(cuò),才能搞清楚這一切。”
追求利潤(rùn)
問題的關(guān)鍵在于,企業(yè)家們一直在努力建立基于免費(fèi)資產(chǎn)的可行企業(yè)。在已經(jīng)嘗試過的許多商業(yè)模式中,最成功的是贈(zèng)送功能性產(chǎn)品,而銷售面向商業(yè)的專有擴(kuò)展,這些擴(kuò)展將提供團(tuán)隊(duì)協(xié)作、工作流程和變更管理等功能,這是Redis、MongoDB和Convernte的共同策略。
但這也是一種微妙的平衡行為。訣竅是使軟件功能足夠強(qiáng)大,以創(chuàng)建口碑意識(shí),從而推動(dòng)廣泛采用,并最終引起CIO的注意。
與此同時(shí),開發(fā)人員仍然需要留出足夠的空間來增加附加價(jià)值,以吸引公司高管能夠?yàn)榇碎_支票。Dremio首席營(yíng)銷官Kelly Stirman稱:"這是一種微妙的平衡,,因?yàn)槿绻_源產(chǎn)品癱瘓了,那么人們就不會(huì)想使用它。”
另一種日益流行的方法是銷售托管服務(wù),以減輕客戶安裝和管理復(fù)雜軟件的麻煩。但這一策略對(duì)開源創(chuàng)業(yè)公司構(gòu)成了挑戰(zhàn),因?yàn)檫@對(duì)于主要的云提供商來說幾乎沒有進(jìn)入門檻。“開源采購(gòu)是建立熱情的好方法,但如果有人開始大規(guī)模運(yùn)營(yíng),你就沒有什么辦法了,”Cloud Foundry Foundation的Kearns表示。
Confluent和Mongo之所以被亞馬遜逼入困境,是因?yàn)?ldquo;他們提供的云服務(wù)與AWS提供的云服務(wù)相比,并沒有足夠的明顯區(qū)別,”Stirman說。其結(jié)果是,“他們與AWS處于‘亦敵亦友’的關(guān)系,他們?cè)趤嗰R遜的平臺(tái)上部署,又同時(shí)進(jìn)行競(jìng)爭(zhēng),”他說。“我真的很同情他們,因?yàn)樵谠品?wù)上很難與亞馬遜競(jìng)爭(zhēng)。”
這些公司明白開發(fā)人員可能會(huì)感到擔(dān)心。Confluent聯(lián)合創(chuàng)始人兼首席技術(shù)長(zhǎng)Neha Narkhede周四在另一篇公司博客文章中試圖讓他們放心,Confluent產(chǎn)品的大部分用途將不會(huì)受到影響。
“我們盡可能狹義地定義被我們排除的目標(biāo),以實(shí)現(xiàn)我們的目的,”她說。“如果該領(lǐng)域出現(xiàn)了一個(gè)標(biāo)準(zhǔn)解決方案,我們?cè)敢饪紤]這一點(diǎn)。”
Kearns的組織基于另一個(gè)已經(jīng)取得一定成功的模式。CFF和Linux基金會(huì)等非營(yíng)利組織策劃了一個(gè)品牌代碼庫(kù),社區(qū)成員可以根據(jù)開源許可條款使用這個(gè)代碼庫(kù),只要他們不引入變化,這個(gè)過程被稱為“forking”。
基金會(huì)成員可以獲得認(rèn)證,證明他們的發(fā)行符合標(biāo)準(zhǔn),這創(chuàng)造了一個(gè)公平的競(jìng)爭(zhēng)環(huán)境。該基金會(huì)還鼓勵(lì)所有成員做出自己的貢獻(xiàn)。“每個(gè)人都喜歡開源,但不是每個(gè)人都想要回報(bào),”Kearns說。然而,大多數(shù)開源項(xiàng)目都不足以支持一個(gè)基金會(huì)。
改變?cè)S可條款不是一個(gè)無風(fēng)險(xiǎn)的提議。Dunning說,緊縮限制可能嚇跑那些擔(dān)心違反合同條款的用戶。他回憶起幾年前自己的經(jīng)歷,當(dāng)時(shí)他對(duì)自己編寫的一些軟件實(shí)施了“非商業(yè)性使用免費(fèi)”許可。“如果有人要借此發(fā)財(cái),我也想分一杯羹,”他說。“然而人們并沒有使用我的軟件。”
目前還不清楚最新的進(jìn)展是否會(huì)讓商業(yè)開源的前景變得更加清晰,還是會(huì)讓事情變得更加復(fù)雜。但有一件事是肯定的:要定義一種能夠證明投資者涌入股市的數(shù)十億美元是合理的商業(yè)模式,可能還需要多年的努力。