如何選擇第乙個開源專案

2021-08-11 11:05:34 字數 2439 閱讀 9129

名詞解釋:

* 問題(issue):在文中指的是開源軟體的使用者或測試者在github上提交的bug報告或改進意見.

* 推送請求(pull request):在文中指的是開源軟體貢獻者提交合入專案的**,文件等內容.

第一次提交**可能會另新手感到畏懼.這種感覺同走進乙個滿是陌生人且其中大多數相互不認識的房間一樣:你不了解話裡話外的段子,也不會聽說他們談到的流行文化元素.你不知道當你走進人群時時否會有人為了讓你加入他們的談話而稍稍靠邊站一些.或許他們會給你乙個鄙視的眼神.他們會告訴你你不該穿牛仔褲,你的眼球的顏色不同,你的發音不准.

這中感覺不僅發生在你第一次提交**的時候,甚至在開啟乙個問題都會感到害怕.你會想:我遇到的這個問題真的存在嗎?也許他們會因為你實現沒有搞清楚問題而說你蠢.

我作為exercism專案的維護者,見證過數以千計的人開始學會新的程式語言,為**提意見或者答覆反饋,開始為開源專案做貢獻.第一次貢獻可能令你害怕,但是只要在正確的指引下,我確信你會和我一樣愛上成為開源社群一員的感覺.

這裡是一些我挑選出來的資源,它們可以幫助你選擇對的專案,幫你為之做出具有深刻影響的貢獻,同時也幫助你提高技能水平.

為開源做貢獻的最佳方式是從你使用的專案開始.

這種方式有幾點好處:

* 熟悉專案做什麼和怎麼做

* 更加願意投入到專案的改進和成果產出中去

* 和專案之間持續存在的關係使你能持續參與其中

想想你最喜歡的庫,模組,外掛程式或者工具.審查你工作或業餘專案的依賴列表.找到專案庫,並瀏覽其中的**,文件和開啟的問題,以對專案有直觀的感受.

你大可不必選你能想到的規模最大,最具影響力的開源專案.更小的專案通常更容易上手,維護者也會感激你做出的貢獻,因為他們接受到的貢獻本身就不多.

你無法預知專案是否會接受你提的貢獻,但有兩件事可以增加你擁有美好第一次的機會.一是,尋找到專案歡迎貢獻者的跡象,二是,搞清楚他們需要什麼樣的貢獻方式.

通過觀察兩樣東西你可以得到是否想加入專案的自覺感受:活躍度和溝通風格.

看看提交commit列表:有無近期提交?提交的頻率如何?提交主要來自乙個人還是有多人參與?

看看開啟的問題:有多少?有新問題嗎?有非常舊的問題嗎?問題是否得到維護者的回應?有正在進行的討論嗎?再看看關閉的問題:有最近關閉的問題嗎?

類似的可以再看看推送請求.

觀察這些不會特別準確,你並不是在尋找準確的數字.如果專案不是特別活躍它仍有可能是乙個值得貢獻的專案,因為它已經是乙個成熟穩定的專案,不會有太多變化.但是如果專案有許多存在很長時間的問題和推送請求沒有得到維護者的應答,那麼你可以亮出你的小紅旗了.

一些維護者會使用友好的訊息和表情表達感激,確保新的貢獻者能感受到歡迎氛圍.

花些時間來通讀舊的問題或者郵件列表歸檔檔案,逛一下他們的slack或者irc頻道,如果他們使用的話,你會了解到專案如何推進.據此可以獲得對專案社群的感覺和你是否喜歡和這群人一起工作的判斷.

當你找到乙個你願意為之奉獻的專案時,仔細看一下readme.readme中可能會有專案的貢獻指南,這個指南常常會出現在contributing.md中.如果readme中沒有連線,你可以在目錄中直接尋找.

人們在這些檔案放置什麼內容沒有統一標準.然而專案還是很有可能會提到他們正在尋找什麼型別的貢獻.

另乙個尋找專案需要哪方面的幫助的地方在問題標籤頁中,檢視那些標有」需要幫忙」,」優先處理」的問題.

當你感覺是時候做出一些貢獻是,最好從小的開始.小的貢獻幫助專案維護者更好的了解你,並且相比主要特性變更或開發他們更有可能接受你的小貢獻.

幫助診斷問題是開始貢獻的一種行之有效的方式.當有新的bug上報時,看看自己能不能復現並提交你發現線索.

如果你足夠幸運,你會發現幾個重複開啟的問題,還有一些已經修復但是沒有關閉的問題.人們會詢問你已經有答案的問題,此時可以在文件中指出問題的所在,或者如果還沒有歸檔的話,你可以提交乙個更新文件的建議.

文件貢獻既簡單也困難.有的只是簡單的輸入和語法錯誤.有些涉及改善章節清晰性和條理性,或者是為問題更新文件.更具挑戰性的是重構或者新建一篇指導手冊.

從診斷問題和文件貢獻開始你的貢獻之旅,你將開始發現一些小的力所能及的貢獻價值.

並非只有你總是為期待的第一次做出貢獻而感到焦慮不安.即使是專業的軟體開發者也會被開放源**嚇到,因為這涉及到與素未謀面的人一起合作.

閱讀別人的經驗可以減弱這種恐懼.從阮曄軟體開發者到新手,關於第一次貢獻,每個人都有乙個故事:

儘管從你正在使用的專案開始是最簡單的方式.然而如果你在尋找你可能從來沒有想過的專案或點子,下面這些資源可以給你一些啟發:

如果你在尋找一些對待新人特別友好的專案,下面這些專案社群有非常棒的文件和氛圍:

當你不再因為流程而怯場時,你將獲得更多自信來應對你的第一次貢獻.下面是一些有用的資源:

下面的一些組織也能幫助你掌握git,github,貢獻開放原始碼的基礎:

每乙個人都有第一次,你可能可能需要一些時間來完成第一次開源貢獻,但是你可千萬別在那停下來.規律的貢獻對於你自己和社群來說都是有益的投資.下面這些專案能幫你保持熱情並使開發原始碼程式設計一種習慣.

第乙個專案

沒有搞懂自己領導的意思,不清楚這個專案到底如何推進 相關方沒有摸清楚,漏了好幾個,導致自己第一次開會前很忐忑,因為有一些人是第一次溝通 不敢開口問自己領導,這個專案的思路是什麼,一直是自己瞎琢磨。所以說,溝通很重要,真的很重要。不要做一些無用功,該說就說,該問就問。不輸錢不輸地的,怕什麼 專案沒有所...

2009 7 28 第乙個專案

在 有三天了,這個這兩天看了下文件,感覺有點模糊,不是很有把握的那種。對於那個管線系統的一些概念把握的還是很不准,心理沒底啊。那些東西不能含糊的,工作一定要認真。一絲不苟,多思考總結。上午去開了第乙個會,說是開會,其實就是幾個人在一起聊了一會兒。因為這個專案牽涉到幾個公司,所以另外兩家公司的人在 爭...

第乙個django,django專案

win10下django的實現 可能是由於環境變數設定的原因,在執行時只要使用django的內建方法等時就要給出其全路徑 我的python安裝在d盤,為 d python2.7 django安裝在python的安裝目錄下 我是在e盤下建立了projects資料夾,在該資料夾下建立django專案來學...