開源軟件在它的頂峰遇到了一場存亡危機。
毫無疑問,開源軟件的概念給企業(yè)軟件的世界帶來了革命,后者花費了幾十億與開源的概念斗爭了多年后,才不得不接受了新的未來。但越來越多的人開始擔(dān)心,開源軟件允許任何人干任何事的本質(zhì)可能會在分布式云計算的時代給開發(fā)者帶來巨大問題。
上次我們也討論了這個問題并發(fā)現(xiàn),業(yè)界有兩家重要的開源軟件公司(Redis 和 MongoDB)決定改變它們的部分軟件發(fā)布時采用的授權(quán)。此舉表明它們試圖讓云計算提供商在它們的軟件基礎(chǔ)上提供服務(wù)變得更困難,甚至不可能。
兩家公司當然不能撼動整個世界。但隨著當前許多云計算公司已經(jīng)安排好了 2019 年的計劃,開源項目和云計算服務(wù)之間的交集開始成為許多人擔(dān)心的問題。
Cloud Foundry Foundation 的執(zhí)行主管 Abby Kearns 在 2017 GeekWire Cloud Tech Summit 上演講
Cloud Foundry Foundation 的開源執(zhí)行主管 Abby Kearns 說:“我認為,開源軟件在建立商業(yè)機會的過程中扮演的角色已經(jīng)變了。這種擔(dān)憂只會越來越多。”
改變是為了保護
“直白地說,這些年來我們都很傻,讓他們白白使用我們開發(fā)的東西并賺了很多錢。”
Redis Lab 的 CEO Ofer Bengal 并沒有拐彎抹角。作為著名的開源內(nèi)存數(shù)據(jù)庫的開發(fā)商,他的公司已經(jīng)存在了八年之久,這在現(xiàn)代企業(yè)軟件的飛速變革的世界中算是非常長壽了。
云計算在 2011 年剛剛起步,但直到現(xiàn)在,它仍然是許多無法負擔(dān)幾百萬服務(wù)器費用的早期創(chuàng)業(yè)者在嘗試新想法時的首選。絕大多數(shù)成熟的公司依然使用傳統(tǒng)方式構(gòu)建自己的基礎(chǔ)設(shè)施,但越來越多的公司開始意識到,開源軟件能讓他們用比傳統(tǒng)企業(yè)軟件公司的私有軟件更靈活、成本更低的方式構(gòu)建基礎(chǔ)設(shè)施。
Ofer Bengal,Redis Lab 的創(chuàng)始人和 CEO
Redis 在這一時期變得非常流行,主要的大公司如美國運通、家得寶、夢工廠等都在 Redis 數(shù)據(jù)庫的基礎(chǔ)上建立了他們的技術(shù)基礎(chǔ)設(shè)施。Redis Lab 提供的產(chǎn)品 Redis Enterprise 能將該數(shù)據(jù)庫在公有云上作為服務(wù)提供,或者為在自有基礎(chǔ)設(shè)施上運行該數(shù)據(jù)庫的公司提供技術(shù)支持。而且他們依然在不斷為 Redis 開源項目做出貢獻。
AWS 經(jīng)常聲稱它的主要目標是客戶,但從這個目標中也能看出,為了給客戶提供相似的服務(wù),哪些技術(shù)和服務(wù)開始受到關(guān)注。它于 2013 年啟動了一項云服務(wù),該服務(wù)基于開源的 Redis,由 AWS 管理。
Bengal 說,從那時起,AWS 通過為客戶提供 Redis 賺取了“幾億美元”,但并沒有像開源社區(qū)做出相當數(shù)量的貢獻幫助構(gòu)建并維護該項目。很難得知 AWS 究竟賺了多少錢,但顯然 AWS 和其他云服務(wù)提供商都從開源開發(fā)者的勞動成果中獲得了好處。
Bengal 說:“Redis 的 99% 的貢獻都來自 Redis Labs。”Puppet 的創(chuàng)始人 Luke Kanies 在今年早些時候的一篇報道中說過,開源軟件界的傳說一直是“項目由社區(qū)中的貢獻者驅(qū)動”,但實際上,絕大多數(shù)現(xiàn)代開源項目中的絕大部分代碼都是由領(lǐng)工資的開發(fā)者貢獻的。
而這些人的工資得有人提供。很長一段時間,Redis 就是成功的開源商業(yè)模型的典范,在維持最基礎(chǔ)的項目的同時,在其上開發(fā)自己的軟件并提供訪問。但隨著越來越多的公司開始使用云計算并且將自己現(xiàn)有的應(yīng)用程序和基礎(chǔ)設(shè)施轉(zhuǎn)移到 AWS 等云服務(wù)提供商上,更現(xiàn)實的做法是與 EC2、S3 等其他 AWS 服務(wù)一起,使用 AWS 的 Redis 服務(wù),而不是使用 Redis 通過 AWS 市場提供的 Redis 服務(wù)。
Bengal 說:“不僅是我們,幾乎任何成功的開源項目都會遇到這個問題。”盡管由于巨大的市場影響力,人們在談到這些問題時總會提到 AWS,但它絕不是唯一一家將這種開源項目作為服務(wù)提供的。
所以在八月,Redis 決定(https://redislabs.com/community/licenses/)將他們在 Redis 的基礎(chǔ)上建立的數(shù)據(jù)庫擴展(但不包括 Redis 本身)的授權(quán)改成 Commons Clause 授權(quán),這個授權(quán)表明其他公司不能將這些擴展作為云服務(wù)提供。
“我們保留決定每個軟件采用寬容的開源授權(quán)或 Commons Clause 授權(quán)的自由。”Bengal 說。“基本上,這是個商業(yè)決定。”
然后在十月,另一個注明的開源軟件數(shù)據(jù)庫做出了類似的決定。MongoDB 宣布(https://www.mongodb.com/press/mongodb-issues-new-server-side-public-license-for-mongodb-community-server),以后會對MongoDB Community Server 軟件采取不同的授權(quán),名為SSPL(https://www.mongodb.com/licensing/server-side-public-license),該授權(quán)允許云服務(wù)商將 MongoDB 作為服務(wù)提供,但要求他們開源所有創(chuàng)建該服務(wù)時編寫的源代碼,否則就必須與 MongoDB 達成商業(yè)協(xié)議。
“每當新的開源項目變得流行后,云服務(wù)商就會竊取技術(shù),將自由軟件放在他們的平臺上,攫取絕大部分軟件的利益,但很少回饋社區(qū)。”MongoDB 的 CEO Dev Ittycheria 說。MongoDB 目前在納斯達克上的市值為 43 億美元。“我們認為,由我們這樣的公司來引領(lǐng)并幫助下一代開源公司和開源項目的生存和成長是非常重要的。”
兩家數(shù)據(jù)庫公司引導(dǎo)這次變革絕不是偶然。數(shù)據(jù)庫是極其復(fù)雜困難的項目,而且是任何大規(guī)模的企業(yè)級公司最重要的組成部分。
Ittycheria 估計,多年來 MongoDB 在研發(fā)上花費了超過 1 億 5 千萬美元,才得以建立并維護 MongoDB 的開源版本。在上一個財政年度, MongoDB 從它的商業(yè)軟件和支持的服務(wù)中獲取了 1 億 5450 萬美元的收入。
“我們的觀點是,開源軟件從來不應(yīng)該讓云服務(wù)公司拿去賣。”在 Redis 宣布了它的決定后,Bain Capital Ventures 的管理總監(jiān) Salil Deshpande 在一篇 Techcrunch 上的文章中說。Deshpande 是 Redis Labs 的投資人之一,他幫助開源軟件公司撰寫了我們?nèi)路菘吹降?Commons Clause 授權(quán)。
隨著開源軟件成為企業(yè)軟件世界中的重要組成部分,它的方向和許多方面不可避免地會受到商業(yè)意向的影響。現(xiàn)在的問題是,成為開源軟件的意義是什么?那些利用別人開發(fā)的開源項目來提供服務(wù)并從中獲利的公司,他們欠開源項目的建立者和維護者什么?
開放和封閉
在考慮第一個問題時,重要的是要考慮到 Redis 的 Commons Clause 授權(quán)顯然不是一份開源授權(quán),這一點所有人都同意。Redis 在廣為人知的 BSD 授權(quán)下依然是個開源軟件,但 Redis 公司為它在 Redis 項目基礎(chǔ)上開發(fā)的擴展應(yīng)用了 Commons Clause 授權(quán)。
MongoDB 的情況有點不一樣。因為 SSPL 授權(quán)要求云服務(wù)商在將開源項目做成服務(wù)時,提供更多的開源軟件作為匯報,因此 MongoDB 公司認為,這一點不違背開源軟件的精神。
“每個人都希望有更多的開源軟件,但總要有人為之提供資助。而為了保證資金,就必須保證在商業(yè)上有存在的價值。”Ittycheria 說。
位于西雅圖的 Chef(https://www.chef.io/)的聯(lián)合創(chuàng)始人兼 CTO Adam Jacob 維護著幾個開源項目,這些項目的目的是讓基礎(chǔ)設(shè)施和應(yīng)用程序的管理更容易。Adam 很懷疑這是否是開源軟件項目、開源開發(fā)者和開源公司的正確發(fā)展方向。
“我不覺得這是在社區(qū)的基礎(chǔ)上做出的決定,當然這次事件跟歷史上的開源軟件和免費軟件的誕生也不一樣。”Jacob 說。“我不覺得應(yīng)該出現(xiàn)像‘我們的業(yè)務(wù)需要商業(yè)的保駕護航’這種三條腿的決定。”
Chef 的聯(lián)合創(chuàng)始人兼 CTO Adam Jacob
Jacob 說,畢竟,當開源項目開始賺錢時,Redis 和 MondoDB 等公司很樂意看到開源社區(qū)的友好、開放的氛圍,從而能將他們的作品廣泛傳播到全世界。
“更有意思的是,從開源商業(yè)模型的角度來看,他們所作所為中開源的部分一直都是他們商業(yè)模型中的一部分。更重要的是開發(fā)者能觸及的深度。”Jacob 說,他們的主要目的是建立一個“漏斗策略”,利用免費版本吸引用戶,然后銷售商業(yè)版本。
但對于許多小公司,參與開源社區(qū)并維護項目是與成熟的公司競爭的唯一辦法。對于年輕的企業(yè)軟件公司來說,最難的事情之一就是說服其他公司為你的產(chǎn)品付費。
“開源軟件提供了許多機會,特別是為創(chuàng)業(yè)公司。”Kearns 說。但在某一點上,早期的戰(zhàn)略決策可能會成為沉重的負擔(dān);另一個很難的事情就是說服習(xí)慣了免費的人為之付費。
地平線上的云
這一點可能是最重要的:開發(fā)者作為個人愛好而開發(fā)開源軟件的時代早已終結(jié),而云服務(wù)商能通過開源軟件攫取收益而不用付出任何貢獻的今天,通過社區(qū)的方式來開發(fā)任何人皆可使用的軟件,是否還有存在的價值?
Jacob 認為有。
“我相信我們的錯誤在于,我們實際上不再信任公眾,不再信任自由軟件的價值是構(gòu)建更好的社區(qū)必須的,因為我們在一開始就認為,商業(yè)和社區(qū)是截然分開的。”他說。
Redis 和 MongoDB 認為,他們并沒有將開源社區(qū)棄之不顧。他們認為,他們別無選擇,必須找到新的途徑從財務(wù)方面支持他們的開發(fā)者,這些開發(fā)者對于社區(qū)的健康發(fā)展十分重要,盡管部分工作依然屬于私有財產(chǎn),或者是有條件的開放。
最大的三家云服務(wù)商對于該問題依然保持沉默,拒絕讓高管們討論這次開源授權(quán)的變動。Google 從早期就在布道開源軟件的價值,而微軟和 AWS 在新世界中采取了不同的途徑。
當了多年的開源頭號公敵之后,微軟開始擁抱開源軟件,開始雇傭擁有雄厚的開源經(jīng)驗的開發(fā)者,并對一些社區(qū)做出了至關(guān)重要的回饋。AWS 在與開源社區(qū)合作的方面比較緩慢,但在過去幾年里也在逐漸改變其基調(diào),招募了許多開源開發(fā)者(如 James Gosling 和 Adrian Cockcroft)來改變他們對于開源貢獻的看法。
如果更多的公司切換到這種更激進的授權(quán),就會強迫云服務(wù)商改變產(chǎn)品開發(fā)戰(zhàn)略,因為他們必須評價哪些服務(wù)更值得進入商用,哪些不值得。但是現(xiàn)在,還有許多創(chuàng)業(yè)公司和項目依然在使用傳統(tǒng)的開源授權(quán),意味著云服務(wù)商們還在觀望市場對于 Redis 和 MongoDB 的反應(yīng)。
但現(xiàn)代企業(yè)在競爭激勵的二十一世紀中構(gòu)建并管理技術(shù)的一切前提都已經(jīng)被云計算改變了。因此不難想象,云計算也可能會改變開源軟件開發(fā)背后的前提。
-
開源軟件
+關(guān)注
關(guān)注
0文章
210瀏覽量
15938 -
云計算
+關(guān)注
關(guān)注
39文章
7848瀏覽量
137645 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3842瀏覽量
64561
原文標題:開源面臨生死存亡之際!
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論