
- 如何開始開源之旅?
- 我知道x、y、z語言,我應該參與哪個項目?
- 如何篩選出符合我技能水平的項目?
在這篇文章中,我將嘗試以一種非常簡潔的方式回答這些問題。我還將提供一些資源,可能會幫助到你開始第一個開源項目貢獻。
什么是開源軟件(OSS)?
開源軟件顧名思義,源代碼是公開的,大家可以修改和添加。這些軟件是遵守各種各樣的許可方式發(fā)布的,如BSD、MIT等。閱讀幾行由優(yōu)秀程序員編寫的代碼會自然地提高你的編碼知識,并且能夠幫助你了解優(yōu)秀的編碼實踐。
開源JavaScript組件
你可以選擇從對開源社區(qū)做一些小貢獻(不用完整的項目)開始。比如說從小的、獨立、公開可用的JavaScript組件開始。它們可以是簡單的JS/NodeJS,也可以是使用React、VueJS、Angular或任何其他流行的庫/框架構(gòu)建的基于框架的組件。
Bit.dev是一個很受歡迎的組件中心,有超過34,000個開源JS組件。這是一個好的辦法,從小的開源項目做起,逐漸增加你的開源貢獻。它為組件的使用者提供了使用特定組件而不是整個庫的自由。
無論何時你構(gòu)建了一個值得共享的可重用組件(可能是作為私有項目的一部分),你都可以使用Bit在自己的組件集合中發(fā)布和為它提供文檔。

在Bit.dev中探索共享的React組件
如何為開源軟件做貢獻?
很多人認為對于開源軟件的貢獻都是關于編碼的。不僅如此,你還可以參與線上、線下推廣開源項目活動,修復項目文檔,編寫或翻譯文檔等,這些都是為開源軟件做貢獻的方式,這些都可以幫助改進開源項目。
下圖列出了一些可以為Mozilla開源項目做出貢獻的途徑。

圖片來源:Mozilla.org
為什么要做貢獻?
你要明白,為開源項目做貢獻的可以提升你的技術能力。初學者可以從一些小事開始,比如修復Bug、發(fā)送pull請求、編寫軟件文檔等參與。
它們還允許初學者學習編寫“干凈代碼”,一種可讀性和可維護性更強的代碼。對于編程來說,有很多不同的標準可以遵循,團隊不同,遵循的標準可能不同。當你在開源項目上工作時,應該遵守項目的規(guī)范。
參與開源貢獻還有另一個好處是共同打造社區(qū)。你有機會成為由志同道合的人組成的社區(qū)的一部分。如果你是一個自由職業(yè)者,同事你又是個積極的社區(qū)貢獻者,你很有可能被潛在的老板注意到。
在做貢獻之前的注意事項
按照Maryna的說法,在做出貢獻之前,你應該記住以下三件事。
- 編程語言:你應該選擇一種編程語言來查找開源項目,確保它符合你的技能和品味。
- 項目類型:一旦你選擇了你想使用的語言,你應該把注意力放到你想要做出貢獻的項目類型上。Github的所有項目都按照Topic歸類到不同的文件夾中。主題的一些例子有“安全”、“虛擬現(xiàn)實”、“文本編輯器”和“CSS預處理器”等。你可以滾動瀏覽這些類別,選擇你感興趣的主題。
- 項目的規(guī)模 :你應該關注項目的規(guī)模,比如說,像VLC這樣的項目不適合初學者,因為它非常龐大,當你開始時,建議不要用大型開源項目。請務必注意項目標簽,尤其是那些被貼上了“僅限新手”、“初學者”、“容易”的項目標簽。
我準備好了,接下來做什么?
你已經(jīng)了解了對開源軟件做貢獻時的基本事項,接下來讓我來幫助你開始使用一些資源,這些資源可以指導你在你最喜歡的編程語言上找到適合初學者的項目。
First Timers Only(僅限新手)網(wǎng)站
這個網(wǎng)站上有很多被認為是“適合新手”的開源項目,提供一些教程,幫助你熟悉GitHub上的貢獻工作流程。它還提供了許多小的附加功能,這些功能將幫助你在開源貢獻方面邁出滿意的第一大步。
https://www.firsttimersonly.com/
我們在Twitter上詢問人們,當他們第一次為開源項目做貢獻時,他們的感受是什么。回答是:
是的,很可怕。但是很值得!
OpenSource.com
這個網(wǎng)站包含了一個“適合新手”的開源項目列表,你可以從中選擇一個開始。它還提供了更多的資源,如OpenHatch,你可以在其中找到更多對初學者友好的項目。
https://opensource.com/life/16/1/6-beginner-open-source
Twitter Profiles
有許多推特機器人被設計用來轉(zhuǎn)發(fā)帶有諸如“僅限新手”和“適合新手”等標簽的推文。這些機器人能很好地讓這些推文定期出現(xiàn)在你的主頁上,這樣你就可以在瀏覽你的推特訂閱源的同時決定要參與貢獻的項目。
下面是兩個常見的推特資源:Your First PR、first-timers-only
Github
Github有很多開源項目,目前有一些對初學者友好的問題可以解決的項目。它們要么按編程語言排序,要么按難度級別排序:
Awesome First PR Opportunities
Beginner Projects
一旦你選定了你想要做貢獻的項目,那么就是開始行動的時候了。這里有兩個資源:
GitHub項目新手貢獻指南
僅限新手
有幾個組織舉辦的比賽能夠激勵你參與開源貢獻,例如Hacktoberfest和Hacktitude。
Hacktoberfest是一個由DigitalOcean和DEV運營的長達一個月的開源軟件慶典。Hacktoberfest對全球社區(qū)的所有人開放。一旦你完成了4份PR提交,你就會收到T恤和其他商品作為獎品。
相信看完文章,你有了一些準備了,希望未來你能為開源項目做貢獻,為社區(qū)盡自己的一份力量。
原文鏈接:https://blog.bitsrc.io/useful-tips-for-a-successful-open-source-project-a505d05aad07