現在,開源軟件已經成爲了不少科技廠商選擇的一種商業模式。谷歌、微軟、亞馬遜等全球頂尖的軟件商業公司都有着本身的開源產業生態,紅帽、Elastic、PingCAP 等專門圍繞開源軟件創業的公司也取得了不一樣程度上的商業成功。前端
除了這些從開源中獲利的商業公司之外,開源社區中還有着大量的我的開發者,而來自這些我的開發者的合理利益述求每每很容易被人們忽視。android
掙扎中的我的開發者
在開源社區中,有不少的我的開發者在積極地參與開源貢獻,或是開源本身的我的項目,或是爲其餘項目貢獻代碼。不少人最初的動機僅僅是經過參與開源提高本身的技術,或是經過幫助別人得到心理上的知足,甚至是爲了實現本身某個瘋狂或有趣的想法順便參與開源。他們都利用業餘時間從開源中找到本身的價值。 redis
然而,當我的開發者在一個開源項目中的貢獻達到必定的程度(成爲項目維護者),或是我的的開源項目發展到必定的規模時(具備必定用戶數量),就會面臨來自用戶的壓力。這個時候,僅僅依靠業餘的時間來應對日漸繁重的用戶需求,每每會有些力不從心,甚至影響本來正常的工做和生活。 typescript
Jacob Thornton 是一位資深的開源開發者。2010 年,Thornton 與設計師 Mark Otto 共同創造了前端開發框架 Bootstrap 並將其開源 —— 任何人均可以未經許可以使用它,任何人均可以對其進行調整和改進。Thornton 表示,當初開源 Bootstrap 的動機也是受到經典開源精神的影響,他們認爲這是一個很酷的挑戰,它提升了他們在技術圈裏的聲譽,而且爲人們提供幫助也讓他們得到了成就感。隨後,Bootstrap 的受歡迎程度激增,甚至連時任美國總統 Obama 的白宮官網也使用了他們的項目。「這是如此使人興奮!」Thornton 說。但他們並無由於製做了 Bootstrap 得到任何薪水。 apache
隨着 Bootstrap 用戶數量的增加,Thornton 的業餘生活也被大量來自世界各地的 PR 和 issue 淹沒。「每週都有無數人給咱們寫 bug 報告,對新功能的要求,issue 和好評。」Thornton 表示,在下班後本身每晚要花四五個小時瘋狂地在 Bootstrap 上工做,包括管理查詢、回覆 issue、編寫新代碼等。「下班後我沒法和家人朋友一塊兒吃晚飯」,由於他擔憂本身會讓等待回覆的 Bootstrap 用戶失望。 後端
如此堅持不懈了近十年,Thornton 和 Otto 以及少數核心貢獻者仍在維護着 Bootstrap,可是壓力已經足夠嚴重,以致於 Thornton 常常想到要放棄。 安全
事實上,大部分開源項目做者的境遇都與 Thornton 相似,項目管理者每每要比代碼貢獻者更苦更累。有一部分緣由是參與開源項目代碼貢獻的大部分非核心開發者每每只作出了很小的貢獻,例如修復了某個 bug。而編寫和從新編寫代碼須要對整個項目有足夠的掌控力 —— 事實證實,大部分項目只有極少數的核心開發者具有這樣的能力。前端框架
當這些核心開源貢獻者的付出與收入不成正比,甚至由於繁重的無償開源工做影響到了正常的工做和生活時,放棄就是一個不得已的選擇。畢竟他們也是人,也須要掙錢養家餬口。研究代表,全部的開源項目中約有 9.5% 已經被遺棄,另外還有大約 1/4 可能接近被遺棄的程度。 服務器
若是說開源項目的做者或核心開發者尚且有項目自己帶來的名譽加身,而那些僅僅是爲開源項目貢獻了代碼的普通開發者得到的關注度則要更少,在項目的發展方向發生變化時,這些人的利益每每更容易被忽視。 app
來自英特爾公司的開發者 Thiago Macieira 是一名開源愛好者,他曾長期爲 Qt 項目貢獻代碼。今年年初,Qt 官方正式宣佈將 Qt LTS 版本全面轉入商業化階段,再也不向社區無償提供穩定版本。這一變化讓包括 Thiago 在內的 Qt 外部貢獻者感到心寒,他們多年來出於熱情向 Qt 貢獻的代碼被 Qt 公司當成賺錢的工具,本身卻沒有收到任何回報,甚至連免費使用穩定版 Qt 的權利都沒有。Thiago 表示,至少對於他在 Qt 中處理過的代碼,他不會再參與修復、評論和審查後端錯誤報告。
與擁有專業團隊的商業公司相比,我的開發者想要從開源工做中獲取收入的渠道至關有限,但對於一個相對健康的開源生態來講,我的開源貢獻者的利益理應獲得人們的重視。
我的開發者如何從開源中獲利?
在不違反開源許可證以及開源社區基本道德準則的前提下,開發者從開源項目中合理獲利並非一件壞事。
自由軟件運動領袖 Richard Stallman (RMS)曾鼓勵自由與開源軟件做者合理利用開源軟件賺錢,以更好地維持項目的研發和推廣。Linux Kernel 維護者 Linus Torvalds 也接受着來自各大廠商的資助,從而可以全職進行 Linux Kernel 的維護工做。
開源產業編輯 Fernando Doglio 列出了六種我的開發者從開源活動中獲利的方法:
1. Bug 賞金計劃
BUG 賞金計劃是不少大型開源機構面向我的開發者推出的一種賺錢的方式。開發者能夠經過報告開源項目上的 BUG,也能夠直接修復這些 BUG 得到來自項目官方不一樣程度的獎金。
目前擁有漏洞賞金計劃的比較有表明性的組織包括:
- Mozilla:有兩個主要的懸賞類別,一個是旗下的實際軟件,一個用於其網站。第一個出價最高爲 10,000 美圓,第二個出價最高爲 5,000 美圓。
- Apache:Apache Web 服務器項目向那些可以解決最關鍵的錯誤的人支付最高 3,000 美圓的獎金。
- Google Android:Google 會爲發現和解決的最關鍵問題提供最高數十萬美圓的獎金。
此外還有許多擁有漏洞賞金計劃的開源相關組織機構,能夠在此網站上找到最新的漏洞賞金計劃列表。總而言之,若是我的開發者能投入大量時間,經過這種懸賞的方式參與開源代碼貢獻也是一種很不錯的選擇,但須要開發者擁有信息安全方面的技能。
2.提供付費支持
提供付費支持是不少開源項目團隊獲利的經典方式之一。
若是開發者決定開始爲某開源項目提供付費支持,則能夠向其餘人提供他們須要的有償服務,這裏有些例子:
- 幫助進行基本安裝或使用。
- 代碼和錯誤修復。
- 添加新的和額外的功能。
- 提供書面文件(例如書籍和教程)。
但要注意,若是你提供的支持包括對項目源代碼進行更改,則須要覈對項目採用的開源許可證,以確保其容許該類型的活動。固然,你不能只修改項目原做者的原始代碼,你必須維護本身的產品副本。
3.出售加強功能/插件
例如,開發人員銷售 WordPress 插件。用戶能夠免費下載並安裝 WordPress,但WordPress 擁有豐富的付費插件生態,用戶會根據本身的需求購買用於修改或加強現有功能的付費插件,開發者能夠經過開發並出售這些插件獲利。
這種獲利方式的例子還有 Sidekiq 和 Blender:兩種產品都遵循相似的模式,從某種意義上來講,它們都是開源的,能夠無償使用,可是用戶能夠購買擴展插件來更好地使用它們。而付出了時間和勞動力開發這些優秀插件的開發者從中獲利也是應得的。
4.出售代碼之外的內容
與第 2 點相似,我的開發者還能夠爲開源項目編寫用戶教程等內容來獲利,例如:
- 寫和出售關於該項目的書籍教程。這能夠經過與出版社推薦主題來完成。後者將負責編輯過程和發佈步驟,讓你專一於寫做。固然,你必須與出版社分配收入,但這是值得的。
- 爲一些內容付費平臺建立視頻課程。這樣作會產生被動收入,就像書出版後同樣。另外,這些平臺一般會提供視頻培訓。
- 撰寫有關產品的推廣帖子。這並不意味着開源產品的全部者要向您付費以撰寫這些帖子,而是使某些博客對該主題感興趣,並願意向你付費以提供有關其餘主題的內容。
在全部這些狀況下,重要的是要了解,要從開源產品中獲利,實際上並不必定須要編寫代碼。你能夠基於這些產品提供特定於用戶的內容,只要市場有這方面的需求,而你剛好又花時間和精力去作了,以此賺錢也無可厚非。
5.來自用戶的捐贈
GitHub、Gitee 等代碼託管平臺都擁有用戶捐贈的功能,開源項目擁有者能夠從這些平臺得到來自用戶的自發捐贈,固然這項收入的大小要取決於你的項目是否足夠強大,以及你所在地區的用戶是否足夠慷慨。
以這種方式做爲主要收入來源的開源項目有不少,大部分開源項目的官網都有捐贈入口。知名前端框架 Vue 的做者尤雨溪曾表示,在全職維護 Vue 的早期,其主要的收入也是來自衆籌網站 Patreon 的用戶捐贈。
6.用參與開源提高本身的職場競爭力
有時單純的參與開源項目的代碼貢獻並不能帶來直接的金錢利益,但開發者能夠將這段經歷寫進簡歷裏,以得到更多的就業機會。也能夠經過參與大型公司旗下的開源項目,從而得到進入這家公司工做的機會。
例如,一位我的開發者爲 TypeScript 作出一些有益的貢獻,那麼他就有可能成正爲該項目的核心貢獻者,從而得到微軟的注意,甚至能夠加入微軟的 TypeScript 團隊。
以上 6 點就是目前我的開發者可以從開源項目中獲利的廣泛方法。固然,可以徹底依靠上述開源活動謀生的我的開發者並很少見,以此致富的人更是屈指可數。一方面是大多數開發者僅專一於技術,缺少商業、運營、推廣等相關經驗,很難自發地從上述途徑中找到適合本身的獲利方法並執行下去;另外一方面,大多數開發者仍然有本身的本職工做,更多的開源愛好者仍是出於興趣用業餘的時間參與開源貢獻,不求回報地爲愛發電。
我的開發者是開源社區中一股不可忽視的重要力量,要讓他們獲得本身爲項目付出應得的收益分紅,來自社區官方的普惠性舉措是不可或缺的。
業內的舉措
一些開源相關組織機構也意識到了這一點。
去年 5 月,xs:code 平臺宣佈與 Redis Labs 展開一項新的合做,爲建立與 Redis 相關的開源組件的開發人員提供財務支持。
xs:code 是一個容許開發人員在其免費和開放源代碼之上提供付費產品和服務,從而幫助開源開發人員使用其代碼與軟件公司創建聯繫的平臺。這些公司享受高度維護的代碼,其能夠選擇從其開發人員那裏得到付費支持和諮詢,而開源開發人員則能夠得到持續開發所需的財務資源。
幾乎同一時期,微軟旗下代碼託管平臺 GitHub 推出了爲開源軟件開發者提供資金支持的工具—— GitHub Sponsors,該功能容許開發人員提供各類資金捐助等級,而且能夠從想要鼓勵他們工做的支持者那裏按期得到付款。爲了激勵企業與我的向構建有利於他們的開源技術的開發者支付費用,GitHub 還在去年 12 月推出了一個企業項目,讓企業向開源項目開發者支付費用。GitHub 表示,這個項目已經大幅增長了資金量,從美國運通、AWS、Stripe、Indeeds、微軟、Substack 和 Notion 等公司將數百萬美圓直接分發到了開源項目開發者的手中。
GitHub 產品總監 Devon Zuegel 表示,推出該計劃主要有兩個緣由。一個是簡單地對那些影響開源社區的開發者或從事贊助商欣賞的項目的開發者表示感謝。同時,一家公司可能會贊助某個從事其工做流程核心項目的人。掏出現金可讓這些核心開發者騰出更多時間專一於一個項目,或者更快地解決已知問題。
據悉,目前已經有數萬名開發者註冊了這個項目,數百名開發者利用這個項目全職爲他們的開源社區服務,有些人甚至拿到了六位數的薪水。
有業內人士認爲,如今仍有很是多的重要開源項目都在貢獻者不求回報的辛勤付出下勉強維持,用愛發電的開源奉獻精神當然偉大,但只有當愈來愈多的我的開源貢獻者的勞動付出可以獲得應有的回報時,整個開源產業生態才能健康地可持續發展。
參考連接:
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