Linux中國

關於開源,你需要知道些什麼

一份用簡單直白的語句來解釋開源的新手指南。

要是你想要(或需要)知道 開源 的意思究竟是什麼。我會介紹開源的一些基礎,無論你是對項目貢獻感興趣,還是在想要融入的新工作圈子裡總是聽到這個名詞,因為這個詞總是被人不斷的提起。

我坦白,我這個人沒什麼技術經驗,在極具技術性的開源社區中從事著內容設計的邊緣工作。考慮到我原來的背景是營銷與傳播,我決定換工作時感覺就像離了水的魚兒。Git、數據科學、軟體的來龍去脈……直到一年後的今天,我依然感到難以消化。

但這正是為什麼我要寫這篇文章。我想要讓開源變得不那麼令人生畏。畢竟,開源的中心是一個支持型的學習社區 —— 這個社區對所有人開放,無論你是否有技術經驗。

我會從基礎中的基礎開始。

什麼是開源?

在此聲明,業界對開源的定義可以在 開放源代碼促進會 Open Source Initiative 的網站找到。

然而,大眾對「開源」軟體的認知通常為它不用花錢,它的源代碼是公開的,任何人都可以對其貢獻,你可以重新發布它或者用它做任何你想做的事。

這裡面有些是真的,而有些則屬於常見的誤解,其中之一就是關於花費。

開源只要 0 元

這是真的嗎?大部分情況下是,但不是所有情況。開源軟體的本質在於代碼的公開性,所以獲取軟體本身確實不需要花費。但是,依賴開源項目營利的公司也確實存在。但如果軟體不需要花錢,開源公司又是如何生存的?他們該如何盈利?

擁有「免費產品」這個概念本身是反直覺的。但你要知道:一個公司不一定要靠出售軟體來賺錢,它也可以從產品的管理,數據的儲存,以及對客戶的支持中獲利。

很多公司都採用了訂閱模式,他們提供客戶支持服務以幫助客戶解決軟體問題並為客戶解答疑惑。數據儲存也並非免費,這也是能為公司帶來收入的另一領域。從這個角度來說,在銷售的「產品」不是軟體,而是訂閱服務。

  • 開源代碼是公開訪問的:這是真的嗎?是的,永遠都是。「開源」一詞的先決條件正是這份公開性。源代碼必須允許被查看、使用、修改和重新發布。
  • 你可以用這份代碼做任何你想做的事:這是真的嗎?依情況而定。許可證條款會對你對代碼的使用方式作出限制,但你通常都可以用代碼做你想做的事。無論是調整該項目以滿足特殊需求,還是以此為基礎做些別的,開源軟體允許你和其他所有人對其修改。
  • 任何人都可以貢獻開源項目:這是真的嗎?是的,但有限制。所有有 合適技能 的人都可以貢獻開源。但是,這不意味著所有的貢獻都會被接受和採納。

比如說,你對一個目標是對地球上所有的鳥類進行分類的項目感興趣。你恰好很喜歡恐龍,特別是那些最終進化成如今的鳥類的恐龍。於是,你為所有最像鳥類的恐龍提交了條目。項目所有者在看到這些後可能會想:「不錯,這都是些很棒的史前鳥類。」但他們也可能會認為:「嗯……這些恐龍看起來像鳥,但他們還不是鳥,因此他們不屬於鳥類百科。」

幸運的是,項目里的工作通常有法可依。開源項目通常有著貢獻指南和行為準則,所以你不用擔心你會加入什麼使得項目脫軌的東西。

為什麼選擇開源呢?

那麼,在眾多貢獻之後(如果這些貢獻完成的話),為什麼人們願意免費贈送他們的軟體?如果有那麼多人為此付出了時間與精力,他們為什麼不能聯合起來為軟體明碼標價?

這個問題有很多回答。我在這裡給出了一些:

  • 創業是艱難的,如果你開發的項目展現不出賺錢的潛力則尤其如此。召集一群志同道合的人,沒有承諾也沒有對薪水的期望,相對而言要簡單得多。
  • 大部分開源社區的成員對軟體的改進或者實現感興趣,但他們沒有時間或者不願意將項目作為他們的全職工作。有時候開源代表的是熱情驅動的項目、極客組成的團體,還有凝聚眾人智慧對惱人問題的解決方案。
  • 圍繞各種規模的開源項目形成的團體促進了支持型社區的成形,在這裡貢獻者與旁觀者都可以練習他們的技能,改進他們常用的軟體,互教互學,並為發聲被聽到而感到振奮。很多開源社區本質上就是高度集中的線上愛好者俱樂部。

我該如何參與呢?

現在你可能會問你自己:「我知道了這些信息又可以做些什麼呢?我能貢獻開源項目嗎?如果我不夠優秀的話該怎麼辦?」

不要害怕 —— 即便是 新手 也歡迎為開源項目做貢獻。在與社區一起朝著更大的目標共同努力的同時,你也得到了一個磨練技能的絕佳機會。況且,正如我之前所說,最壞的情況也不過是你的提交不被「鳥類百科」所接受(而這也是因為項目的所有者看不到你對鳥類百科的願景,那是一片關於鳥類知識的網路天地,鳥與他們的祖先在那裡愉快地共存)。

你需要會寫代碼來貢獻開源嗎?與大眾認知相違的是,你不需要。項目「需要舉全村之力」以興旺,這意味著他們需要來自不同背景的人的貢獻。視覺設計師、撰稿人、營銷、評審、翻譯、主題愛好者,甚至只是最終產品的用戶,都是可貴的貢獻者。他們不僅是幫忙搭建並改進了產品,他們也識別出了漏洞,提出了修改建議,為項目做出宣傳,最終使得社區強大。

簡單來說,不論你的背景是什麼,經驗有多少,只要你對開源或是某個特別的項目感興趣,你幾乎可以保證會被張開雙臂歡迎。

現在就加入開源吧

還是不確定應該從哪開始?這裡有些能幫助你的想法和資源:

  • Up For Grabs 是一份「專門為新貢獻者策劃任務的開源項目清單。」這裡很適合新貢獻者們來尋找簡單的初次 PR 機會,這次機會也能讓你探尋你更喜歡哪種貢獻。
  • 來看看 GitHub 上的這份 新手友好項目 列表吧。
  • 如果你還是缺乏靈感,考慮一下貢獻(或一起「飛」) 紅帽 Red Hat 的開放設計系統 PatternFly
  • LCTT 夾帶私貨:你還可以通過參與 LCTT 的翻譯工作來首次體驗如何參與開源,這幾乎簡單到你只需要懂一點點英文和一些熱情,本文就是由開源貢獻者翻譯貢獻而成的。入口在此: https://linux.cn/lctt/

via: https://opensource.com/article/22/11/get-started-open-source

作者:Katie Edwards 選題:lkxed 譯者:yzuowei 校對: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中國