06.24 開放源代碼還能持續多久?開源維護者已經精疲力竭

開源的可持續性簡直就是自相矛盾。世界各地的工程師傾注了他們的汗水,坦率地說,他們的心投入到這些激情項目中,這些項目支撐著現代互聯網經濟中的所有軟件。作為交換,他們不求任何回報,只要求得到認可和幫助,以保持他們的項目的生命力並改進它們。這是一場不可思議的、分散的唯意志論運動,代表了人類最好的一面。

互聯網和計算巨頭——世界上最大的開源用戶——總共價值數萬億美元,但你可能會認為他們的財富不知何故地流向了開源項目的維維者。工作日的工作,今天的維護者們很難找到時間來修復關鍵的bug,所有的時候都面臨著用戶不斷的需求,請求免費支持GitHub。保持精力枯竭是一個巨大的挑戰。

幾乎就在兩年前,納迪亞·埃格巴爾(Nadia Eghbal)在福特基金會(Ford Foundation)發表的一份關於開源狀態的里程碑式報告中,記錄了這種令人痛苦的狀況。將開放源碼基礎設施與“道路和橋樑”進行比較,Eghbal不僅全面概述了開放源碼面臨的挑戰,而且還呼籲更多的開放源碼用戶關注其經濟,並最終了解這些關鍵項目如何能夠無限期地維持下去。

兩年後,一群新的企業家、開放源碼維護者和組織開始挑戰Eghbal,開發解決方案以保持開放源碼核心的志願精神,同時發明新的經濟模型以使工作可持續性。所有這些都是早期的,它們對開源的輸出和質量的長期影響是未知的。但是每個解決方案都提供了一條可能從根本上改變我們對未來開源職業的看法的途徑。

開放源代碼還能持續多久?開源維護者已經精疲力竭

沒有人看到道路和橋樑正在倒塌

兩年前,Eghbal的報告總結了開源維護者面臨的巨大問題,這些挑戰在此期間基本上沒有改變。這是“公地悲劇”的典型例子。正如埃格巴爾當時所寫的,“從根本上說,數字基礎設施存在搭便車問題。”資源是免費提供的,每個人(不管是個體開發者還是大型軟件公司)都使用這些資源,所以沒有人會被激勵去回饋,認為別人會介入。這導致了一個脆弱的生態系統,就像開源軟件達到其影響力的頂峰一樣。

然而,挑戰更加嚴峻。人們不僅僅是在搭便車,他們往往甚至沒有意識到這一點。軟件工程師可以很容易地忘記,在最基礎的應用程序中,有多少技術已經進入了開源代碼中。為節點生態系統提供模塊存儲庫的npm公司在其註冊表中列出了將近70萬個項目。最近,NPM啟動了一個新的React應用程序,在短短几秒鐘內就安裝了1105個庫。這些項目都是什麼?

更重要的是,他們背後的人是誰?庫的依賴樹抽象了所有的人,他們的工作首先使這些庫可用並具有功能。這個黑盒子可能會讓我們很難看到,在每個開源項目中,在幕後工作的維護者比預期的要少得多,而且由於缺乏資金,這些維護者可能很難在這些庫上工作。

Eghbal以OpenSSL為例,該庫為web上的大多數加密通信提供支持。隨著“心臟出血”安全漏洞的發佈,人們驚訝地發現OpenSSL項目是一個非常小的個人團隊的工作,其中只有一個人全職工作(與行業規範相比,薪水非常有限)。

這種情況並不罕見。開源項目通常有很多貢獻者,但只有少數人真正推動了某個項目的發展。要麼因為精力耗盡,要麼因為分心而失去這種單一的力量,一個項目就會迅速地隨波逐流。

當自由不是免費的

沒有人希望開源消失,或者讓維護人員精疲力竭。然而,社會上存在著一股強大的文化力量,與商業利益相牴觸。金錢正在腐化,削弱開源努力的自願精神。更務實地說,在全球分佈的志願者團隊中管理資金存在巨大的後勤挑戰,這些團隊可以在後勤上挑戰工作報酬。

不出意外的是,開源可持續性的先鋒們對事情的看法非常不同。凱爾·米切爾(Kyle Mitchell)是貿易公司的一名律師,同時也是“零許可證”(License Zero)的創始人。他總結道:“這確實是錯誤的。”

