出品|開源中國
文|大東
如今,開源軟件已經(jīng)成為了很多科技廠商選擇的一種商業(yè)模式。谷歌、微軟、亞馬遜等全球頂尖的軟件商業(yè)公司都有著自己的開源產(chǎn)業(yè)生態(tài),紅帽、Elastic、PingCAP 等專門圍繞開源軟件創(chuàng)業(yè)的公司也取得了不同程度上的商業(yè)成功。
除了這些從開源中獲利的商業(yè)公司以外,開源社區(qū)中還有著大量的個(gè)人開發(fā)者,而來自這些個(gè)人開發(fā)者的合理利益述求往往很容易被人們忽視。

掙扎中的個(gè)人開發(fā)者
在開源社區(qū)中,有很多的個(gè)人開發(fā)者在積極地參與開源貢獻(xiàn),或是開源自己的個(gè)人項(xiàng)目,或是為其他項(xiàng)目貢獻(xiàn)代碼。很多人最初的動(dòng)機(jī)僅僅是通過參與開源提升自己的技術(shù),或是通過幫助別人獲得心理上的滿足,甚至是為了實(shí)現(xiàn)自己某個(gè)瘋狂或有趣的想法順便參與開源。他們都利用業(yè)余時(shí)間從開源中找到自己的價(jià)值。
然而,當(dāng)個(gè)人開發(fā)者在一個(gè)開源項(xiàng)目中的貢獻(xiàn)達(dá)到一定的程度(成為項(xiàng)目維護(hù)者),或是個(gè)人的開源項(xiàng)目發(fā)展到一定的規(guī)模時(shí)(具有一定用戶數(shù)量),就會面臨來自用戶的壓力。這個(gè)時(shí)候,僅僅依靠業(yè)余的時(shí)間來應(yīng)對日漸繁重的用戶需求,往往會有些力不從心,甚至影響原本正常的工作和生活。
Jacob Thornton 是一位資深的開源開發(fā)者。2010 年,Thornton 與設(shè)計(jì)師 Mark Otto 共同創(chuàng)造了前端開發(fā)框架 Bootstrap 并將其開源 —— 任何人都可以未經(jīng)許可使用它,任何人都可以對其進(jìn)行調(diào)整和改進(jìn)。Thornton 表示,當(dāng)初開源 Bootstrap 的動(dòng)機(jī)也是受到經(jīng)典開源精神的影響,他們認(rèn)為這是一個(gè)很酷的挑戰(zhàn),它提高了他們在技術(shù)圈里的聲譽(yù),并且為人們提供幫助也讓他們獲得了成就感。隨后,Bootstrap 的受歡迎程度激增,甚至連時(shí)任美國總統(tǒng) Obama 的白宮官網(wǎng)也使用了他們的項(xiàng)目。“這是如此令人興奮!”Thornton 說。但他們并沒有因?yàn)橹谱髁?Bootstrap 獲得任何薪水。

隨著 Bootstrap 用戶數(shù)量的增長,Thornton 的業(yè)余生活也被大量來自世界各地的 PR 和 issue 淹沒。“每周都有無數(shù)人給我們寫 bug 報(bào)告,對新功能的要求,issue 和好評。”Thornton 表示,在下班后自己每晚要花四五個(gè)小時(shí)瘋狂地在 Bootstrap 上工作,包括管理查詢、回復(fù) issue、編寫新代碼等。“下班后我無法和家人朋友一起吃晚飯”,因?yàn)樗麚?dān)心自己會讓等待回復(fù)的 Bootstrap 用戶失望。
如此堅(jiān)持不懈了近十年,Thornton 和 Otto 以及少數(shù)核心貢獻(xiàn)者仍在維護(hù)著 Bootstrap,但是壓力已經(jīng)足夠嚴(yán)重,以至于 Thornton 經(jīng)常想到要放棄。
事實(shí)上,大部分開源項(xiàng)目作者的境遇都與 Thornton 類似,項(xiàng)目管理者往往要比代碼貢獻(xiàn)者更苦更累。有一部分原因是參與開源項(xiàng)目代碼貢獻(xiàn)的大部分非核心開發(fā)者往往只做出了很小的貢獻(xiàn),例如修復(fù)了某個(gè) bug。而編寫和重新編寫代碼需要對整個(gè)項(xiàng)目有足夠的掌控力 —— 事實(shí)證明,大部分項(xiàng)目只有極少數(shù)的核心開發(fā)者具備這樣的能力。
當(dāng)這些核心開源貢獻(xiàn)者的付出與收入不成正比,甚至因?yàn)榉敝氐臒o償開源工作影響到了正常的工作和生活時(shí),放棄就是一個(gè)不得已的選擇。畢竟他們也是人,也需要掙錢養(yǎng)家糊口。研究表明,所有的開源項(xiàng)目中約有 9.5% 已經(jīng)被遺棄,另外還有大約 1/4 可能接近被遺棄的程度。
如果說開源項(xiàng)目的作者或核心開發(fā)者尚且有項(xiàng)目本身帶來的名譽(yù)加身,而那些僅僅是為開源項(xiàng)目貢獻(xiàn)了代碼的普通開發(fā)者獲得的關(guān)注度則要更少,在項(xiàng)目的發(fā)展方向發(fā)生變化時(shí),這些人的利益往往更容易被忽視。

