來自 GitHub 全球排名 Top 50 的開源大師 Anthony Fu (antfu) 最近舉辦了首次的一對一開源諮詢活動。在此活動中,他無私地分享了很多寶貴的開源經驗。在這篇文章中,我將分享一些我認為對開源初心者或者正參與但有點迷失方向的開源人非常有幫助的建議。希望這些心得能夠「開源」地無私分享給各位。
事前準備
在深入了解開源之前,建議先閱讀 Open Source Guides。
心態
參與開源的回報並非即時,往往需要長期累積。在開始參與或建立開源專案時,保持「別無所求」的心態是非常重要的。不要把利益放在第一,專注於學習和享受過程,樂於分享,即使在當下沒有實際回報,只要得到他人的認可,當你的信用和名聲慢慢累積,在長遠將會變得更易和更多方法獲得回報。
個人形象
建立個人形象識別對於開源活動非常重要,以下幾點建議可以幫助您提升個人形象:
- 選擇一個易記的網名。
- 使用具有識別度的頭像。
- 設計一個精美的個人網站或技術分享部落格。
- 建立社交媒體帳號,並保持活躍。
這些舉措將有助於在開源活動中讓別人更容易記住您,並且能夠提高您的信譽。
參與開源專案
如果您對某個開源專案感興趣,可以通過以下方式積極參與:
- 發 Issue:提出新功能建議,並與社群進行友善且積極的討論。
- 發 PR:主動修正現有 Issue 或開發新功能。
成為開源社群核心成員
對開源社群做出長期或重大貢獻後,有機會被邀請加入開源團隊。在成為核心成員之後:
- 在專案或社群決策上擁有更大的參與權。
- 雖然未必能得到實際回報,但身為「核心成員」將增加他人對您的信任,並為您的履歷增添亮點。
- 每個開源社群對核心成員的期望、要求和待遇各不相同,可能會根據個人情況分配職責和回報。
- 盡量保持對專案或社群的貢獻,無論是技術方面還是參與討論。
- 作為核心成員的認可意味著對您過去的貢獻有信任,因此不必擔心因貢獻減少而被踢出團隊,也無需給自己過大壓力。
建立開源專案
除了參與現有開源專案,創建自己的開源專案也能帶來收穫。
專案發想
建議選擇自己會用到的專案,或是解決自己遇到問題的方案。這樣的好處在於至少自己能用得上,且當他人遇到相同問題時,能夠使用你的專案作為解決方案。避免想出無法實際應用的專案,因為這樣很難長期維護。Anthony 發表過一篇關於 Yak Shaving 的文章,蠻推薦大家看一下的。
另外,盡量擴大專案的受眾範圍。例如,如果專案名稱為 vscode-vite-xxxx
,則使用者可能僅限於同時使用 VS Code 和 Vite 的人。
與現有的開源專案競爭
如果您創建的開源專案與市場上類似的產品競爭,則需要確保專案品質「超級好」。必須讓使用者有理由選擇您的專案,否則在剛推出時,由於社群支援、使用討論和第三方庫不足,大家可能不願意學習一個與現有解決方案相似的產品。
推廣
完成開源專案開發後,需要推廣讓更多人了解。
事前準備
做好充分準備,給看到您專案的人留下良好的第一印象。
- 為專案選擇一個易記且與其他專案不混淆的名字。
- 設計吸引人的識別標誌,精美的網站,以及充足的說明文檔。
- 盡量先讓周圍的人先使用,並根據他們的意見進行改進。
主動出擊
- 找到目標客群所聚集的地方,利用社交媒體進行宣傳,強調專案的優勢。
- 主動向回應您的人徵求意見,讓大家覺得受重視並樂於交流。
- 私訊一些大神請教意見,如果得到認同可能甚至會幫你推廣。
- 到 GitHub / Stack Overflow 等找到潛在需要您專案作為解決方案的人,讓您的專案能解決他們的問題。
- 如果您懂多國語言,可以讓您的產品在不同地區的社交媒體上被看見,因此懂英語的華人具有絕對優勢。
檢討
即使推廣完畢,也不能保證專案一定成功。可能有許多因素導致未達理想效果。找出問題,持續檢討,或許在失敗 9 個專案後,第 10 個將是您成功的產品。
更多開源獲利的方法
- 推出商業產品/服務,例如:
- Tailwind → Tailwind UI
- Next.js → Vercel 服務
- Nuxt → 顧問服務,開發工具等
- 商業合作
- 如果公司發現開源項目符合他們的需求,可能會與您談合作。
- 公司贊助廣告費,讓他們公司的標誌出現在開源產品網站上。
- 直接贊助 (例如:GitHub Sponsors)
以上就是這次諮詢的心得,希望能對想持續開源你有所幫助。