摘要:開源熱潮下,開源開發者的收入始終是影響專案可持續發展的一個核心問題,也曾有許多開源開發者因維持不了生計而中途放棄。而本文作者,在明知這些現象後,仍辭去了高薪工作轉向全職做開源——如今 6 個月後的他,對這個決定依然毫不後悔。
原文連結:https://mfiano。net/posts/2022-09-04-from-common-lisp-to-julia/
作者 | Josh Goldberg譯者 | 彎月
出品 | CSDN(ID:CSDNnews)
多年以來,我一直對開源軟體充滿了熱情。因此,2022 年 1 月下旬我正式辭職,並於 2022 年 3 月開始從事全職開源軟體開發的工作。
就目前的情況來看,這是一段令人振奮的旅程。我會很高興地對你說:我會將這份事業繼續下去!
開源工作的好處是,我可以選擇很有趣的技術和/或能夠推動現代 Web 開發向前發展的專案。但我也必須承認,開源存在不足之處:作為一個行業,我們依然沒有找到可持續的資金來支援絕大多數維護者。
我的工作成果
我有機會與一些了不起的人一起從事有趣的專案。以下是我引以為豪的一些開源工作:
TypeScript ESLint:錯誤修復、改進文件、新增新功能。
對自己在自動化規則文件方面所做的工作尤其滿意
TypeStat:錯誤修復、改進文件、新增新功能。
Stryker:新增方法表示式修改器。
eslint-plugin-expect-type:接管維護工作,並修復了一些 bug。
TypeScript:修復了一些 bug。
釋出 learningtypescript。com,並撰寫了幾十篇有關 TypeScript 的文章。
釋出 chooseyourframework。dev,包括 EightBittr 的一整套重構和改進。
開源 Refined Saved Replies Chrome 擴充套件。
此外,我重新開始在 Twitch 上直播,並將這些影片上傳到了我的 YouTube 頻道。
下面是我於 2022 年 3 月之後傳送的所有合併拉取請求:https://github。com/pulls?q=is%3Apr+author%3AJoshuaKGoldberg+is%3Amerged+created%3A2022-02-28。。2023-01-01+is%3Apublic
籌集資金十分困難
截止到目前,雖然我完成了所有這些工作,但每月只能獲得大約 600 美元的開源資助:
我自己的 GitHub 主頁獲得的資助:每月 200 美元;
TypeScript ESLint 的資助:每月 400 美元。
美國聯邦規定的最低收入為每小時 7。25 美元,即每月 1200 美元,也就是說我全職工作收入的每月 600 美元,大約是最低工資的一半。以我 2021 年的基本工資來計算,當時一天的薪水甚至高於我現在一個月的開源收入。
為了將個人收入提高到可以接受的水平,我想盡了各種辦法,比如為私人公司提供諮詢服務、釋出書籍《Learning TypeScript》以及偶爾稽核 pullrequest。com 上的拉取請求。但這些兼職佔用了開源工作的時間和精力,導致我的工作進入了一個惡性迴圈:作為開源維護者,我無法賺取可持續的收入,所以我必須從事兼職工作,但兼職工作會佔用開源工作的時間,導致我無法提升自己並獲得資助。
幸運的是,隨著我個人和我的專案受到越來越多的關注,我收到的資助也在增加。我的目標是到 2022 年底將收入提升到每月 1000 美元。
經驗教訓
此次全職開源開發的冒險經歷讓我學到了很多經驗教訓,以下是三個我一直在努力的領域。
平衡激情和優先順序
有趣的開源專案有很多,從可愛的業餘專案到具有很高影響力的開發工具。起初,我強忍住了跳來跳去的衝動,試圖強迫自己從事我認為影響力和知名度都非常高的專案。然而,我的內心卻不贊同:我發現只有從事夢寐以求的工作,效率才能達到巔峰。
這些天來,我總結了一份我感興趣的專案清單,並經常在這些專案之間來回穿梭。但是,如果遇到一些時間非常緊迫的問題,比如某個嚴重的 bug,我就會強迫自己專心做好一個專案。
宣傳自己
我其實不喜歡吹牛或主動提要求,也不喜歡花寶貴的時間在網際網路上乞討(比如寫這篇文章)。我的直覺告訴我,如果我從事具有重大意義的工作,並出色地完成了,人們就會資助我。
然而,現實很殘酷。我必須積極地宣傳自己,否則就只能默默無聞。而且,當其他人知道我是誰以及我在做什麼時,他們就可以向我訴說自己的想法,並讓我幫助他們解決痛點。積極地宣傳自己可以產生連鎖反應,因為隨著越來越多的人瞭解我,口口相傳的效果也會越來越好。
善待自己
獲得他人的資助比為公司工作更直接。我覺得這種方式能在我們之間建立感情上的連線。有一段時間裡,我不願意喝好咖啡,不願意出去吃飯,也不願在自己身上花任何錢。我覺得,他人資助的錢是為了讓我從事開源工作,我又怎麼能奢侈浪費呢?
但是對我自己來說,這種心態既不健康也不公平。我不應該因為收入來源的變化而放棄生活的樂趣。如果我將自己限制在最基本的生活消費上,那麼就無法創作出最好的作品。
當然,我也不會隨意揮霍我獲得的資助。
接下來的打算
如果你認為我的專案列表很有趣,那麼敬請期待接下來六個月會發生什麼吧。我的目標是到 2023 年春季之前完成以下工作:
與其他開發人員通力合作,將 TypeScript ESLint 升級到一個新版本6。x。
瞭解 TypeScript ESLintx 的內部結構,並著手解決大規模效能問題。
進一步完善TypeStat,使其穩定,並應用到一些常見的 React 專案。
標準化工具,並解決我的一些小型程式碼庫中的錯誤和功能,其中包括emojisplosion、konamomijisplosion、console-fail-test、eslint-plugin-expect-type 等。
繼續撰寫文章,解答常見的 TypeScript 問題。
還有一些未知的專案。開源 Web 開發的神奇之處就在於整個大環境都在不斷變化中。我非常期待接下來幾個月內會出現哪些技術創新。
支援我
上述所有偉大的目標都需要有所付出。我非常感謝大家給予我的支援,也非常感謝你們支援全職開源開發。你可以透過以下渠道支援我:
github。com/sponsors/JoshuaKGoldberg:你可以支援透過 GitHub 提供資金支援。
opencollective。com/typescript-eslint:支援 TypeScript ESLint 維護團隊。
learningtypescript。com:可以看看我的書籍《Learning TypeScript》,如果你喜歡,請給五星好評。
twitch。tv/JoshuaKGoldberg,twitter。com/JoshuaKGoldberg:請關注/點贊/訂閱我的頻道。
如果你在計劃舉辦會議、聚會或播客,也可以聯絡我。
感謝你的閱讀,開源快樂!
—