來自英特爾公司的開發(fā)者 Thiago macieira 是一名開源愛好者,他曾長期為 Qt 項(xiàng)目貢獻(xiàn)代碼。今年年初,Qt 官方正式宣布將 Qt LTS 版本全面轉(zhuǎn)入商業(yè)化階段,不再向社區(qū)無償提供穩(wěn)定版本。這一變化讓包括 Thiago 在內(nèi)的 Qt 外部貢獻(xiàn)者感到心寒,他們多年來出于熱情向 Qt 貢獻(xiàn)的代碼被 Qt 公司當(dāng)成賺錢的工具,自己卻沒有收到任何回報(bào),甚至連無償使用穩(wěn)定版 Qt 的權(quán)利都沒有。Thiago 表示,至少對于他在 Qt 中處理過的代碼,他不會再參與修復(fù)、評論和審查后端錯(cuò)誤報(bào)告。
與擁有專業(yè)團(tuán)隊(duì)的商業(yè)公司相比,個(gè)人開發(fā)者想要從開源工作中獲取收入的渠道相當(dāng)有限,但對于一個(gè)相對健康的開源生態(tài)來說,個(gè)人開源貢獻(xiàn)者的利益理應(yīng)得到人們的重視。
個(gè)人開發(fā)者如何從開源中獲利?
在不違反開源許可證以及開源社區(qū)基本道德準(zhǔn)則的前提下,開發(fā)者從開源項(xiàng)目中合理獲利并不是一件壞事。
自由軟件運(yùn)動(dòng)領(lǐng)袖 Richard Stallman (RMS)曾鼓勵(lì)自由與開源軟件作者合理利用開源軟件賺錢,以更好地維持項(xiàng)目的研發(fā)和推廣。linux Kernel 維護(hù)者 Linus Torvalds 也接受著來自各大廠商的資助,從而能夠全職進(jìn)行 Linux Kernel 的維護(hù)工作。
開源產(chǎn)業(yè)編輯 Fernando Doglio 列出了六種個(gè)人開發(fā)者從開源活動(dòng)中獲利的方法:
1. Bug 賞金計(jì)劃
BUG 賞金計(jì)劃是很多大型開源機(jī)構(gòu)面向個(gè)人開發(fā)者推出的一種賺錢的方式。開發(fā)者可以通過報(bào)告開源項(xiàng)目上的 BUG,也可以直接修復(fù)這些 BUG 獲得來自項(xiàng)目官方不同程度的獎(jiǎng)金。

