開源新手指南
作為一名技術(shù)人員,你應該時不時會看到“開源”這個詞。你有可能在瀏覽推文、博文時看到過它,也有可能是在學習某一門編程語言或使用某個工具時,看到它的部分介紹寫著:這個工具/語言是“開源”的。總之,開源無處不在。
在本文中,我將介紹下面這三個話題:
- 什么是開源
- 貢獻于開源的好處
- 如何開始貢獻
什么是開源
開源指的是這樣一些軟件、項目或社區(qū):它們允許人們修改和分享,因為它們的設(shè)計目的就是為了讓所有人都能訪問。舉一個關(guān)于菜譜的例子:你可以做你從未發(fā)明過的菜,因為發(fā)明這個菜譜的人公開了它。大多數(shù)時候,你也可以根據(jù)自己的口味烹飪,而不會嗆到喉嚨(開個玩笑)。
開源軟件(OSS)是指源代碼可供他人查看、復制、學習、修改或分享的軟件。
下面是開源軟件和語言的一些例子:
- Linux 操作系統(tǒng)
- Google 的 Android 操作系統(tǒng)
- Firefox 瀏覽器
- VLC 媒體播放器
- Python 語言、PHP 語言、MySQL 數(shù)據(jù)庫
與開源軟件相反的是專有軟件 / 閉源軟件,只有軟件的創(chuàng)造者才能自由使用,其他人若想使用,就得先獲得法律許可才行。例如 Adobe Photoshop、微軟 Office 等。
開源不僅限于軟件或代碼,技術(shù)領(lǐng)域的任何人都可以為開源做出貢獻(各個角色)。有了開源,就有了透明度、可靠性、靈活性,并允許開放合作。
貢獻于開源的好處
向開源項目或軟件做貢獻意味著“免費”讓該項目變得更好。你應該會問自己,為什么我要關(guān)心或向自己強調(diào)“免費”呢?
貢獻開源的好處有很多,這里是其中一部分:
- 它能夠幫助你提高現(xiàn)有的技能,特別是對于新手而言,因為它允許你邊做邊學。
- 無論身在何處,你都可以與世界各地的優(yōu)秀科技人士協(xié)作或共事。
- 你可以公開自己的想法,從而改善軟件、項目或社區(qū),讓世界變得更美好。
- 你可以通過貢獻開源來得到大家的認可,或者成為獨特或偉大事物的一部分(獲得自豪感)。
- 它讓你有機會成為一個人才濟濟、活力四射的社區(qū)的一分子,你可以從中汲取靈感,并結(jié)識志同道合的人。
- 你可以因為貢獻開源而獲得報酬(OoO)!比如你可以參與一些實習,包括 谷歌編程之夏、Outreachy、谷歌文檔季,以及 Open Collective 的 賞金計劃等。
如何開始貢獻
我相信你會對上面提到的最后一點感興趣吧(o),那么,你該如何開始為開源軟件做貢獻呢?
是時候介紹一下 GitHub 了!
Github 是開源項目協(xié)作的大本營,因此它是一個開始貢獻開源的好地方。沒聽說過 GitHub?沒有關(guān)系!它提供了文檔和指南,很容易就可以上手。不過我還是要提醒你,學習是一個循序漸進的過程,不要太心急喔。
Github 以公共存儲庫的形式容納了許多開源項目。對于某個項目,你可以提交一個議題,來說明你注意到的錯誤或問題(或進一步提出改進意見),也可以創(chuàng)建一個拉取請求pull request(PR),并說明你的更正和改進。
我不建議你在 GitHub 上搜索項目來開始貢獻,這將是相當令人沮喪的。盡管你可以限定項目使用的編程語言來簡化搜索過程,但仍然會有一大堆東西出現(xiàn)在你眼前。
為了更精準地找到適合自己的項目,這里有一些可供開始的途徑:
- First-timers only:一個很好的資源網(wǎng)站,你可以在上面找到新手友好的開源項目來開始貢獻。
- 你可以創(chuàng)建你自己的開源項目,把你美妙的想法變成現(xiàn)實,并允許其他人的合作和貢獻。
- 加入一個社區(qū):你可以成為某個社區(qū)的成員,這也是傳播開源思想的一種方式。你可以在谷歌上搜索當?shù)氐拈_源社區(qū),并積極加入其中。
最后,我想給出幾個有用的提示,供你在貢獻開源項目時參考:
- 在加入之前,先對項目、社區(qū)或組織做一些研究;當你在做的時候,針對不清楚的地方提出問題。
- 當你加入社區(qū)時,盡量積極地介紹自己,并說明你能幫助項目的地方。
- 不要認為自己無法為項目提供任何幫助,停止這種念頭!你有很好的想法可以分享!
- 在存儲庫中看看別人提交的議題,(如果有的話)看看你能在哪些方面提供幫助,你可以關(guān)注帶有“good first issue”、“help-wanted”、“first-timers only”等標簽的議題。
- 在開始貢獻之前,一定要先看一下貢獻指南,這樣你在貢獻時就不會有沖突。
哪怕只是使用一個開源工具也是一種貢獻;參加一個開源活動也是一種貢獻;做開源項目的志愿者,或者為開源項目提供贊助也是一種貢獻。
我想用非洲開源節(jié)的口號來結(jié)束:“未來是開放的”,所以快上車吧!