GITHUB:征服谷歌、微軟及其他巨頭的服務
10年前,雖然開源軟件尚未對科技行業造成翻天覆地的影響,但開源的Linux系統已經運行在華爾街及其他行業大量的計算機上,免費代碼開始顯露出巨大的威力——創造巨大的價值以及經濟利益。但彼時開源社區規模尚小,如果有人想要開始一個新的開源項目,他們通常只能在有限的工作條件下進行,有時不得不借助一個稱之為SourceForge的網站的幫助。
克里斯·戴博納(Chris DiBona)有著一頭長發,是谷歌的開源大師,他對此感到憂心忡忡,認為開源軟件在一個網站上過于集中可能會為整個行業帶來不可預知的風險。
因此,如同其他公司的做法一樣,谷歌創建了自己的開源軟件托管網站Google Code。公司在Linux和其他開源軟件的基礎上構筑了自己的在線帝國,而現在,其推出的Google Code讓開源社區有了更多的選擇。谷歌試圖讓開源可以持續發展下去。
然而,事情有了意料之外的變化,GitHub橫空出世,并以極快的速度傳播和發展。
今天,在Google Code推出10年之后,谷歌宣布將關閉該服務。這一決定并不讓人感到意外,在過去3年左右的時間里,成千上萬的項目從其上轉移出去。造成Google Code黯然退場的主要原因是如今大多數開源項目都將代碼托管在GitHub上,后者由一家舊金山初創公司開設。從Google Code轉移的項目中的絕大多數棲身于GitHub。一些聲音認為,谷歌出于自私的目的創建了Google Code,公司想要控制一切,或者說,想要讓盡可能多的數據保存在自家的機器上。最終,人們發現,GitHub提供了更多的價值。GitHub以一種更加徹底的方式讓軟件開發過程民主化,在這一方面,其遠比SourceForge、Google Code或其他類似服務做得更好,而這是軟件開發世界里人們最為看重的東西。
開發人員的樂園
推出7年后,GitHub擁有近9百萬注冊用戶,而每月另有大約2千萬未注冊用戶造訪該網站。依據網絡流量監測網站Alexa的數據,GitHub目前位列全球最受歡迎的100個網站之一。對于一個通常只有開發人員才使用的網站,這是驚人的數字。“如果你查看前100名的網站,”GitHub戰略副總裁布萊恩·道爾(Brian Doll)說道。“絕大多數都是社交媒體類。”
具有諷刺意味的是,伴隨著GitHub的成功,開源世界反而回到了采用中央資料庫的集中模式。但這一次,戴博納和大多數開發者都對此感到滿意。他們覺得采用集中制可以讓協作變得更加容易。得益于GitHub獨特的運作方式,集中制不會導致SourceForge面臨的問題。
將所有代碼保存于一處,反而讓GitHub變得無處不在。上述悖論顯示了開源軟件之美,也體現了其對未來科技的重要性。
業界大佬的選擇
如何解釋上述悖論?我們需要看看Git,這是GitHub的版本控制軟件。旨在更好的構筑Linux ,其創建者林納斯·托瓦茲(Linus Torvalds)于2005年創建了Git。借助Git,人們可以在相同的Linux代碼上同時開展工作,無需擔心影響到其他人。
簡單來說,Git讓每個人都可以下載一份Linux源代碼到自己的機器上并自由修改,然后上載至中央Linux資料庫。這樣,每個人的改動都可以無縫整合。“這就是Git厲害的地方,”戴博納說道。“而GitHub的厲害之處是讓每個人都可以理解這種運作機制。”
GitHub讓所有軟件項目都能像Linux項目一樣工作,普通的開發人員也極易上手。現在,包括谷歌、Facebook、Twitter甚至微軟在內的業界巨頭都將自己的開源項目托管于GitHub之上。近來,微軟陸續對旗下某些重要產品開源,他們選擇了GitHub而非自家的開源站點CodePlex來托管上述代碼。
據微軟內部一位資深人士稱,雖然存在諸多選擇,但對于像Microsoft .NET這樣的項目來說,GitHub是唯一適合的地方。
公私分明
得益于戴博納口中“Git的厲害之處”,開發者社區可以與GitHub保持距離。開發者不但可以下載代碼至本地,而且可以任意決定代碼的公開范圍。Git和GitHub同樣可以用作專有軟件開發的目的。開發者隨時可以決定代碼公開與否。
Go作為谷歌新時代編程語言,在GitHub上就處于完全公開的狀態。而一個稱之為Kartes的項目則處于非公開狀態,但其會支持對應的公開項目Kubernetes的發展。Chrome瀏覽器則完全處于谷歌非公開Git服務的托管下。
在微軟也是同樣情形。公司內部通過Visual Studio和Team Foundation Server來使用Git,同時通過GitHub分享代碼。在微軟的影響下,大約20%的公司客戶都在某種程度上使用Git。
時至今日,軟件開發者社區的規模已不可同日而語。從GitHub在全球網站的排名也可以看出,代碼正在變得與文字同等重要。
而隨著項目涉及的開發者數目越來越多,GitHub也正在考慮部署新的管理工具。例如,托管在GitHub上的開源項目Angular有數萬人參與其中。
目前有不計其數的免費代碼正托管于GitHub上,它們最終將以更快的速度改變我們的世界。