目前擁有漏洞賞金計(jì)劃的比較有代表性的組織包括:
-
Mozilla:有兩個(gè)主要的懸賞類別,一個(gè)是旗下的實(shí)際軟件,一個(gè)用于其網(wǎng)站。第一個(gè)出價(jià)最高為 10,000 美元,第二個(gè)出價(jià)最高為 5,000 美元。
-
Apache:Apache Web 服務(wù)器項(xiàng)目向那些能夠解決最關(guān)鍵的錯(cuò)誤的人支付最高 3,000 美元的獎(jiǎng)金。
-
google Android:Google 會為發(fā)現(xiàn)和解決的最關(guān)鍵問題提供最高數(shù)十萬美元的獎(jiǎng)金。
此外還有許多擁有漏洞賞金計(jì)劃的開源相關(guān)組織機(jī)構(gòu),可以在此網(wǎng)站上找到最新的漏洞賞金計(jì)劃列表。總而言之,如果個(gè)人開發(fā)者能投入大量時(shí)間,通過這種懸賞的方式參與開源代碼貢獻(xiàn)也是一種很不錯(cuò)的選擇,但需要開發(fā)者擁有信息安全方面的技能。
2.提供付費(fèi)支持
提供付費(fèi)支持是很多開源項(xiàng)目團(tuán)隊(duì)獲利的經(jīng)典方式之一。
如果開發(fā)者決定開始為某開源項(xiàng)目提供付費(fèi)支持,則可以向其他人提供他們需要的有償服務(wù),這里有些例子:
-
幫助進(jìn)行基本安裝或使用。
-
代碼和錯(cuò)誤修復(fù)。
-
添加新的和額外的功能。
-
提供書面文件(例如書籍和教程)。
但要注意,如果你提供的支持包括對項(xiàng)目源代碼進(jìn)行更改,則需要核對項(xiàng)目采用的開源許可證,以確保其允許該類型的活動(dòng)。當(dāng)然,你不能只修改項(xiàng)目原作者的原始代碼,你必須維護(hù)自己的產(chǎn)品副本。
3.出售增強(qiáng)功能/插件
例如,開發(fā)人員銷售 wordPress/ target=_blank class=infotextkey>WordPress 插件。用戶可以免費(fèi)下載并安裝 WordPress,但WordPress 擁有豐富的付費(fèi)插件生態(tài),用戶會根據(jù)自己的需求購買用于修改或增強(qiáng)現(xiàn)有功能的付費(fèi)插件,開發(fā)者可以通過開發(fā)并出售這些插件獲利。
這種獲利方式的例子還有 Sidekiq 和 Blender:兩種產(chǎn)品都遵循類似的模式,從某種意義上來說,它們都是開源的,可以免費(fèi)使用,但是用戶可以購買擴(kuò)展插件來更好地使用它們。而付出了時(shí)間和勞動(dòng)力開發(fā)這些優(yōu)秀插件的開發(fā)者從中獲利也是應(yīng)得的。
4.出售代碼以外的內(nèi)容
與第 2 點(diǎn)類似,個(gè)人開發(fā)者還可以為開源項(xiàng)目編寫用戶教程等內(nèi)容來獲利,例如:
-
寫和出售關(guān)于該項(xiàng)目的書籍教程。這可以通過與出版社推薦主題來完成。后者將負(fù)責(zé)編輯過程和發(fā)布步驟,讓你專注于寫作。當(dāng)然,你必須與出版社分配收入,但這是值得的。
-
為一些內(nèi)容付費(fèi)平臺創(chuàng)建視頻課程。這樣做會產(chǎn)生被動(dòng)收入,就像書出版后一樣。另外,這些平臺通常會提供視頻培訓(xùn)。
-
撰寫有關(guān)產(chǎn)品的推廣帖子。這并不意味著開源產(chǎn)品的所有者要向您付費(fèi)以撰寫這些帖子,而是使某些博客對該主題感興趣,并愿意向你付費(fèi)以提供有關(guān)其他主題的內(nèi)容。
在所有這些情況下,重要的是要了解,要從開源產(chǎn)品中獲利,實(shí)際上并不一定需要編寫代碼。你可以基于這些產(chǎn)品提供特定于用戶的內(nèi)容,只要市場有這方面的需求,而你恰好又花時(shí)間和精力去做了,以此賺錢也無可厚非。
5.來自用戶的捐贈(zèng)
GitHub、Gitee 等代碼托管平臺都擁有用戶捐贈(zèng)的功能,開源項(xiàng)目擁有者可以從這些平臺獲得來自用戶的自發(fā)捐贈(zèng),當(dāng)然這項(xiàng)收入的大小要取決于你的項(xiàng)目是否足夠強(qiáng)大,以及你所在地區(qū)的用戶是否足夠慷慨。
以這種方式作為主要收入來源的開源項(xiàng)目有很多,大部分開源項(xiàng)目的官網(wǎng)都有捐贈(zèng)入口。知名前端框架 Vue 的作者尤雨溪曾表示,在全職維護(hù) Vue 的早期,其主要的收入也是來自眾籌網(wǎng)站 Patreon 的用戶捐贈(zèng)。
6.用參與開源提升自己的職場競爭力
有時(shí)單純的參與開源項(xiàng)目的代碼貢獻(xiàn)并不能帶來直接的金錢利益,但開發(fā)者可以將這段經(jīng)歷寫進(jìn)簡歷里,以獲得更多的就業(yè)機(jī)會。也可以通過參與大型公司旗下的開源項(xiàng)目,從而獲得進(jìn)入這家公司工作的機(jī)會。
例如,一位個(gè)人開發(fā)者為 TypeScript 做出一些有益的貢獻(xiàn),那么他就有可能成正為該項(xiàng)目的核心貢獻(xiàn)者,從而獲得微軟的注意,甚至可以加入微軟的 TypeScript 團(tuán)隊(duì)。
以上 6 點(diǎn)就是目前個(gè)人開發(fā)者能夠從開源項(xiàng)目中獲利的普遍方法。當(dāng)然,能夠完全依靠上述開源活動(dòng)謀生的個(gè)人開發(fā)者并不多見,以此致富的人更是屈指可數(shù)。一方面是大多數(shù)開發(fā)者僅專注于技術(shù),缺乏商業(yè)、運(yùn)營、推廣等相關(guān)經(jīng)驗(yàn),很難自發(fā)地從上述途徑中找到適合自己的獲利方法并執(zhí)行下去;另一方面,大多數(shù)開發(fā)者仍然有自己的本職工作,更多的開源愛好者還是出于興趣用業(yè)余的時(shí)間參與開源貢獻(xiàn),不求回報(bào)地為愛發(fā)電。
個(gè)人開發(fā)者是開源社區(qū)中一股不可忽視的重要力量,要讓他們得到自己為項(xiàng)目付出應(yīng)得的收益分成,來自社區(qū)官方的普惠性舉措是不可或缺的。
業(yè)內(nèi)的舉措
一些開源相關(guān)組織機(jī)構(gòu)也意識到了這一點(diǎn)。
去年 5 月,xs:code 平臺宣布與 redis Labs 展開一項(xiàng)新的合作,為創(chuàng)建與 Redis 相關(guān)的開源組件的開發(fā)人員提供財(cái)務(wù)支持。

