原來 GitHub 網紅是這麼混出來的 && 如何以正確的姿勢參與開源專案
對於我而言,我會參與的開源專案,一般都是我正在使用的專案——這是一個很重要的大前提。只有你每天都在用,你才會知道哪裡有問題,知道哪裡需要改進。
一、完善文件
用這個開源專案,就是最好的入門。基於這一個前提,我們再來看看,在這個專案裡的新手能做點什麼?先給大家看一下,我最早的幾次 Pull Request。這些都是我在用這個專案的過程中,發現的問題:
更新 README
這個專案也是醉了,連個安裝方式都沒有。
這個是我在閱讀官方文件的時候,發現怎麼操作都不對。我才意識到這個文件是有問題的,順手給了個 Pull Reqeust。這種問題很容易在 README 裡找到錯誤。修復的成本比較低,而且算是比較嚴重的錯誤
程式碼中打錯字了
給 PageSpeed 的這次 Pull Request 是因為程式碼中的一句錯誤提示的路徑不對。這雖然算是一個很小的語法錯誤,但是對於大部分人來說都是一臉懵逼。
像這種也是相似的。如果是文件錯誤,一般開發人員會二會不說就直接 merge 了。
除此,還有一種方式是:更新依賴版本
不過,這一招是從別人身上學的,哈哈哈。
提 Issue
上述的完善文件的方式,最適合於刷提交,然後就是提和處理 Issue 了。有用的 Issue 本身是在鼓勵作者,你的專案有人用呢。如這是以前我在使用 Mezzanine 庫的時候,發現在某個情況下響應特別慢:
然後我就去愉快地提了一個 Issue 來問作者——當時還在上學,沒啥經驗,不知道怎麼解決。後來,發現我用的 Python 版本是 2.6,在 Python 2.7 下就沒有這個問題了。相似的東西還有很多,這個時候一般來說,是要把各種環境、條件都羅列清楚
當你關注一個專案很久的時候,你就可以幫作者回復 Issue 來提高好感度。這一點上,我就做得不好了,沒有 watch 什麼專案。不過,要是看到的時候,都會回答一下的。
深入程式碼去發現問題
沒有使用到的變數、方法
這個是我在閱讀程式碼的時候,發現的問題。在這個 seneca 專案裡,明明有這麼多過去使用到的,但是已經不再用的庫了,於是我就給了個 Pull Request。
新增一些功能支援:比如中文
對於一些外掛來說,它們都只有英語,而沒有中文翻譯——畢竟中文對於外國人蠻難的。這個時候,就可以新增一些中文翻譯。又或者是相似的修復一些中文的語法問題:
深入到專案來實現功能
大部分的開源專案都會有 Roadmap 和 Issues 列表,按上面的內容去試圖實現功能就可以了。
blabla,我沒啥實戰經驗——主要是平時自己想玩的東西比較多。
轉載於:https://my.oschina.net/phodal/blog/846209