全文共3740字,預計學習時長10分鐘
Mapbox GL JS新版將成為專利的消息使我震撼。我並非狂熱分子,我不覺得自己有權利擁有別人的智慧財產權,即使他們以前把自己的想法拱手相讓。我知道,創建和維護開源軟體令人感到多麼疲憊、吃力不討好和被剝削。
直到這個消息出現之前,我還對開源軟體企業抱有幾分樂觀的態度。我給自己和別人講過了無數次Mapbox的故事。這是一個充滿誘惑力的故事,講述了軟體企業「開源內核」商業模式這一不可思議、反直覺的概念。
我這樣定義開源內核戰略:「開源內核」企業為其軟體提供免費的開放源碼,並提供帶有額外專有功能的付費版本,而要複製這些功能是很麻煩的。
整個想法都是瘋狂的。當人們第一次了解它時,沒有人相信它可能會成功,然而像Elastic、D2iQ(以前的Mesosphere)、 MongoDB 和 Cloudera這樣的幾十家公司,都通過推行這種瘋狂的、逆心理學的、完全放鬆的策略,成功達到了數十億美元的估值。或者說,至少他們在某些時候是開源內核企業......又或者今天就不是這樣了。
今天,我們在網際網路為開源內核商業模式的死亡而哀悼。我們在這裡講述以前的故事,回憶我們以為自己有多聰明。我們違背了共識,但我們錯了。因為,開源內核已經死了,雲扼殺了開源內核。
回到Mapbox
在Mapbox GL JS的案例中,Mapbox之前已經決定公開授權他們基於瀏覽器的地圖渲染器的前兩個版本(也就是為Snap地圖、紐約時報和CNN等無數網站提供動力的那個版本)。自從2014年首次發布以來,它廣受網絡開發者的喜愛。一旦知道你要什麼,你就會開始發現它無處不在。
當我在Azavea的團隊開始構建GroundWork(標註衛星圖像的工具)時,我親身體驗了Mapbox GL JS的強大功能。使用該庫的功能,GroundWork支持自由繪製複雜的幾何圖形。由此繪製成地圖中的形狀,投射到地球上的真實位置,而不再只是懸浮在虛構的二維空間中。這是一種感覺明顯而直接的功能,但實際上從零開始設計是極其困難的。
即使是用自由手繪技術繪製的看似簡單的形狀,也可能包含數千個獨立的頂點。在屏幕上填滿了成千上萬個頂點的形狀……啊,「poop-and-a-half 」,瀏覽器崩潰了。
Mapbox GL JS通過從機器上的顯卡中召喚幫助來規避這個問題。如果沒有Mapbox數以萬計的低級工程工作的支持,我們不可能在預算內和規定時間內打造出這個功能。
Mapbox決定發布全新版本的Mapbox GL JS,並使之成為專利,這讓我感到震驚。v1早已成為廣泛流行的開源庫,Mapbox作為多產的開源軟體創造者的聲譽是其整體身份的基石。如果不用「開源」來描述Mapbox的特別之處,就像試圖向外星人描述巧克力牛奶而不使用「液體」這個詞一樣。
Mapbox至今仍有800多個開源項目,並且在Github公共存儲庫的活躍度一直名列全球前40名。他們請了一些世界上知名度最高的開源軟體貢獻者,而不僅限於地圖行業。這到底是怎麼回事?
開源內核商業模式不再可行
Mapbox選擇保留v2的Mapbox GL JS專利是一個強烈的信號。但這個信號到底表明了什麼還不太清楚。儘管如此,我還是要追究下去。
我認為這意味著我們已經到了一個時代的盡頭,這預示著「開源內核」作為一種可行的商業模式的死亡。我的懷疑並不是從Mapbox開始的,但已經在它們身上結束了。
像Mapbox這樣的公司發布專利,更新成為最受歡迎的開源庫之一,要知道它們是如何做決定的,我認為要從研究Mongo DB和RedisLabs這兩個類似的警示故事開始。
Ben Thompson在近兩年前的文章AWS、MongoDB和開源的經濟現實中做了很好的總結:如果你免費贈送秘籍,並且該秘籍足夠普及,雲提供商將會使用你的代碼開發具有競爭力的服務以對付你。他們會無情、無恥並且毫不掩飾地用你自己編的「橡膠雞」來打擊你。他們會在你的前院上大號,而你的律師會站在你身後說「無能為力」。
自從Ben寫了AWS,推出直接與MongoDB和Redis的付費產品競爭的服務後,AWS並沒有完全碾壓競爭對手。事實上,MongoDB的股價從那時起已經上漲了超過275%,而Redis幾個月前剛剛融資1億美元,正式跨過了10億美元的神奇估值門檻。
更重要的不在於Mongo和Redis在AWS的打擊中茁壯成長,而在於他們如何做到的。它們都以公司一貫的反擊方式進行了反擊:聘請一支智慧財產權律師隊伍。Redis採取了一種策略,在他們現有的開源工具的更新版本中加入了嚴格限制性的 「公用條款」,這讓一些著名的開源評論員覺得他們把嬰兒和洗澡水一起倒掉了。
Redis後來轉而採用了一種完全新穎的獨特許可證,不至於比公用條款更差,但也沒有好多少。在AWS推出其競爭性的「DocumentDB」服務後不久,MongoDB也採取了「毒丸」的法律策略,將軟體轉向了一個新的、同樣編造的許可證「伺服器端公共許可證(SSPL)」。這些舉措都是為了讓公共雲提供商更難搞垮他們。
或者更準確地說,讓他們的開源產品對任何大到足以有一個叫「合規」的部門的公司來說具有影響力。
這些變化使得Redis和Mongo從根本上減少了開放性。此後,這兩家公司做得相當不錯,儘管可能犧牲了他們最初的想法和早期採用者的一些善意。開源社區的福音傳道者和貢獻者們認為,他們被賣給了一個謊言,並被當作這個過程中的墊腳石。
我傾向於同意他們的觀點,儘管我並不責怪Redis和Mongo都是理性的經濟行為者。
重返Mapbox
至少有一家雲服務商公開將Mapbox代碼複製並粘貼到他們收費的服務中,如Azure、Microsoft的雲服務。去年,Azure宣布了由Mapbox GL JS支持的地圖樣式,並且仍然是他們的「Azure Maps」服務的關鍵功能。Mapbox甚至在他們公司的博客上為此寫了一個公告。
雖然Mapbox把Azure的公告說成是一件好事,但我懷疑這是Mapbox GL JS繼續開源的開始。畢竟在公共雲計算這個競爭無比激烈的行業裡,一旦有雲提供商開始提供服務,其他的雲提供商肯定很快就會跟進。Mapbox發現自己的處境與Mongo和Redis類似:為少數幾家萬億美元的科技巨頭提供研發補貼。
與Mongo和Redis不同的是,Mapbox抵制了想吃蛋糕的衝動。他們沒有改變他們產品中「開放」部分的基本許可,而是做了一個徹底的突破。舊版本仍然是一個成熟且非常有用的庫,將保留其原始的、允許的許可證。目前已經在努力尋找出路,並召集社區成員無限期地維護它,希望他們能成功。
新版本將繼續公開(代碼都發布在Github上),只是不再允許授權了。對我來說,這是一個更誠實的方法,而不是試圖用一個創造性的、完全未經證實的許可或一些「明白了」條款來吸引人們。
有些人可能會覺得這是一個悲劇,這意味著社區貢獻可能會下降。的確,儘管有一長串的貢獻者名單,現任和前任Mapbox員工做了庫中大部分的貢獻。但這個項目曾吸引了大量全球工程師,他們用它來構建東西,在上面做技術講座,並無數次地分叉/整合。
至於這個選擇是否偏離了Mapbox的使命或文化,我想,自公司成立以來一直在公司工作的現任員工的這條推文大概可以概括這個問題。
銘記美好時光
曾幾何時,我真的以為可以成功洩露商業秘密。我認為網際網路的規模使一種新的公司類型得以誕生,這種公司可以成為巨大的公司,儘管它們所創造的價值微不足道。我相信圍繞開源軟體建立公司的行為是好的,也是道德的。我認為這本身就是一種目的。
如今,我不太確定了。
我仍然相信開源軟體是世界上一股強大的向善的力量。我仍然認為,公司可以從戰略上認真地對開源軟體做出貢獻,不僅為自己的使命服務,也為集體的利益服務。
但是,我不再相信風險投資支持的公司,它們不會負責任地奉行放棄其價值主張核心的軟體的戰略。我認為,對於那些雄心勃勃想做大的公司,或者那些積極避免諮詢工作的公司來說,這不再是一種可行的模式。
最終,如果他們成功了,他們將被迫做出選擇,背叛忠誠的早期用戶,還是被「橡皮雞」長期打壓以至緩慢死亡?
我想起了我最喜歡的一首Joe Pug的歌:
「那時候偷東西很容易
我希望現在也是這樣
現在,當我摸自己的口袋
我知道那些日子
我不太確定」
留言點讚關注
我們一起分享AI學習與發展的乾貨
如轉載,請後臺留言,遵守轉載規範