xs:code 是一個(gè)允許開發(fā)人員在其免費(fèi)和開放源代碼之上提供付費(fèi)產(chǎn)品和服務(wù),從而幫助開源開發(fā)人員使用其代碼與軟件公司建立聯(lián)系的平臺。這些公司享受高度維護(hù)的代碼,其可以選擇從其開發(fā)人員那里獲得付費(fèi)支持和咨詢,而開源開發(fā)人員則可以獲得持續(xù)開發(fā)所需的財(cái)務(wù)資源。
幾乎同一時(shí)期,微軟旗下代碼托管平臺 GitHub 推出了為開源軟件開發(fā)者提供資金支持的工具—— GitHub Sponsors,該功能允許開發(fā)人員提供各種資金捐助等級,并且可以從想要鼓勵(lì)他們工作的支持者那里定期獲得付款。為了激勵(lì)企業(yè)與個(gè)人向構(gòu)建有利于他們的開源技術(shù)的開發(fā)者支付費(fèi)用,GitHub 還在去年 12 月推出了一個(gè)企業(yè)項(xiàng)目,讓企業(yè)向開源項(xiàng)目開發(fā)者支付費(fèi)用。GitHub 表示,這個(gè)項(xiàng)目已經(jīng)大幅增加了資金量,從美國運(yùn)通、AWS、Stripe、Indeeds、微軟、Substack 和 Notion 等公司將數(shù)百萬美元直接分發(fā)到了開源項(xiàng)目開發(fā)者的手中。
GitHub 產(chǎn)品總監(jiān) Devon Zuegel 表示,推出該計(jì)劃主要有兩個(gè)原因。一個(gè)是簡單地對那些影響開源社區(qū)的開發(fā)者或從事贊助商欣賞的項(xiàng)目的開發(fā)者表示感謝。同時(shí),一家公司可能會贊助某個(gè)從事其工作流程核心項(xiàng)目的人。掏出現(xiàn)金可以讓這些核心開發(fā)者騰出更多時(shí)間專注于一個(gè)項(xiàng)目,或者更快地解決已知問題。
據(jù)悉,目前已經(jīng)有數(shù)萬名開發(fā)者注冊了這個(gè)項(xiàng)目,數(shù)百名開發(fā)者利用這個(gè)項(xiàng)目全職為他們的開源社區(qū)服務(wù),有些人甚至拿到了六位數(shù)的薪水。
有業(yè)內(nèi)人士認(rèn)為,現(xiàn)在仍有非常多的重要開源項(xiàng)目都在貢獻(xiàn)者不求回報(bào)的辛勤付出下勉強(qiáng)維持,用愛發(fā)電的開源奉獻(xiàn)精神固然偉大,但只有當(dāng)越來越多的個(gè)人開源貢獻(xiàn)者的勞動(dòng)付出能夠得到應(yīng)有的回報(bào)時(shí),整個(gè)開源產(chǎn)業(yè)生態(tài)才能健康地可持續(xù)發(fā)展。
參考鏈接:
https://www.oschina.net/news/125661/qt-5-15-lts-commercia
https://www.welcometothejungle.com/en/articles/btc-money-open-source
https://www.wired.com/story/open-source-coders-few-tired/
https://www.oschina.net/news/115799/xscode-redis-labs-open-source-software-developers-get-paid