這個觀點得到了流行的JavaScript編譯器Babel的維護人員Henry Zhu的響應。“我們信任擁有數百萬風險投資資金的初創企業,鼓勵一種‘快速失敗’的文化,但不知何故,向那些可能表現出多年奉獻精神的志願者捐款的想法是不可取的?””他說。

Open Collective的創始人主席澤維爾•達曼(Xavier Damman)表示,“在每個社區,總是會有極端分子。”我聽到並理解他們,在一個理想的世界裡,我們都有普遍的基本收入,我同意他們的觀點。然而,世界還沒有走向這樣的收入模式,因此支持開源的工作必須是一種選擇。他說:“不是每個人都必須為開源社區籌集資金,但是那些想要的人應該能夠,我們也希望與他們合作。”

米切爾認為,最重要的挑戰之一就是談論錢的問題。他說:“錢摸起來很髒,直到它沒有。”“我希望社區能承擔更多的金錢責任。”他指出,“學習成為一名優秀的維護者並不能教會你如何成為一個優秀的開源承包商或顧問。”GitHub作為一個代碼存儲庫服務非常出色,但最終並沒有教會維護者他們工作的經濟學原理。

支持開放源碼的最大爭論可能是決定針對誰或對象:單個貢獻者—他們經常在多個項目之間移動—或者特定的庫本身。

以費羅斯·阿布哈茲為例。Aboukhadijeh(坦白地說,他大約十年前曾是我在斯坦福大學的室友)已經成為開源世界的主要力量,尤其是在節點生態系統中。他在節點的董事會中擔任選舉產生的任期。他在GitHub上發佈了125個資料庫,包括流行的WebTorrent(1.7萬顆星)和Standard(1.83萬顆星)。

Aboukhadijeh一直在尋找一種方法來花更多的時間在開放源碼上,但是他不希望依賴於在一個單一的項目上工作,或者在一個永遠不會被人發現的私有公司中編寫代碼。於是,他求助於帕特雷翁作為一種支持。

(披露:CRV,我最直接的前僱主,是Patreon的投資者。我對這家公司沒有積極或消極的財務興趣。根據我的道德聲明,我不寫CRV的投資組合公司,但鑑於本文的重點是開放源代碼,我提出了一個例外)。

Patreon是一個眾包的訂閱平臺,也許最著名的是它所承載的創意。然而,如今,它也越來越多地被著名的開源貢獻者使用,作為一種與粉絲聯繫並支持他們工作的方式。看到別人這麼做後,阿布哈迪耶推出了自己的網頁。他說:“一群人在創建補丁,這在我的JavaScript圈子裡是一種模因。”今天,他的Patreon頁面上有72位貢獻者,每月為他提供2,874美元(每年34 488美元)的資金。

這聽起來似乎有點微不足道,但他向我解釋說,他還從不同的組織(比如Brave(帶有實用程序的插件瀏覽器)和PopChest(一個分散的視頻共享平臺)提供資金,作為自己的補充。這使他每月多掙幾千美元。

Aboukhadijeh說,Twitter在構建他的收入流方面發揮了巨大的作用。他說:“Twitter是開發者談論事情的最重要的地方,也是對話發生的地方。”“在Patreon上取得成功的人(和我一樣)在推特上發了很多微博,他們的表現確實不錯。”

對於那些大賺一筆的人來說,他們的收入可能會被誇大。創建流行的JavaScript前端庫Vue的Evan You。js每月收入為15206美元(每年182472美元),來自231位顧客。根據Graphtreon的數據,自2016年3月開始他的“Patreon”以來,顧客的數量一直在增長,儘管隨著時間的推移,收入不斷上升和下降。

Aboukhadijeh指出,一個主要的好處是他對自己的基金擁有所有權。他說:“我很高興我做了一次巡邏,因為錢是我的。”

雖然Patreon是一種直接從用戶那裡獲得收入的方式,但另一種方式是提供免費和商業雙重許可。這就是凱爾·米切爾去年提出的零許可證模式。他向我解釋說,“零許可證是一個非常簡單的問題的答案,沒有簡單的答案:我們如何讓開源商業模式向個人開放?”

米切爾是一個稀有品種:一個決定去法學院的終身程序員。長大後,他想要使用他在網上找到的軟件,但“如果不是免費的,我小時候就不能下載,”他說。“這讓我陷入了一些知識產權問題,這些問題為法律鋪平了黑暗的道路。”

License Zero是基於two-clause BSD許可的許可協議,但是增加了一些條款,要求商業用戶在90天后為商業許可付費,允許公司在購買之前嘗試一個項目。如果其他許可不能用於購買(例如,因為不再涉及維護人員),那麼語言將不再具有可執行性,軟件將作為完全開放源代碼提供。其想法是,其他開源用戶總是可以免費使用該軟件,但盈利性使用則需要付費。

米切爾認為,對於希望在開放源代碼中繼續努力的個人來說,這是正確的方法。“最重要的是時間預算——許多開源公司或擁有開源項目的人都是從服務中獲得資金,”他說。問題在於,服務是公司獨有的,而且要花時間才能把項目做得儘可能好。“如果賺錢的時間不是花在開源上的時間,那麼它就會與開源競爭,”他說。

許可零無疑是一種文化上的飛躍,因為開源應該免費為所有用戶付費。米切爾指出,儘管“公司一直都在為軟件付費,他們有時甚至在可以免費獲得的時候也會付費。”“公司關心的是適當的許可,這成為了獲取收入的槓桿,同時仍然保持著開源軟件的開放性和精神。”它也不強制開源維護者取消關鍵功能——比如管理儀表板或縮放功能——來強制銷售。

更改現有項目的許可證可能具有挑戰性,因此最好將模型用於新項目。儘管如此,它提供了對Patreon和其他訂閱平臺的潛在補充或替代,為個人開源貢獻者提供了一種可持續的方式,以便在全職參與社區活動的同時,還能在他們的頭上蓋上屋頂。

支持組織:積極開放的集體

支持個人是很有意義的,但是公司通常希望支持支撐他們軟件的特定項目和生態系統。這樣做幾乎是不可能的。為了給開源項目提供資金,公司需要複雜的後勤保障,比如讓一個組織向它捐款(對許多人來說,讓IRS相信這個組織實際上是一個非營利組織)。潮汐性和開放式集合是打開這些渠道的兩種不同的方式。

Tidelift是由Donald Fischer領導的四個開源狂熱分子的智慧結晶。費希爾是首席執行官,是通用催化劑和Greylock的前風險投資人,也是一位長期擔任紅帽公司的高管。在他最近的作品中,費舍爾投資公司開源生態系統的核心,如蟒蛇(側重於科學和統計計算在Python),茱莉亞計算(集中在茱莉亞的編程語言),離子(一個跨平臺的移動開發框架)和類型安全現在Lightbend(Scala編程語言背後)。

菲舍爾和他的團隊想要創建一個平臺,讓開源生態系統能夠自給自足。他解釋說:“在某種程度上,我們感到沮喪的是,雖然開源已經佔據了軟件的很大一部分,但是很多開源的創建者並沒有能夠獲得他們所創造的很多價值。”

費希爾解釋說,Tidelift的設計宗旨是“在安全、許可和軟件維護等領域提供保證”。這個想法起源於紅帽,它將Linux商業化了。其想法是,當公司能夠在關鍵漏洞和長期支持等問題上獲得擔保時,它們願意為開放源碼付費。此外,Tidelift還處理了為商業化建立開放源碼的日常任務,比如處理許可問題。

費希爾認為,在收購Tidelift的公司與初創公司合作的項目之間存在一種互惠關係。他說:“我們正在努力使開源更好地為所有參與其中的人服務,這包括開源的創建者和用戶。”“我們關注的是在上游開源項目中解決這些問題。公司購買的是保證,而不是排他性,因此,如果發現了漏洞,那麼每個人都會得到修復。

Tidelift最初在JavaScript生態系統中發佈,圍繞著React、angle和Vue。但隨著時間的推移將擴展到更多的社區。該公司已經從General Catalyst和Foundry集團籌集了1500萬美元的風險資本,另外還有紅帽前董事長兼首席執行官馬修·斯祖利克(Matthew Szulik)。

費舍爾希望公司能夠改變開源貢獻者的經濟狀況。他希望社區從“生存和生存”的模式轉變為“維持生計的收入水平”,而是幫助優秀軟件的維護者“贏得巨大的成功,並獲得顯著的經濟回報”。

在Tidelift專注於商業化和軟件保障的領域,開放的集體希望開源本身的貨幣化。

開放集體是一個平臺,為“集體”提供接受資金的工具,同時也提供機制,讓這些集體的成員以民主和透明的方式花錢。

以開放的集體贊助Babel為例。Babel今天收到來自貢獻者的年度預算為113,061美元。更有趣的是,任何人都能看到集體如何花錢。Babel目前有28976.82美元的賬戶,並且列出了所有的費用。例如,我們在本文前面遇到的核心維護者Henry Zhu,在6月2日花了427.18美元在舊金山和西雅圖進行了兩週的Lyft遊樂項目。

開放集體(Open Collective)的創始人主席澤維爾•達曼(Xavier Damman)認為,這種徹底的透明可能會重塑參與者對開源經濟學的看法。Damman將Open Collective與允許用戶閱讀網站代碼的web瀏覽器的“查看源”特性進行了比較。“我們作為一個平臺的目標是儘可能地透明,”他說。

達曼以前是傳奇的創始人。當時,他創建了一個開源項目,旨在幫助記者接受匿名提示,並獲得了一筆資金。問題是“我得到了一筆補助金,但我不知道如何處理這筆錢。”他想把它交給其他一些開源項目,但是“從技術上講,這是不可能的”。“沒有法律實體或文書工作,這筆錢是無法替代的。”

開放集體是為了解決這些問題而設計的。Open Collective本身既是特拉華州的c -corp,也是501(c)6個非營利組織,從技術上講,它接收的所有資金都是由其平臺上的任何一個集體所有,作為它們的財政贊助商。這允許組織向公司發送發票,並向他們提供他們需要的文件,以便寫支票。“只要他們有發票,他們就有保險,”達曼解釋說。

項目一旦有了資金,就由社區的維護者來決定如何使用它。“每個社區都有自己的規則,”達曼說。他指出,開源貢獻者經常會把錢花在那些通常不會完成的無趣的工作上,Damman將其類比為“花錢讓人們保持地方整潔”。“沒有人想要清理公園,但是如果沒有人去打掃,那麼就沒有人會去公園了。”他還指出,面對面的會議是收入的普遍使用。

Open Collective於2015年底推出,自那以來已經成為647個開源項目的大本營。到目前為止,流行的JavaScript構建工具Webpack創造的收入最多,目前每年317,188美元。該組織的一個主要目標是鼓勵更多的盈利性公司向開源項目投入資金。開放的集體把主要捐贈者的標誌放在每個集體頁面上,讓他們可以看到他們對開源的承諾。

達曼的終極夢想是改變所有權本身的概念。他設想,我們可以從“競爭轉向合作,也可以從所有權轉向共享”。

維持可持續發展

不幸的是,開源的可持續性還處於早期階段。雖然Patreon、License Zero、Tidelift和Open Collective是提供可持續性基礎設施的不同方法,但最終必須有人為使這些基礎設施變得有用而付出代價。只有少數幾個補丁可以替代工程師的日常工作,而我所依賴的Open Collective只有兩個集體,它們甚至可以支持一個全職維護者。許可零和Tidelift太新了,不知道它們將如何執行。

但最終,我們需要將文化轉變為可持續性。Babel的Henry Zhu評論說:“我們社區的文化應該是一個能夠盡一切可能回饋和支持社區項目的文化:無論是員工時間還是資金。我們不應該只接受開源的消費而忽視成本,我們應該為它的可持續性負責。

在某種程度上,我們只是回到了公地悲劇中最初的搭便車問題上——有些人,在某個地方不得不付出代價,但所有人都能分享利益。

但是,這種變化可以通過我們所有從事代碼工作的人——每個軟件工程師和產品經理——來實現。如果你在一家以營利為目的的公司工作,那就帶頭尋找一種方法來支持那些能讓你高效工作的代碼。開源社區的分權和志願精神需要每個財務貢獻者都具有同樣的分權精神。可持續發展是我們每天的工作。如果我們都儘自己的一份力,我們就能幫助維持人類所創造的一場偉大的智力運動,並永遠終結開源可持續性的矛盾。


分享到:


相關文章: