雲端計算正在“抹殺”開源?

CSDN資訊發表於2020-12-31

【編者按】開源之初,無數開發者滿懷熱情,無償分享自己的程式碼,希望為世界貢獻自己的一份力量。然而當開源加入商業模式,開發者們慢慢意識到,事情不太對勁。開原始碼帶來的豐厚回報富了別人的腰包,自己卻連句謝謝都沒撈著。於是有人提出疑惑:我是否還要繼續當雷鋒?

英文:Death of an Open Source Business Model

參考連結:https://joemorrison.medium.com/death-of-an-open-source-business-model-62bc227a7e9b

作者:Joe Morrison

編譯 | 彎月  責編 | 張文

出品 | CSDN(ID:CSDNnews)

兩年前,資料庫製造商 Redis Labs 將公司開發的 Redis 模組從 AGPL 遷移到將 Apache v2.0 與 Commons Clause 相結合的許可證,並對銷售許可證涵蓋軟體做出限制。RedisLabs 的聯合創始人兼技術長 Yiftach Shoolman 表示:“多年來,雲提供商通過銷售基於開源專案的雲服務,可從中獲利數億美元,可這些專案實際上並不是他們自己開發的,比如 Docker、Elasticsearch、Hadoop、Redis 和 Spark 等。這阻礙了社群投資開發開原始碼,因為任何潛在的好處都歸雲提供商而不是程式碼開發人員或他們的贊助商。”

不久以後,MongoDB 也宣佈:其開源許可證從 GNU AGPLv3 切換到 Server Side Public License (SSPL)。新協議要求以 MongoDB 為基礎提供商業化的雲端計算服務也必須開源其程式程式碼

關於修改開源協議的風波可謂一波未平一波又起。近日,有關新版 Mapbox GL JS 專有化的訊息震驚了很多人(官方 2.0.0 的更新日誌表示:“mapbox-gl-js is no longer under the 3-Clause BSD license.”)。

Mapbox 是為 Foursquare、Pinterest、Evernote、《金融時報》、天氣頻道、優步科技等公司的網站提供訂製線上地圖的大型供應商。Mapbox GL JS 自 2014 年首次釋出以來,廣泛受到了 Web 開發人員的歡迎。如今,Mapbox 仍然擁有 800 多個開源專案,就程式碼庫的活躍狀態而言,在 Github 上名列前 40 名。

雖然,這些公司修改開源協議的原因眾多,但其中的一個共同點便是:雲端計算

 

RedisLabs 和 Mongo DB 的經歷

 

為何 Mapbox 會做出這樣的決定?首先我們來了解一下 Mongo DB 和 Redis Labs 這兩家公司的經歷。

大約兩年前,Ben Thompson 撰寫了一篇精彩的文章《AWS, MongoDB, andthe Economic Realities of Open Source》(https://stratechery.com/2019/aws-mongodb-and-the-economic-realities-of-open-source/)。文章的內容可以大致總結為:每當一款開源軟體流行起來,雲提供商就會利用這些開原始碼構建出同等的服務,然而,這些雲提供商在獲利之後不會對開源社群做出任何回饋,甚至連句謝謝都沒有。更糟糕的是,面對這種情況,開源軟體根本沒有還手之力。

為了維護自身的利益和發展,Redis Labs 和 MongoDB 相繼修改了開源協議。雖然兩家的此舉引發了很多人的抨擊,但是事實證明之後兩家的發展非常迅速。8月,Redis Labs 發表訊息說,獲得了 Bain Capital Ventures 和 TCV 近 1 千萬美元的投資,公司市值超過了 10 億美元。而 MongoDB 的市值從那以後也增長了 275%。

圖:來自 Google 財經

 

Mapbox 的困境

 

與 Redis Labs 和 MongoDB 的經歷相似,Mapbox 的產品程式碼被微軟的雲服務提供商 Azure 複製到了他們的服務中使用。

去年,Azure 宣佈 Azure Maps 採用了 Mapbox GL JS,宣稱其是關鍵性的服務。Mapbox甚至在公司部落格上釋出了這則訊息。

雖然 Azure 宣佈 採用 Mapbox GL JS 是一件好事,但也成了 Mapbox GL JS 重新考慮是否保持開源的導火索。畢竟,在競爭極其激烈的雲端計算世界中,一旦某個雲提供商開始提供某個服務,很快其他雲提供商就會紛紛開始效仿。很快, Mapbox 就發現自己也面臨與 Mongo 和 Redis 類似的困境,將自己數萬億美元投入的研發成果拱手讓給其他科技巨頭。

然而,與 Mongo 和 Redis 不同,Mapbox 並沒有修改產品的開源許可,而是進行了一刀切。舊版的 Mapbox GL JS 仍然是一個非常成熟的實用工具庫,仍然保留原始的許可。新版本雖然對外公開(所有程式碼均釋出在 Github 上),但已不再是開源。

可能有人會認為這是一場悲劇,因為這會導致社群對新版本的貢獻下降。但請不要忘記, Mapbox GL JS 的主要開發都來自 Mapbox 員工。雖然該專案吸引了全球很多熱心的工程師,融合了很多人的付出,一旦轉為專有,這些熱心的工程師都會非常難過。但是,Mapbox 的此舉也是為了生存,相信每個人都能理解。

 

開源的美好時光

 

曾幾何時,我真的相信即便開源自己的程式碼,各個公司仍然能夠取得成功。開源是網際網路文明高度發展的新興產物,畢竟有那麼多無私的開發人員在默默地為開源做貢獻,很多人都以為開源做過貢獻而感到自豪,甚至可以成為個人簡歷中的閃光點。

然而,如今我有點開始懷疑了。雖然我仍然相信開源是造福全世界的強大力量。但科技巨頭一味地投機取巧,利用開源軟體攫取鉅額利潤,卻不知回報開源社群。在一次又一次的失望之後,人人都開始感到自危。

雖然我們都感到很悲哀,但不得不承認雲端計算正在抹殺開源。

相關文章