- 原文地址:貧困線下的軟件
- 原文做者:André Staltz
- 譯文出自:掘金翻譯計劃
- 本文永久連接:github.com/xitu/gold-m…
- 譯者:Charlo
- 校對者:Chorer
大多數人認爲開源的可持續性問題是很難解決的。做爲一名開源開發者,我本身對這個問題的見解是比較樂觀的:我堅信捐贈模式,由於它的簡單和可擴展性。html
然而,我最近遇到了其餘以捐贈爲生的開源開發者,他們開闊了個人視野。在 Amsterdam.js,我聽到 Henry Zhu 在 Babel 和其餘項目中談可持續發展,這是一個很是可怕的畫面。後來,在吃早飯的時候,Henry 和我就這個話題進行了更深刻的交談。在阿姆斯特丹,我還遇到了全職維護 Unified 項目的 Titus。與這些人的會面堅決了我對捐贈模式的可持續性的信心。它是可行的。可是,真正讓我印象深入的是這個問題:這樣公平嗎?前端
我決定從 OpenCollective 和 GitHub 上收集數據,並對這種狀況採用更科學的樣本。我發現的結果使人震驚:有兩個明顯可持續的開源項目,但咱們一般認爲的大多數可持續的項目(超過 80%)的收入實際上低於行業標準,甚至低於貧困線。android
我從 OpenCollective 中選擇了流行的開源項目,並從每一個項目中選出年收入數據。 而後我查看了他們的 GitHub 倉庫來計算 star 的數量,以及在過去 12 個月裏他們有多少位「全職」貢獻者。有時我也會在 Patreon 頁面上查找少數幾個擁有帳戶的維護人員,並將這些數據添加到項目的年收入中。例如,Evan You 很顯然從 Patreon to work on Vue.js 上獲取資金。這些數據點讓我可以衡量:項目受歡迎程度(用戶數量的比例指標)、整個團隊的年收入以及團隊規模。ios
很難精確地計算每一個項目有多少用戶,特別是由於他們多是傳遞用戶,不知道本身在使用項目。這就是爲何我選擇 GitHub stars 做爲一個不錯的用戶數量衡量標準,由於它計算的是可以意識到項目價值的用戶(不像下載量能夠包括 CI 計算機)。nginx
我總共收集了 58 個項目,這看起來多是一個小數目,但包含了從最受歡迎到最不受歡迎的各類項目。受歡迎程度對衡量捐助量很是重要,結果發現,不多有項目能夠足夠流行到得到公平的報酬。換句話說,在這 50 個最受歡迎的項目中,大多數都低於可持續發展的門檻。我以爲,若是我能涵蓋更多數據點,那些項目可能會比這些更加不受歡迎。這個數據集可能偏向於 OpenCollective 上的 JavaScript 項目,可是選擇從 OpenCollective 採樣是由於它提供了各項財務情況的簡明數據。我想提醒讀者,還有其餘流行的開源項目,如 Linux、nginx、VideoLAN 等。最好將這些項目的財務數據合併到這個數據集中。git
經過 GitHub 數據和 OpenCollective,我可以計算出每一個「全職」貢獻者每一年能得到多少項目收入。這就是他們的工資。或者更確切地說,這是在他們只從事開源項目、沒有任何補充收入的狀況下,經過捐贈所得到的工資。極可能有至關數量的建立者和維護者並無全職投入本身的項目。那些全職工做的人有時用儲蓄來補充他們的收入,或者住在生活成本更低的國家,或二者兼有(Sindre Sorhus)。github
而後,根據最新的 StackOverflow 開發人員調查,咱們知道最低的開發者薪水在 $40k 左右,而最高的在 $100k 以上。考慮到開發人員的知識型工做者身份,且許多人居住在 OECD 國家,這個範圍描述了開發人員的行業標準。這讓我能夠把結果分紅四類:json
下面的第一張圖表展現了團隊規模和每一個 GitHub star 的「價格」。後端
超過 50% 的項目是紅色的:它們沒法讓維護者維持在貧困線以上。31% 的項目是橙色的,這些項目的開發者願意爲低薪工做,而這些薪水在咱們這個行業內是使人難以接受的。12% 是綠色的,只有 3% 是藍色的:Webpack 和 Vue.js。每顆 GitHub star 的收入很重要:可持續項目的收入通常在 $2/star 以上。然而,中值是 $1.22/star。團隊規模對於可持續性也很重要:團隊越小,就越有可能維持其維護者。安全
每一年捐款的中間值爲 $217,這站在我的層面上是至關可觀的,但實際上也包括那些出於營銷目的的公司的捐助。
下一張圖表展現了收入是如何隨着受歡迎程度而增加的。
你能夠經過 LibreOffice Calc 電子表格訪問此 Dat archive 來自行瀏覽數據:
dat://bf7b912fff1e64a52b803444d871433c5946c990ae51f2044056bf6f9655ecbf
複製代碼
雖然人氣是綠色和藍色的可持續發展的關鍵,但紅色的也有受歡迎的產品,如 Prettier,Curl,Jekyll,Electron(更新:)AVA。這並不意味着從事這些項目的人很窮,由於在某些狀況下,維護人員在容許貢獻開源的公司工做。然而,它的真正含義是,除非企業積極地用大量資金支持開源,不然剩下的狀況就是大多數開源維護者資金嚴重不足。僅就捐贈而言,開源在最佳狀態下是可持續的(符合行業標準):當一個團隊規模足夠小的流行項目知道如何從一羣捐助者或贊助組織那裏籌集大量資金時。公平的可持續性對這些因素至關敏感。
因爲可見性是捐贈驅動的可持續性的基礎,「隱形基礎設施」項目每每比可見的項目更糟糕。例如,Core-js 不如 Babel 流行,儘管 Bable 依賴於它。
Library | Used by | Stars | 'Salary' |
---|---|---|---|
Babel | 350284 | 33412* | $70016 |
Core-js | 2442712 | 8702* | $16204 |
一些建議的解決方案是在 BackYourStack 和 GitHub 的新貢獻者概覽 等工具的指導下,將知名項目的捐款「涓滴」到不知名的項目。若是知名的項目有巨大的盈餘能夠與傳遞依賴項共享,那麼這種方法就會奏效。這幾乎是不可能的,只有 Vue.js 有足夠的盈餘來共享,並且它只能與 3 到 4 個其餘開發者共享。Vue.js 是一個例外,其餘項目不能分享他們的收入,由於這會致使每一個參與者的收入都很低。
在 Babel 和 Core-js 的例子中,沒有太多的盈餘可供分享。Henry Zhu 在講話中指出,資金已經很是有限。在這種狀況下,Babel 彷佛是一個很顯而易見的項目,但讓我吃驚的是,Henry 告訴我,許多人雖然使用 Babel,卻沒有意識到它,由於他們可能將它用做傳遞依賴項。
另外一方面,低層庫的維護者認識到須要與更多可見的項目合做,甚至合併項目,以提升總體知名度,受歡迎程度,從而提升資金。Titus 的 Unified 就是這樣,這是一個你可能沒有據說過的項目,可是在 MDX,Gatsby,Prettier,Storybook 和其餘許多軟件中使用了 Unified 和它的許多軟件包。
一樣,受歡迎的項目在財務上比不那麼受歡迎的依賴要好,這也是不正確的。Prettier(32k stars)使用 Unified (1k stars)做爲依賴項,可是 Unified 的年收入比 Prettier 高。事實上,許多依賴於 Unified 的流行項目在每一個團隊成員身上得到的資金都要少得多。可是,Unified 自己接受的資金仍低於行業標準,並無向下(或向上?)涓滴資金。
其餘時候,很難說當項目 A 使用項目 B 時,它必須捐贈給 B,由於可能 B 也使用了 A!例如,Babel 是 Prettier 中的依賴項,Prettier 是 Babel 中的依賴項。可能本次研究中涉及的許多項目彼此之間都有一個複雜的依賴關係網絡,所以很難說這些項目中的資金應該如何流動。
對全部的維護者來講,投入到開源上的總資金是不夠的。若是咱們把數據集中的這些項目的年收入加在一塊兒,就是 250 萬美圓。工資中位數約爲 $9k,低於貧困線。若是將這筆錢平均分配,大約是 $22k,仍然低於行業標準。
核心問題不是開源項目沒有分享所得到的資金。問題在於,從總數來看,開源並無獲得足夠的資金。250 萬美圓是不夠的。從這個數字來看,創業公司一般獲得的都遠不止這些。
Tidelift 已經收到了 4000 萬美圓 的資金,用於「幫助開源建立者和維護者得到公平的工做報酬」(引用)。他們有一個 27 人的團隊,其中一些人是大公司(如 Google 和 GitHub)的前僱員。他們的工資可能沒有那麼低。然而,他們在網站上展現的許多開源項目在捐贈收入方面都低於貧困線。實際上,咱們並不清楚 Tidelift 爲這些項目的維護者提供了多少資金,可是他們的訂閱價格很是高。不透明的價格和成本結構從來幫助企業掩蓋這種不平等現象。
GitHub 被微軟以 75 億美圓收購。爲了讓這個數字更容易理解,微軟收購 GitHub 的金額是開源社區年收益的 3000 多倍。換句話說,若是開源社區把他們收到的每一分錢都存起來,那麼在幾千年後,他們也許就有足夠的錢來一塊兒買下 GitHub。如今GitHub也有了本身的開源經濟團隊 (這個團隊有多大,他們的薪水是多少?),但 GitHub 新的贊助功能遠不如 OpenCollective 透明。不一樣於 GitHub 開放數據的一向作法(如提交日曆或貢獻者圖表),當涉及到捐贈時,用戶沒法知道每一個開源維護者獲得了多少。它是不透明的。
若是 Microsoft GitHub 真的想爲開源項目提供資金,他們應該把錢花在刀刃上:至少爲開源項目捐贈 10 億美圓。即便每一年僅僅 150 萬美圓也足以使本研究中的全部項目變成綠色。GitHub 贊助商的匹配基金是不夠的,它每一年給一個維護者最多僅 $5k,這不足以將維護人員從貧困線下提升到行業標準。
而咱們還有數據代表,開源建立者和維護者的收入較低,而咱們有數據代表,「幫助」開源的公司得到了數百萬美圓的收入,並且極可能是最高的工資。其餘百萬富翁和億萬富翁公司經過結合開源庫和組件來構建專有軟件來盈利。我理解 DHH 關於開源可持續性「沒有悲劇」的立場,事實上,當我看到他的演講時,我傾向於贊成他的觀點。然而,出於好奇,我最近整理的數據向我展現了開源財務的真實狀況,代表工做質量和薪酬之間存在嚴重失衡。全職維護者是技術大牛,他們負責問題管理、安全、處理惡意投訴,可是收入卻每每低於行業標準。
開源可持續性的鬥爭是將人類從奴役、殖民和剝削中解放出來的千年鬥爭。勤勞誠實的人們付出了本身的一切,換來的倒是不公平的報酬,這已經不是第一次了。
所以,這不是一個新問題,也不須要複雜的新解決方案。這只是一種不公正的表現。解決這個問題無關乎從公司那裏得到同情和道義行爲,由於公司的根本目的不是作這些事情。公司只是遵循一些基本的社會金融法規,同時試圖提升利潤以及/或者統治。
開源基礎設施是一種公共資源,就像咱們的生態系統同樣。因爲咱們的社會沒有防止生態系統被開發的規則,公司從事工業資源開採。幾十年來,這正在消耗環境資源,如今咱們面臨着氣候危機,經過科學共識證實這是對地球上全部生命和人類的重大威脅。開源盜用只是其中的一個小縮影,其後果沒有那麼嚴重。
若是你想幫助開源變得可持續,站出來幫助人類爲社會制定新的規則,讓權力和資本主義對濫用行爲負責。若是你想知道這要作些什麼,這裏有一些具體行動的初步建議:
若是你喜歡這篇文章,考慮把它分享(tweeting)給你的關注者。
若是發現譯文存在錯誤或其餘須要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可得到相應獎勵積分。文章開頭的 本文永久連接 即爲本文在 GitHub 上的 MarkDown 連接。
掘金翻譯計劃 是一個翻譯優質互聯網技術文章的社區,文章來源爲 掘金 上的英文分享文章。內容覆蓋 Android、iOS、前端、後端、區塊鏈、產品、設計、人工智能等領域,想要查看更多優質譯文請持續關注 掘金翻譯計劃、官方微博、知乎專欄。