1
十年前的開源軟件還沒有把科技圈搞的亂七八糟,而當時應用最廣泛的開源軟件要屬Linux系統(tǒng)了,甚至華爾街都把Linux部署在自己的服務器上。這說明了一點,利用全世界應用最廣泛的免費分享軟件一樣能夠創(chuàng)造價值,甚至可以賺錢。然而,開源社區(qū)依舊是個非常小的群體,那時如果某個程序員或極客想啟動一項全新的開源項目,通常會選擇一個不算穩(wěn)定的網(wǎng)站——SourceForge。
Chris DiBona當時在Google負責開源項目,也是一名開源大師,他非常擔心目前的開源軟件行業(yè),因為他覺得不該“把所有雞蛋都放進一個籃子里”。
“我們只有一個‘籃子’,SourceForge。”
因此,和許多公司一樣,Google也建立了自己的開源平臺Google Code,幫助用戶在上面自建開源項目。Google正是依靠Linux和其他開源軟件,才成為了一家互聯(lián)網(wǎng)巨頭,而除了SourceFore,Google Code也成了程序員的另一個選擇,確保開源可以繼續(xù)發(fā)展,并且在互聯(lián)網(wǎng)圈子里繼續(xù)傳播這種理念。
但之后,位于舊金山的GitHub橫空出世,讓開源理念傳播的更快。
終于,在Google Code推出十年之后,Google宣布將關(guān)閉這一平臺。當然,人們對此并不感到意外,因為在過去的三年時間里,Google已經(jīng)從這個平臺移出了約1000個開源項目。Google Code退出歷史舞臺并不會造成太大影響,因為絕大多數(shù)開源項目都已經(jīng)把自己的源代碼放在GitHub上,其中就包括從Google Code上移出的近千個項目中的一部分。
有人認為,Google之所以推出Google Code,是出于“自私”,因為他們希望掌控更多,盡可能在自己的平臺上保存開源代碼(他們也習慣這么干了)。但最終,GitHub還是甩開了Google,因為他們能為程序員提供更多價值,相比于SourceForge、Google Code等開源平臺,GitHub軟件開發(fā)民主化更徹底,這恰恰是軟件開發(fā)圈子里開發(fā)人員最看重的一筆“財富”。
GitHub目前已經(jīng)成立七年了,擁有900萬注冊用戶量,每月非注冊用戶訪問量大約為2000萬。根據(jù)網(wǎng)站流量監(jiān)測服務商Alexa的數(shù)據(jù)顯示,GitHub是全球最受歡迎的前100家網(wǎng)站之一。
GitHub上面沒有名人八卦新聞,也沒有貓咪視頻和社交聊天,而是程序員經(jīng)常使用的一個專業(yè)網(wǎng)站。GitHub戰(zhàn)略副總裁Brian Doll說道:
“全球排名前100名的網(wǎng)站,很大一部分是媒體網(wǎng)站,還有些是社交網(wǎng)站,另外有三十家是和Google相關(guān)的網(wǎng)站,當然還有我們GitHub?!?/p>
諷刺的是,GitHub的成功意味著開源世界又重新回到了“一個中央儲存庫放置所有代碼”的時代。但這一次,和其他大多數(shù)程序員一樣,DiBona卻對GitHub采用這種方式贊賞有加,因為將所有開源代碼保存在一個地方,更有助于用戶便捷協(xié)作。另外和SourceForge不同,GitHub獨特的協(xié)作處理方式,也讓“所有雞蛋放在一個籃子里”的風險降到了最低。GitHub非常重要,但是又不會局限在上面。
因此,即便所有的代碼都被放置在一處,GitHub依舊能“無處不在”,有時悖論可以讓人們真正看到開源軟件之美,也能讓人們感受到開源對未來技術(shù)的重要性。
雖然大家都知道把雞蛋放在一個籃子里風險很高,但GitHub卻用這種方式創(chuàng)造了開源軟件奇跡,那如何解釋這種悖論呢?答案就是Git。Git是GitHub開發(fā)的一套“版本控制”軟件,創(chuàng)造這套軟件的正是Linux之父Linus Torvalds。實際上,當Linus在2005年開發(fā)出這套軟件的時候,他只是希望能找到一個更好的方法去構(gòu)建Linux。有了Git版本控制軟件,人們可以同時編輯相同的Linux代碼,而不用擔心影響到其他人。
簡單的說,Git允許任何人將Linux源代碼下載到自己的電腦上進行修改,之后可以隨時將自己所做的改動上傳到Linux中央存儲庫內(nèi)。Git可以將每個人的改動無縫整合在一起。這就是Git軟件的天才之處,GitHub深諳此道。
GitHub創(chuàng)建了一個網(wǎng)站,讓每一個其他項目都能像Linux項目那樣,實現(xiàn)同步無縫編輯,程序員迅速掌握了這種代碼編輯方式。Rob "CmdrTaco" Malda是科技網(wǎng)站Slashdot總編輯,他評價GitHub這種開源革命:
“GitHub運行非常流暢,操作界面也很性感、現(xiàn)代?!?/p>
如今,絕大多數(shù)軟件公司都會將自己的開源項目部署在GitHub上,其中就包括Google,F(xiàn)acebook,Twitter,甚至連過去厭惡開源軟件的微軟也不例外。最近幾個月,當微軟將其最重要的源代碼實施開源時,他們選擇了GitHub,而不是自己旗下的開源網(wǎng)站CodePlex。
S. "Soma" Somaseger負責為微軟的軟件開發(fā)人員采集工具,這位微軟資深員工表示CodePlex將會繼續(xù)運營,Sourceforge和BitBucket這些源代碼存儲庫也不會很快消失。
“我們希望這些開源平臺能夠繼續(xù)存在,至少可以作為一種其他選擇?!?/p>
但是當微軟選擇開源Microsoft.NET項目時,他還是選擇了GitHub。
“我們希望滿足開發(fā)人員的需要,不得不說,GitHub是目前最大的開源社區(qū)?!?/p>
實際上,Git的厲害之處在于它能讓開源社區(qū)不局限在GitHub上,程序員不僅可以將某個特別項目的源代碼下載到本地電腦上面,也能將代碼分開,建立新的獨立項目,選擇哪些可以公開,哪些為私有。
或許你已經(jīng)發(fā)現(xiàn)了,其實Git和GitHub并不僅僅為了開源軟件而存在,他們也可以成為一個“私有”代碼平臺。在GitHub上,用戶可以在“私有”和“公開”模式下輕松切換。程序員既能在上面“干私活兒”,也能和其他人協(xié)作處理項目,這正是開源的魅力所在。
Google就在按上述套路出招,“Go”是他們新一代的編程語言,它在GitHub開源平臺上是完全公開的。另外,一個名為Kartes的項目在GitHub上則是“私有”狀態(tài),但它之后又支持了一個“公開”項目Kubernetes。而我們熟知的Chrome瀏覽器則是一個Google的“私有”Git服務。
微軟應用GitHub的方式與Google也很相似。在微軟內(nèi)部,他們使用Git軟件來管理其Visual Studio和Team Foundation Server工具。當然,微軟也在GitHub上公開分享代碼,向全世界提供軟件工具。微軟甚至向其他公司推薦Git版本控制軟件,現(xiàn)在微軟20%的客戶或多或少都在使用Git軟件。
更重要的是,程序員社區(qū)規(guī)模已經(jīng)變得越來越大。我們知道,科技世界里最重要的就是這幫人,隨著GitHub躋身全球網(wǎng)站前一百強,表明軟件正在變得越來越重要。
Igor Minar是Google工程師,他負責監(jiān)控Angular開源項目,該項目部署在GitHub上,并且有數(shù)萬名程序員參與。他透露,為了配合日益壯大的程序員社區(qū)規(guī)模,GitHub正在嘗試提供更好的工具以支持較大規(guī)模的開源項目。
程序員無處不在,很多人都在GitHub上為數(shù)萬個開源項目做貢獻。Minar把GitHub開源平臺形容是一個“義賣市場”,可以提供程序員所需的源代碼,而且是免費的!
“如果你需要一切代碼,上GitHub就可以了,在上面肯定能找到你所需要的?!?/p>
開源時代已經(jīng)到來,最終,開源將幫助我們以更快的速度去構(gòu)建、改善我們的世界。
VIA wired
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。