Chris DiBona擔(dān)心所有的東西會在一個地方終結(jié)笔链。
那是10年前段只,當(dāng)時開源軟件的想法尚未把技術(shù)世界翻個底朝天。開源的Linux操作系統(tǒng)已經(jīng)在華爾街等地的大量機(jī)器上運行鉴扫,證明了通過與世界免費共享軟件代碼一樣可以創(chuàng)造巨大價值和金錢赞枕。但是開源社區(qū)的力量仍然相對較小。碼農(nóng)啟動新的開源項目時坪创,往往要到一個相當(dāng)geeky且有時不大可靠的網(wǎng)站上炕婶,它的名字叫做SourceForge。
DiBona 莱预,Google的開源大牛擔(dān)心把全世界所有的開源軟件都放到一個籃子上的風(fēng)險:“只有一個籃子柠掂,那個籃子就是SourceForge”。
于是依沮,像許多公司一樣涯贞,Google建立了自己的網(wǎng)站,讓大家來托管開源項目危喉,這個網(wǎng)站的名字叫做Google Code宋渔。Linux等開源軟件是Google建立在線帝國的基石,Google提供一個SourceForce替代的想法是辜限,確保開源教不斷演進(jìn)皇拣,讓它最終遍布全網(wǎng)。
不過這中間殺出了個GitHub薄嫡,而它的傳播速度更快氧急。
今天颗胡,也就是誕生10年后,Google宣布關(guān)閉Googe Code态蒂。這個決定并不難預(yù)料杭措。過去3年Google已經(jīng)將大概1000個項目移出了網(wǎng)站费什。不過它的正式死亡值得注意钾恢。Google Code之死跟大環(huán)境脫不開關(guān)系,因為現(xiàn)在勢力龐大的開源界大部分都把自己的代碼托管到GitHub上鸳址。
有人認(rèn)為Google建Google Code可能有另外一個更加自私的想法:控制或者致力于把盡可能多的數(shù)據(jù)弄到它自己的機(jī)器上(這家公司一貫如此)瘩蚪。但GitHub最終體現(xiàn)出了比上述更高的價值。GitHub以比SourceForge或Google Code更徹底的方式實現(xiàn)了軟件開發(fā)的民主化稿黍。而這就是軟件開發(fā)世界最有價值的貨幣疹瘦。
GitHub:開發(fā)者的貓薄荷
上線僅7年的GitHub現(xiàn)在據(jù)稱已有將近900萬注冊用戶。每個月還有2000萬的訪客瀏覽巡球。根據(jù)web流量監(jiān)控服務(wù)Alexa的數(shù)據(jù)言沐,GitHub位列全球百大流行網(wǎng)站之中。
可別小看GitHub的上榜酣栈,因為榜單上的其他網(wǎng)站不是社交網(wǎng)站就是Google在各國的局點险胰,再就是媒體機(jī)構(gòu),主要用戶為碼農(nóng)的GitHub是個異類矿筝。
不過起便,具有諷刺意味的是,GitHub的成功之處正好在于開源世界回歸到一個集中容器上窖维。但這次DiBona的感覺跟大多數(shù)其他碼農(nóng)一樣榆综,對于把所有東西都放到一個地方感到相當(dāng)欣慰。集中到一個地方可以讓大家更容易就所有事情進(jìn)開展協(xié)作铸史。由于GitHub的獨特設(shè)計鼻疮,把所有雞蛋放到一個籃子的壓力并沒有像SourceForge那么大。
因為雖然GitHub在邏輯上是一個地方琳轿,但在物理上卻無所不在判沟。這一悖論正是開源軟件的美麗之處—也是它對技術(shù)的未來很重要的原因。
Git Ready
如何解釋這一悖論呢利赋?這得扯到Git水评,這個“版本控制”軟件是GitHub的基礎(chǔ)。Git是Linux創(chuàng)始人Linus Torvalds于2005開發(fā)出來的媚送。Git的好處是可以讓許多人同時折騰一套代碼而不會發(fā)生沖突中燥。.
或者說,Git的作用是讓任何人很容易就可以復(fù)制一份Linux源代碼到自己的機(jī)器上塘偎,進(jìn)行變更疗涉,并可以在任何時候把變更上傳到中心版本庫上拿霉。而且每個人的變更都可以無縫地合并到一起≡劭郏“這就是Git天才的地方绽淘,” DiBona說:“而GitHub的天才指出在于它理解這一點∧治保”
GitHub創(chuàng)建了這樣一個網(wǎng)站沪铭,這個網(wǎng)站讓任何其他項目基本都能像Linux項目一樣運作,使得一般編碼者都能輕松掌握偏瓤∩钡。“GitHub的確非常流暢,”經(jīng)歷過這場開源革命的Slashdot主編Rob “CmdrTaco” Malda說:“它擁有一個性感且現(xiàn)代的界面厅克∨馔耍”
現(xiàn)在相當(dāng)大部分的人都把自己的開源項目托管在GitHub上,其中就包括Google证舟、Facebook硕旗、Twitter甚至還包括開源界一度討厭的微軟。最近幾個月女责,微軟開始把自己部分最重要的代碼開源了漆枚,它把這些代碼托管在GitHub而不是自己的開源網(wǎng)站CodePlex。
S. “Soma” Somasegar鲤竹,這位掌管微軟大量工具的老兵說CodePlex像SourceForge及BitBucket等庫一樣仍將繼續(xù)運營浪读。但是他把GitHub視為像Microsoft.NET這樣的項目的唯一托管地⌒猎澹“開發(fā)者在哪里我們就去哪里碘橘,”他說:“而大多數(shù)的開源社區(qū)都在GitHub上≈。”
公私兼顧
盡管如此痘拆,正是由于DiBona所謂的“Git的天才之處”,這個社區(qū)也能脫離GitHub運營氮墨。由于有了Git纺蛆,編碼者在做特定項目時不僅能夠?qū)⒋a搬到自己的機(jī)器上,也很容易就能夠“fork(分支)”出代碼规揪,然后建立新的獨立項目桥氏。他們還可以將部分代碼公開并讓一部分代碼保持私有。
所以Git和GitHub并不僅僅適用于開源軟件猛铅。也能用在私有代碼上字支。從私有到公有的轉(zhuǎn)換十分方便。你可以孤軍奮戰(zhàn),也可以發(fā)揮集體的力量堕伪。這就是開源的天才之處揖庄。
Google就是這么干的。它的新一代語言Go就在GitHub上托管欠雌,且是徹底公開的蹄梢。有個名為Kartes的項目放在GitHub私有庫上面,但是這個又為另一個名為Kubernetes的公開項目提供資源富俄。Chrome瀏覽器則托管在Google內(nèi)部的一個私有Git服務(wù)上禁炒。
微軟這里系統(tǒng)也是基本一樣的運作方式。該公司內(nèi)部通過Visual Studio及Team Foundation Server這樣的工具來使用Git蛙酪。通過將Visual Studio及Team Foundation Server這樣的工具提供給世界齐苛,微軟也在將Git推給其他的業(yè)務(wù)翘盖。Somasegar估計約有20%的微軟客戶或多或少在使用Git桂塞。
開發(fā)者是人
此外,軟件開發(fā)者社區(qū)已不再渺小馍驯。他們現(xiàn)在幾乎就是掌控世界的人阁危。對于GitHub擠進(jìn)了前100,Doll認(rèn)為:“這告訴我一點汰瘫,即軟件正變得跟書面文字一樣重要狂打。”
Google工程師Igor Minar說混弥,開發(fā)者社區(qū)變得如此之龐大趴乡,以至于GitHub現(xiàn)在不得不努力提供可以適應(yīng)其最大型項目活動的工具。Minar是開源項目Angular的監(jiān)管人蝗拿,這個托管在GitHub上的項目有上萬開發(fā)者參與晾捏。
開發(fā)者無所不在。其中許多都在GitHub上哀托。而在GitHub上惦辛,他們正在為上千萬的開源項目作出貢獻(xiàn)。Minar把這個網(wǎng)站看作是某種集市仓手,上面幾乎有任何你想要的代碼—且大都是免費的胖齐。“想找東西上GitHub就可以了”嗽冒⊙交铮總之,開源已經(jīng)到來添坊。而這意味著我們最終可以比以前迅捷得多的方式建設(shè)塑造和改善我們的世界剿另。
有關(guān)GitHub的文章還可以參見:
GitHub:互聯(lián)網(wǎng)上的創(chuàng)新中心
本文編譯自:wired.com