您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 >
GitHub一代:我們都是開源控
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/4/16 15:50:11 ] 推薦標(biāo)簽:

  我們是新的GitHub一代?GitHub塑造了新式開源文化?嗯,看看十幾年開源控、Getable CTO Mikeal Rogers 是怎么說的吧:

  GitHub本來想做一個開源軟件協(xié)作平臺,結(jié)果做著做著成了一個兼容并包、不僅僅是照顧程序員的平臺。現(xiàn)在,這個平臺也成了各類藝術(shù)家、建筑生產(chǎn)商、各大公司、甚至各大城市使用的平臺。

  例如,芝加哥市前陣子宣布了一項(xiàng)公告:“假如本市出現(xiàn)新的自行車道、公路或建筑物,那么人人都可修改GitHub上的數(shù)據(jù)。”另外,有些人則將家裝項(xiàng)目放到了GitHub上,有家律師事務(wù)所也在前幾天宣布,他們會將早期創(chuàng)業(yè)公司的融資相關(guān)法律文件全放到上面——而在去年,另有一個神人甚至將整個德國的法律全搬到了GitHub上。當(dāng)然了,GitHub現(xiàn)在依然是那些用Node.js做AR無人機(jī)、或者是用jQuery做網(wǎng)站的程序員光顧的地方。

  去中心化的一場革命

  大部分人聽到開源的第一反應(yīng)是“民主、分散、和平等”,想到所有人一起做東西,做出來給所有人用。

  但實(shí)際情況并非如此。大部分的開源軟件都是由那些享有一定特權(quán)的一小撮人創(chuàng)建并維護(hù)的——即專業(yè)的開發(fā)人員,而這些人又只會跟同個圈子、同個水平的一幫人互動(后者與前者盡管很像,但又足夠不同到可持相異觀點(diǎn)供雙方爭論)。

  在GitHub出來以前,我會花很多時間去思考、討論如何好地管理開源項(xiàng)目,因?yàn)檫@類項(xiàng)目的協(xié)同成本太高了。這個成本高到什么程度呢?當(dāng)一個項(xiàng)目做得不錯,又發(fā)展成一個規(guī)模不小的社區(qū)時,我們發(fā)現(xiàn),好的辦法是讓項(xiàng)目繼續(xù)龐大臃腫下去,而不是拆分成規(guī)模更小的項(xiàng)目。但這里面會有這樣一個問題,項(xiàng)目變得越大越復(fù)雜,個體越難對其作出貢獻(xiàn)。所以不得不有特定的一群會員,或者說所謂的“委員會成員”,被任命專門管理和生產(chǎn)項(xiàng)目,這也經(jīng)常導(dǎo)致項(xiàng)目實(shí)際的消費(fèi)人群和項(xiàng)目創(chuàng)作者之間的信息裂縫和信息斷層。

  但GitHub的“去中心化”開源模式則讓這種裂縫漸漸彌合,讓開源不再聚焦“項(xiàng)目”本身,而是越發(fā)彰顯個體特色。此話怎講?

  GitHub上的整個工作流程設(shè)計(jì)相當(dāng)個人化。每個GitHub用戶都有一個自己的賬號,而他們發(fā)布的所有資料都會隸屬于這個層級以下。假如某些人需要對某個項(xiàng)目做出修復(fù),他們只要“fork”(將項(xiàng)目分叉),即在自己的名下拷貝一個原項(xiàng)目的副本,進(jìn)行相應(yīng)的加工即可。

  這種工作流程是非常強(qiáng)大的:因?yàn)樗膭盍藗體用戶去對一個他人已創(chuàng)建的項(xiàng)目做修修補(bǔ)補(bǔ),而他們對該項(xiàng)目的所有權(quán)和控制權(quán)絲毫不亞于一個由自己先創(chuàng)建的項(xiàng)目。在這種新式的開源文化下,所有用戶都能擁有自己的身份和定位。而GitHub實(shí)際上也已經(jīng)成為互聯(lián)網(wǎng)上協(xié)作式內(nèi)容生產(chǎn)(peer-based production)大的身份提供商,不僅僅是在代碼方面。

  我自己做了十多年的開源項(xiàng)目貢獻(xiàn)者,但現(xiàn)在的開源文化跟當(dāng)年的一個很大不同是——我不再是某個項(xiàng)目的“會員”——而僅僅是某個項(xiàng)目的使用者。使用者的一個很大特點(diǎn)是,人人都可為項(xiàng)目貢獻(xiàn)“一點(diǎn)點(diǎn)”自己的力量。在我消費(fèi)、使用的各種各樣的小項(xiàng)目中,我會跟項(xiàng)目維護(hù)者有一些更小層面的互動,而且保持一周幾次。

  但更大的一種趨勢其實(shí)來自另一個方向:作為我自己的項(xiàng)目的發(fā)起者,現(xiàn)在我會收到有很多聞所未聞的人發(fā)來的關(guān)于這些項(xiàng)目的小代碼。

  民主升起在“去中心化”

  GitHub的第一版在一件事情上做得很好:他們讓個體發(fā)布代碼——而非雪藏代碼——變得比過去簡單很多。這也使得很多很有影響力的項(xiàng)目,比如說Ruby on Rails的項(xiàng)目,可以很快地遷移到GitHub上來。

  但接下來發(fā)生的事情實(shí)際更有趣:人們開始在GitHub上發(fā)布除代碼以外的其他東西,幾乎無所不包...不夸張地說,在GitHub上推代碼變得跟發(fā)微博一樣簡單。通過降低用戶的進(jìn)入成本、并讓用戶在開源項(xiàng)目中更方便地展開協(xié)作、貢獻(xiàn)力量,GitHub將“協(xié)作式生產(chǎn)”(peer production)的范圍擴(kuò)大到普通用戶。

  所以,GitHub式的開源文化降低了所有人的“創(chuàng)造門檻”——,對于那些富有創(chuàng)造力但又不具備深度技術(shù)知識的人來說,他們可以使用各類簡單又易于理解的軟件實(shí)現(xiàn)創(chuàng)意。而在過去,他們必須、而且只能具備深度的技術(shù)知識以參與到大型開源項(xiàng)目中。

  而平臺上發(fā)起者、貢獻(xiàn)者和消費(fèi)者這三類身份的日益彌合也使得那些更輕巧、更易懂的項(xiàng)目逐漸獲得更高的關(guān)注度——也催生了一批長尾的內(nèi)容貢獻(xiàn)。舉個例子,在2012年9月全月,超過半數(shù)的GitHub活躍用戶都發(fā)布了5次以內(nèi)的更改,而有22%(約4.4萬)用戶的更改次數(shù)只有一次(明顯的長尾趨勢)。

  這種開源軟件“業(yè)余化、平民化”的趨勢也有明顯的好處,如下:

  1.讓軟件變得更易用

  不能做到“傻瓜易用”(fit and finish)一直是開源軟件的一個問題。這類軟件的說明文檔和網(wǎng)頁設(shè)計(jì)通常都是亂糟糟的,產(chǎn)品的可用性也很差——尤其是跟很多專有的同類產(chǎn)品相比。

  但現(xiàn)在,因?yàn)樨暙I(xiàn)門檻的逐步降低,那些對技術(shù)不那么在行的用戶可將上述的幾個方面逐漸優(yōu)化,以方便自己對這類軟件的使用。而這意味著那些原本詭異的報(bào)錯消息現(xiàn)在變得越來越像人話,簡單修改一兩行CSS會讓網(wǎng)頁在一些更老的瀏覽器和手機(jī)上渲染。

  所以說,在新的開源文化下,人們希望自己不用成為技術(shù)專家可方便地使用技術(shù),“易用性”獲得了全所未有的關(guān)注和重視。

  2.規(guī)避過度“工程化”

  工程師們往往樂于接受挑戰(zhàn),要是能給他們更多的機(jī)會解決問題,他們越有可能想到聰明的解決方案——假如這類解決方案的終端消費(fèi)者跟這些工程師一樣,對技術(shù)有很好的理解,又會像他們一樣因?yàn)橛懈斆鞯姆椒ń鉀Q老問題而激動不已,那一切都沒問題。

  但問題是,業(yè)余愛好者只喜歡那些在他們眼中理所當(dāng)然、顯而易見的解決方案,一旦某個問題已經(jīng)得到解決,他們很少會回過頭去重新審視這個問題。因?yàn)闃I(yè)余愛好者只會利用那些顯而易見的解決方案做東西,這迫使開發(fā)人員不得不去尋找簡單而接地氣的解決方案來解決難題。

  3.支持一個更大的生態(tài)系統(tǒng)

  以我自己頻繁使用的Node.js為例,這種編程語言定義了足夠簡單的語法結(jié)構(gòu)(patterns),使得人人都可以編寫?yīng)毩⒌男⌒秃瘮?shù)庫,并按自己的意愿發(fā)布。在這個生態(tài)系統(tǒng)中,每個人都可以獨(dú)立享受當(dāng)中的價值,無需協(xié)作。這跟一些大型、垂直、擁有大量工具和功能、需要在特定環(huán)境下(比如說Cocoa和iOS)使用的棧(比如像ember, Dojo,YUI這樣的集成的插件系統(tǒng))形成了鮮明對比。

  但在開源環(huán)境下,如之前提到的Node.js,我們可以看到一些更小的 API空間輕松使用該生態(tài)系統(tǒng)中的其他資源,避開協(xié)調(diào)(比如用jQuery或node的標(biāo)準(zhǔn)回調(diào)模式來回調(diào)API)。開發(fā)者與開發(fā)者、庫與庫之間的協(xié)調(diào)越少,越利于我們創(chuàng)造價值。

  總結(jié)下來是,GitHub讓新一代的年輕人更方便地協(xié)作、創(chuàng)造和生產(chǎn)。很多開發(fā)者可能會因?yàn)檫^去那種正規(guī)開源文化(如“委員會圈子”、需要糾結(jié)使用哪種授權(quán)模式)的消弭而大唱挽歌——但開源的未來已經(jīng)掌握在那群無所顧忌、大步向前的新一代人手中。

  從這個角度來說,GitHub不僅僅是一個工具,它在創(chuàng)造一種全新的文化。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd