原來 GitHub 網紅是這麼混出來的 && 如何以正確的姿勢參與開源項目 頂 原

對於我而言,我會參與的開源項目,一般都是我正在使用的項目——這是一個很重要的大前提。只有你每天都在用,你纔會知道哪裏有問題,知道哪裏需要改進

一、完善文檔

用這個開源項目,就是最好的入門。基於這一個前提,我們再來看看,在這個項目裏的新手能做點什麼?先給大家看一下,我最早的幾次 Pull Request。這些都是我在用這個項目的過程中,發現的問題:

更新 README

Django UUSLUG

這個項目也是醉了,連個安裝方式都沒有。

Flask MongoDB README

這個是我在閱讀官方文檔的時候,發現怎麼操作都不對。我才意識到這個文檔是有問題的,順手給了個 Pull Reqeust。這種問題很容易在 README 裏找到錯誤。修復的成本比較低,而且算是比較嚴重的錯誤

代碼中打錯字了

PageSpeed Issue

給 PageSpeed 的這次 Pull Request 是因爲代碼中的一句錯誤提示的路徑不對。這雖然算是一個很小的語法錯誤,但是對於大部分人來說都是一臉懵逼。

Sequelize Typos

像這種也是相似的。如果是文檔錯誤,一般開發人員會二會不說就直接 merge 了。

除此,還有一種方式是:更新依賴版本

Update Package Version

不過,這一招是從別人身上學的,哈哈哈。

提 Issue

上述的完善文檔的方式,最適合於刷提交,然後就是提和處理 Issue 了。有用的 Issue 本身是在鼓勵作者,你的項目有人用呢。如這是以前我在使用 Mezzanine 庫的時候,發現在某個情況下響應特別慢:

Mezzanine Issue

然後我就去愉快地提了一個 Issue 來問作者——當時還在上學,沒啥經驗,不知道怎麼解決。後來,發現我用的 Python 版本是 2.6,在 Python 2.7 下就沒有這個問題了。相似的東西還有很多,這個時候一般來說,是要把各種環境、條件都羅列清楚

當你關注一個項目很久的時候,你就可以幫作者回復 Issue 來提高好感度。這一點上,我就做得不好了,沒有 watch 什麼項目。不過,要是看到的時候,都會回答一下的。

深入代碼去發現問題

沒有使用到的變量、方法

多餘的庫

這個是我在閱讀代碼的時候,發現的問題。在這個 seneca 項目裏,明明有這麼多過去使用到的,但是已經不再用的庫了,於是我就給了個 Pull Request。

添加一些功能支持:比如中文

Add Language Support

對於一些插件來說,它們都只有英語,而沒有中文翻譯——畢竟中文對於外國人蠻難的。這個時候,就可以添加一些中文翻譯。又或者是相似的修復一些中文的語法問題:

Fix Chinese Issue

深入到項目來實現功能

大部分的開源項目都會有 Roadmap 和 Issues 列表,按上面的內容去試圖實現功能就可以了。

blabla,我沒啥實戰經驗——主要是平時自己想玩的東西比較多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章