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

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

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