關(guān)于開源,你需要知道些什么

要是你想要(或需要)知道 ??開源?? 的意思究竟是什么。我會介紹開源的一些基礎(chǔ),無論你是對項(xiàng)目貢獻(xiàn)感興趣,還是在想要融入的新工作圈子里總是聽到這個(gè)名詞,因?yàn)檫@個(gè)詞總是被人不斷的提起。
我坦白,我這個(gè)人沒什么技術(shù)經(jīng)驗(yàn),在極具技術(shù)性的開源社區(qū)中從事著內(nèi)容設(shè)計(jì)的邊緣工作。考慮到我原來的背景是營銷與傳播,我決定換工作時(shí)感覺就像離了水的魚兒。??Git??、數(shù)據(jù)科學(xué)、軟件的來龍去脈……直到一年后的今天,我依然感到難以消化。
但這正是為什么我要寫這篇文章。我想要讓開源變得不那么令人生畏。畢竟,開源的中心是一個(gè)支持型的學(xué)習(xí)社區(qū) —— 這個(gè)社區(qū)對所有人開放,無論你是否有技術(shù)經(jīng)驗(yàn)。
我會從基礎(chǔ)中的基礎(chǔ)開始。
什么是開源?
在此聲明,業(yè)界對開源的定義可以在 ??開放源代碼促進(jìn)會??Open Source Initiative
然而,大眾對“開源”軟件的認(rèn)知通常為它不用花錢,它的源代碼是公開的,任何人都可以對其貢獻(xiàn),你可以重新發(fā)布它或者用它做任何你想做的事。
這里面有些是真的,而有些則屬于常見的誤解,其中之一就是關(guān)于花費(fèi)。
開源只要 0 元
這是真的嗎?大部分情況下是,但不是所有情況。開源軟件的本質(zhì)在于代碼的公開性,所以獲取軟件本身確實(shí)不需要花費(fèi)。但是,依賴開源項(xiàng)目營利的公司也確實(shí)存在。但如果軟件不需要花錢,開源公司又是如何生存的?他們該如何盈利?
擁有“免費(fèi)產(chǎn)品”這個(gè)概念本身是反直覺的。但你要知道:一個(gè)公司不一定要靠出售軟件來賺錢,它也可以從產(chǎn)品的管理,數(shù)據(jù)的儲存,以及對客戶的支持中獲利。
很多公司都采用了訂閱模式,他們提供客戶支持服務(wù)以幫助客戶解決軟件問題并為客戶解答疑惑。數(shù)據(jù)儲存也并非免費(fèi),這也是能為公司帶來收入的另一領(lǐng)域。從這個(gè)角度來說,在銷售的“產(chǎn)品”不是軟件,而是訂閱服務(wù)。
- 開源代碼是公開訪問的:這是真的嗎?是的,永遠(yuǎn)都是?!伴_源”一詞的先決條件正是這份公開性。源代碼必須允許被查看、使用、修改和重新發(fā)布。
- 你可以用這份代碼做任何你想做的事:這是真的嗎?依情況而定。許可證條款會對你對代碼的使用方式作出限制,但你通常都可以用代碼做你想做的事。無論是調(diào)整該項(xiàng)目以滿足特殊需求,還是以此為基礎(chǔ)做些別的,開源軟件允許你和其他所有人對其修改。
- 任何人都可以貢獻(xiàn)開源項(xiàng)目:這是真的嗎?是的,但有限制。所有有??合適技能?? 的人都可以貢獻(xiàn)開源。但是,這不意味著所有的貢獻(xiàn)都會被接受和采納。
比如說,你對一個(gè)目標(biāo)是對地球上所有的鳥類進(jìn)行分類的項(xiàng)目感興趣。你恰好很喜歡恐龍,特別是那些最終進(jìn)化成如今的鳥類的恐龍。于是,你為所有最像鳥類的恐龍?zhí)峤涣藯l目。項(xiàng)目所有者在看到這些后可能會想:“不錯,這都是些很棒的史前鳥類?!钡麄円部赡軙J(rèn)為:“嗯……這些恐龍看起來像鳥,但他們還不是鳥,因此他們不屬于鳥類百科?!?/p>
幸運(yùn)的是,項(xiàng)目里的工作通常有法可依。開源項(xiàng)目通常有著貢獻(xiàn)指南和行為準(zhǔn)則,所以你不用擔(dān)心你會加入什么使得項(xiàng)目脫軌的東西。
為什么選擇開源呢?
那么,在眾多貢獻(xiàn)之后(如果這些貢獻(xiàn)完成的話),為什么人們愿意免費(fèi)贈送他們的軟件?如果有那么多人為此付出了時(shí)間與精力,他們?yōu)槭裁床荒苈?lián)合起來為軟件明碼標(biāo)價(jià)?
這個(gè)問題有很多回答。我在這里給出了一些:
- 創(chuàng)業(yè)是艱難的,如果你開發(fā)的項(xiàng)目展現(xiàn)不出賺錢的潛力則尤其如此。召集一群志同道合的人,沒有承諾也沒有對薪水的期望,相對而言要簡單得多。
- 大部分開源社區(qū)的成員對軟件的改進(jìn)或者實(shí)現(xiàn)感興趣,但他們沒有時(shí)間或者不愿意將項(xiàng)目作為他們的全職工作。有時(shí)候開源代表的是熱情驅(qū)動的項(xiàng)目、極客組成的團(tuán)體,還有凝聚眾人智慧對惱人問題的解決方案。
- 圍繞各種規(guī)模的開源項(xiàng)目形成的團(tuán)體促進(jìn)了支持型社區(qū)的成形,在這里貢獻(xiàn)者與旁觀者都可以練習(xí)他們的技能,改進(jìn)他們常用的軟件,互教互學(xué),并為發(fā)聲被聽到而感到振奮。很多開源社區(qū)本質(zhì)上就是高度集中的線上愛好者俱樂部。
我該如何參與呢?
現(xiàn)在你可能會問你自己:“我知道了這些信息又可以做些什么呢?我能貢獻(xiàn)開源項(xiàng)目嗎?如果我不夠優(yōu)秀的話該怎么辦?”
不要害怕 —— 即便是 ??新手?? 也歡迎為開源項(xiàng)目做貢獻(xiàn)。在與社區(qū)一起朝著更大的目標(biāo)共同努力的同時(shí),你也得到了一個(gè)磨練技能的絕佳機(jī)會。況且,正如我之前所說,最壞的情況也不過是你的提交不被“鳥類百科”所接受(而這也是因?yàn)轫?xiàng)目的所有者看不到你對鳥類百科的愿景,那是一片關(guān)于鳥類知識的網(wǎng)絡(luò)天地,鳥與他們的祖先在那里愉快地共存)。
你需要會寫代碼來貢獻(xiàn)開源嗎?與大眾認(rèn)知相違的是,??你不需要??。項(xiàng)目“需要舉全村之力”以興旺,這意味著他們需要來自不同背景的人的貢獻(xiàn)。視覺設(shè)計(jì)師、撰稿人、營銷、評審、翻譯、主題愛好者,甚至只是最終產(chǎn)品的用戶,都是可貴的貢獻(xiàn)者。他們不僅是幫忙搭建并改進(jìn)了產(chǎn)品,他們也識別出了漏洞,提出了修改建議,為項(xiàng)目做出宣傳,最終使得社區(qū)強(qiáng)大。
簡單來說,不論你的背景是什么,經(jīng)驗(yàn)有多少,只要你對開源或是某個(gè)特別的項(xiàng)目感興趣,你幾乎可以保證會被張開雙臂歡迎。
現(xiàn)在就加入開源吧
還是不確定應(yīng)該從哪開始?這里有些能幫助你的想法和資源:
- ??Up For Grabs?? 是一份“專門為新貢獻(xiàn)者策劃任務(wù)的開源項(xiàng)目清單?!边@里很適合新貢獻(xiàn)者們來尋找簡單的初次 PR 機(jī)會,這次機(jī)會也能讓你探尋你更喜歡哪種貢獻(xiàn)。
- 來看看 GitHub 上的這份??新手友好項(xiàng)目?? 列表吧。
- 如果你還是缺乏靈感,考慮一下??貢獻(xiàn)??(或一起“飛”) 紅帽Red Hat的開放設(shè)計(jì)系統(tǒng)??PatternFly??。
- LCTT 夾帶私貨:你還可以通過參與 LCTT 的翻譯工作來首次體驗(yàn)如何參與開源,這幾乎簡單到你只需要懂一點(diǎn)點(diǎn)英文和一些熱情,本文就是由開源貢獻(xiàn)者翻譯貢獻(xiàn)而成的。入口在此:??https://linux.cn/lctt/??




























