原因是雲巨頭們使用開源工具,卻不給予任何回報。
數據庫開發商Redis Labs本週將該公司開發的Redis模塊由AGPL改成了Apache v2.0和Commons Clause(共用條款)相結合的許可證,因而對銷售許可證涵蓋的軟件作了限制。
許可證方面的這個變化意味著自行開發的Redis模塊(RediSearch、Redis Graph、ReJSON、ReBloom和Redis-ML)不再是通常所定義的開源軟件,它們而是成為“可用的源代碼”。
實際上,新許可證限制了雲提供商向客戶提供這些Redis模塊的能力;Redis Labs可能旨在成為包含這些附加組件的服務的唯一銷售商。然而,Redis數據庫代碼仍採用BSD許可證。
Redis Labs並不是唯一一家做出這種改變的公司。5月份,開發Neo4j圖形數據庫的Neo4j在其AGPL許可證中添加了Commons Clause。
Redis Labs的聯合創始人兼首席技術官伊夫塔奇•舒爾曼(Yiftach Shoolman)在週三的一篇博文中針對許可證的這一變化給出了理由,聲稱雲提供商得益於開源軟件,卻沒有給予任何回報。
他說:“多年來,雲服務提供商一直在銷售基於並不是由它們開發的開源代碼的雲服務(價值數億美元),白白享用開源社區的技術成果。”他特別提到了像Docker、Elasticsearch、 Hadoop、Redis和Spark這些廣泛採用的項目。“這挫傷了開源社區致力於開發開源代碼的積極性,因為任何潛在的好處都歸雲提供商所有,而不是歸代碼開發人員或他們的贊助商所有。”
Redis Labs竭力收回開源許可證授予的部分自由這種做法並沒有博得開源社區成員的喝彩。
意在掌控
在發給IT外媒The Register的電子郵件中,為美國愛達荷州國立實驗室提供諮詢的開源許可專家保羅•伯格(Paul Berg)表示,與其說這是幫助開源開發人員的舉措,還不如說是竭力將合作開發Redis模塊的開發人員的成果交由Redis Labs來控制。
他說:“這是一種傳統的專有軟件許可證,旨在支持傳統的商業軟件銷售商業模式;由於缺少近期成功的企業採用它們的證據,這種商業模式可能過時了。”
伯格表示,雖然基於雲的服務對開源許可的原則提出了挑戰,但這些原則並不涉及軟件開發人員是否可以從他們的工作中賺錢。他認為,開源許可的廣泛採用表明,限制性更強的選擇(比如Commons Clause)存在一種固有的經濟劣勢。
他解釋:“雲給開源許可證帶來的挑戰是,這類許可證的目的實際上是消除所有壟斷,讓用戶可以全面控制軟件。”
伯格表示,問題在於使用而不是分發軟件的雲提供商不是通過知識產權法取得壟斷,而是通過物流方面的優勢取得壟斷。而注重知識產權的許可證解決不了這個問題。
伯格認為,雲計算的吸引力並不在於開源軟件,而在於與硬件、維護、物理位置和電力消耗有關的規模經濟效應。
開源項目組織(OSI)的副總裁VM•布拉瑟(VM Brasseur)在一篇博文中炮轟了這個變化,特別指出Commons Clause銷售禁令含糊不清。她預計這家公司會面臨法律問題。
OSI總裁西蒙•菲普斯(Simon Phipps)發推文稱許可證的這個變化“廢除了軟件自由”。
開源軟件開發人員德魯•德沃爾特(Drew DeVault)在博文中措辭更為激烈,聲稱“Commons Clause將毀了開源。”
他寫道:“無法從你的開源工作中賺錢很糟糕。別的公司利用你的工作成果為它們自己賺錢,這確實糟透了。但是Commons Clause沒有給出支持開源軟件的解決方案,而是給出了將開源軟件變成專有軟件的框架。”
心理恐嚇戰術
Commons Clause的開發者兼FOSSA的創始人凱文•王(Kevin Wang)通過推文作出了回應,聲稱這個意料之外的舉措是“下意識的心理恐嚇戰術(FUD)”,承諾會在今後幾天作出更詳細的回應。FOSSA專業開發開源許可證管理軟件。
王在Hacker News上談論時說:“起草Commons Clause是一種被動的舉措,旨在應對某些特定的不良行為”,他暗指許多雲公司使用開源代碼,卻沒有補償像Redis這些幫助維護開源代碼的公司。
谷歌的軟件工程總監丹尼爾•柏林(Daniel Berlin)回覆道:“不,這不是不良行為,這是對開源經濟模式的根本誤解,有人也想要吃你的蛋糕。”谷歌正是Redis可能很反感的那種雲公司。
伯格認為Redis Labs未必在Commons Clause這頂傘下成功地躲避。他認為,開源分攤了技術成本,正如雲計算公司分攤了基礎設施成本那樣;正因為如此,相比專有代碼,開源代碼會繼續提供優勢。
閱讀更多 智多趣 的文章