Linux中國

開源新手指南

開源朗讀者 | 六開箱

作為一名技術人員,你應該時不時會看到「 開源 Open Source 」這個詞。你有可能在瀏覽推文、博文時看到過它,也有可能是在學習某一門編程語言或使用某個工具時,看到它的部分介紹寫著:這個工具/語言是「開源」的。總之,開源無處不在。

在本文中,我將介紹下面這三個話題:

  • 什麼是開源
  • 貢獻於開源的好處
  • 如何開始貢獻

什麼是開源

開源指的是這樣一些軟體、項目或社區:它們允許人們修改和分享,因為它們的設計目的就是為了讓所有人都能訪問。舉一個關於菜譜的例子:你可以做你從未發明過的菜,因為發明這個菜譜的人公開了它。大多數時候,你也可以根據自己的口味烹飪,而不會嗆到喉嚨(開個玩笑)。

開源軟體 Open Source Software (OSS)是指源代碼可供他人查看、複製、學習、修改或分享的軟體。

下面是開源軟體和語言的一些例子:

  • Linux 操作系統
  • Google 的 Android 操作系統
  • Firefox 瀏覽器
  • VLC 媒體播放器
  • Python 語言、PHP 語言、MySQL 資料庫

與開源軟體相反的是 專有軟體 proprietary software / 閉源軟體 closed source software ,只有軟體的創造者才能自由使用,其他人若想使用,就得先獲得法律許可才行。例如 Adobe Photoshop、微軟 Office 等。

開源不僅限於軟體或代碼,技術領域的任何人都可以為開源做出貢獻(各個角色)。有了開源,就有了透明度、可靠性、靈活性,並允許開放合作。

貢獻於開源的好處

向開源項目或軟體做貢獻意味著「免費」讓該項目變得更好。你應該會問自己,為什麼我要關心或向自己強調「免費」呢?如果你是新手,你可以閱讀 Edidiong Asikpo 的故事,她在 這篇文章 中說明了為什麼開源是她成長的催化劑。

貢獻開源的好處有很多,這裡是其中一部分:

  • 它能夠幫助你提高現有的技能,特別是對於新手而言,因為它允許你邊做邊學。
  • 無論身在何處,你都可以與世界各地的優秀科技人士協作或共事。
  • 你可以公開自己的想法,從而改善軟體、項目或社區,讓世界變得更美好。
  • 你可以通過貢獻開源來得到大家的認可,或者成為獨特或偉大事物的一部分(獲得自豪感)。
  • 它讓你有機會成為一個人才濟濟、活力四射的社區的一分子,你可以從中汲取靈感,並結識志同道合的人。
  • 你可以因為貢獻開源而獲得報酬(OoO)!比如你可以參與一些實習,包括 谷歌編程之夏 Google Summer of Code Outreachy 谷歌文檔季 Google Season of Docs ,以及 Open Collective 的 賞金計劃 bounty program 等。(LCTT 譯註:國內也有類似的開源實習機會,如「開源之夏」。)

如何開始貢獻

我相信你會對上面提到的最後一點感興趣吧( o),那麼,你該如何開始為開源軟體做貢獻呢?

是時候介紹一下 GitHub 了!

Github 是開源項目協作的大本營,因此它是一個開始貢獻開源的好地方。沒聽說過 GitHub?沒有關係!它提供了文檔和指南,很容易就可以上手。不過我還是要提醒你,學習是一個循序漸進的過程,不要太心急喔。

Github 以公共 存儲庫 repositories 的形式容納了許多開源項目。對於某個項目,你可以提交一個 議題 issue ,來說明你注意到的錯誤或問題(或進一步提出改進意見),也可以創建一個 拉取請求 pull request (PR),並說明你的更正和改進。

我不建議你在 GitHub 上搜索項目來開始貢獻,這將是相當令人沮喪的。儘管你可以限定項目使用的編程語言來簡化搜索過程,但仍然會有一大堆東西出現在你眼前。(LCCT 譯註:對於可愛的小萌新來說,這實在是難以承受 >…<。)

為了更精準地找到適合自己的項目,這裡有一些可供開始的途徑:

  • First-timers only:一個很好的資源網站,你可以在上面找到新手友好的開源項目來開始貢獻。(設計師朋友,我沒有忘記你!你可以查看 Open Source Design 這個網站,在上面也能找到新手友好的開源設計項目!)
  • 你可以創建你自己的開源項目,把你美妙的想法變成現實,並允許其他人的合作和貢獻。這裡 有關於如何創建開源項目的指南。
  • 加入一個社區:你可以成為某個社區的成員,這也是傳播開源思想的一種方式。你可以在谷歌上搜索當地的開源社區,並積極加入其中。

最後,我想給出幾個有用的提示,供你在貢獻開源項目時參考:

  • 在加入之前,先對項目、社區或組織做一些研究;當你在做的時候,針對不清楚的地方提出問題。
  • 當你加入社區時,盡量積極地介紹自己,並說明你能幫助項目的地方。
  • 不要認為自己無法為項目提供任何幫助,停止這種念頭!你有很好的想法可以分享!
  • 在存儲庫中看看別人提交的議題,(如果有的話)看看你能在哪些方面提供幫助,你可以關注帶有「good first issue」、「help-wanted」、「first-timers only」等標籤的議題。
  • 在開始貢獻之前,一定要先看一下貢獻指南,這樣你在貢獻時就不會有衝突。

哪怕只是使用一個開源工具也是一種貢獻;參加一個開源活動也是一種貢獻;做開源項目的志願者,或者為開源項目提供贊助也是一種貢獻。

我想用非洲開源節的口號來結束:「未來是開放的」,所以快上車吧!

感謝閱讀!

如果你還有疑問或需要幫助,請在 這裡 聯繫我,我很樂意和你討論開源,並幫助你做出首次貢獻!

LCTT 譯註:讀了這篇文章,你是不是想要馬上投身於開源貢獻呢?那麼請考慮加入「Linux 中國翻譯組(LCTT)」吧!我們有能幫助你快速上手翻譯的 維基 ,有熱心友愛的 QQ 群,你甚至還能夠在我們的官網上獲得屬於自己的譯者專頁……心動了嗎?那就立刻行動起來吧!閱讀 維基 以了解如何加入我們~

(題圖由 Markus ePixabay 上發布,經修改)

via: https://ruthikegah.xyz/a-beginners-guide-to-open-source

作者:Ruth Ikegah 選題:lkxed 譯者:lkxed 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國