世界上不同的程序員,因開源活動而連接一起。這次 Hacktoberfest 活動除了可以拿到活動的限量衣服和貼紙之外,更可以認識到世界上不同的程序員。我看著不斷而來的討論和 PR,我找回了自己在編程上的熱情。如果你有興趣參與開源活動,但不知道如何入手的話,它會是一個不錯的起點。
Hacktoberfest 是一個由 DigtialOcean, Github, Twilio 共同打造的一年一度全球開源活動。參與者只需在十月一日到十月三十一日期間,在 Github 上五個遞交 Pull requests,就可以獲得活動的衣服。
成功例子
去年我就提交了五個簡單的 PR,從而獲得免費的衣服和貼紙。
相比起去年,這次活動送出的衣服更加多,總共五萬件。
雖然活動剛剛開始,已有超過一萬個成功完成挑戰的參加者。
而我也是其中一份子。
從上圖可見,每天都有幾千到一萬多的 Pull Request。
初心者
如果你剛剛入門開源的話,那麼你可以看一下 關於開源(英文) - DigitalOcean。
如果你第一次參與貢獻的話,你可以看一下 如何提交 PR (英文) - DigitalOcean。
你也可以到這三個網址搜尋善待初心者的開源項目。
你也可以到我的博客查看最新的 issues。
另外,你也可以從 TwilioQuest 遊戲 中學習如何貢獻到開源項目裡面。
項目運營者
如果你也像我一樣,有自己的 個人項目,那麼你可以簡單地在現有 issues 加上 Hacktoberfest
標籤。
透過以下這些步驟,你可以大幅度提升社區其他人參與你項目的熱情度。
- 增加開源項目徽章
透過增加徽章,你可以讓你的項目看起來更加專業。
你可以透過 Shields IO 增加各種各樣的徽章,它提供不同開源項目常用的徽章,例如 issues, forks, stars, 開源協議。
而增加 Accept Pull Requests 的徽章,可以讓你的項目開放性更加高。
- 增加
CONTRIBUTING.md
(.github/CONTRIBUTING.md) 添加貢獻者閱讀檔案,可以幫助其他人了解如何參加這個項目 例如你可以利用下面的例子:
# Contribution Guide
Before starting, you may need to know how to contribute in a good way. You can follow the rules here:
## Code Style
Commits should follow the Angular commit message guidelines. This is because our release tool uses this format for determining release versions and generating changelogs.
## Issues
If you encounter an issue with the Node.js library, you are welcome to submit a bug report. Before that, please search for similar issues. It's possible somebody has already encountered this issue.
## Pull Requests
If you want to contribute to the repository, follow these steps:
- Fork the repo.
- Develop and test your code changes: `npm install`
- Commit your changes.
- Push to your fork and submit a pull request.
這些文檔可以幫助開源社區的程序員參與你的項目。
- 提供一些充分定義,不同難度的 issue
透過 CodeFactor,你可以一鍵生成帶代碼地址,以及報錯描述的 issue。
使用 CodeFactor 後,我已經修復了幾個不影響系統操作的小問題。
- 保持包容的態度 值得注意的是,記得抱著一個開放而包容的態度,畢竟很多人(包括我)都是第一次參加這個活動。
貢獻者
你可以簡單地利用 Hacktoberfest
這個標籤來尋找哪些項目比較適合你做。
值得注意的是,你可以參與那些你經常用的工具項目。
在你貢獻之前,記得做以下幾個步驟:
- 了解貢獻是可以任何事情,包括修復錯誤,文檔更新,添加功能,以及最常見的文法,拼寫錯誤
- 看一下
CONTRIBUTING.md
- 學習如何使用
Rebase, 更新 Pull Request
後記
在去年的時候,我還是一個剛剛入門的初心者。所以只參加了一些簡單的項目。
然而,這個過程卻讓我學習到如何 fork, rebase, 開啟 pull request.
參與活動,並不需要修改很複雜的代碼,你可以提交一些簡單的修改,例如文檔修改,重構公共部分等。
可以預見的是,完成挑戰的參加者會越來越多。
透過這次活動,我也把博客系統裡面一些簡單,已經有思路去解決而又沒有修改的問題放出來。
開源社區的反應也是不錯,往往放出一個問題,一個小時到兩個小時就已經給人認領了。
而且不到幾天,就已經把問題解決好了。
直到現在,已經有十幾個 Pull Request 成功合拼到 master 分支。
千里之行,始於足下。
如果你有興趣參加這個活動的話,不妨考慮一下提交 issue 和 pull request 到 我的博客系統。
參考資料
- Hacktoberfest 2018 官網
- An Introduction to Open Source - DigitalOcean
- How To Create a Pull Request on GitHub
- Up For Grabs
- First Timers Only
- Awesome for Beginners
- TwilioQuest 遊戲
- calpa/blog: Calpa’s Blog Starter - Github
- Shields IO