你知道GitHub是怎么火起來的嗎?
Github不是突然火起來的,在Ruby社區Github其實從一開始就很流行,我們2009年搞Ruby大會就邀請了Github的人來上海了,早在2009年Github在國內的Ruby社區就很有名氣了。之所以今天大家突然覺得Github火,只不過是因為剛拿到1億美元融資的眼球效應罷了。
Github是一個從Ruby社區誕生出來的項目,這幾年我也算是看著Github發展起來的,可以說Git在Ruby社區普及和爆發幾乎是必然的事情。Git雖然是Linux內核社區開發出來的,但前幾年一直不溫不火。真正在開源社區普及和爆發,是從Ruby社區和Github開始的。
Rails是一個高度集成的Web框架,通常情況下一到兩個Rails程序員做一個Web項目就夠了,一旦多人同時在一個Rails項目上工作,代碼提交和協作會遇到很大的麻煩,更不要說開源項目大規模遠程協作了。這算是Rails項目的一個痛點:單個工程師開發效率很高,但是團隊協作很困難,CVS/SVN這種集中提交式的SCM都不能很好的支持Rails團隊的工作模式。事實上我的Ruby團隊規模一大也遇到了這個難題,代碼提交經常沖突,協作困難。
Git這種良好支持分支管理的分布式的SCM真正解決了這個問題:每個工程師在自己本地分支上開發,完成功能以后往master分支合并。我們Ruby團隊使用Git以后,代碼提交沖突問題迎刃而解。所以Git這種SCM像是給Ruby社區量身打造的一樣,所以你可以看到Ruby社區幾乎沒有不用Git的。
Github本身也是這種需求下的產物,一些灣區的Ruby社區的程序員使用Git以后,找不到好的Git托管網站,于是就開發了Github出來。然后Rails框架率先遷移到Github上,形成了示范效應,整個Ruby社區呼啦啦都遷上去了。Ruby社區另有一好處:各種開源庫和包都統一用Gem格式發布,而一旦大量Gem都遷移到Github上了,Ruby程序員就跟著都開始用Github了。我當年就是為了跟一些gem的庫就開始用Gihub的。
這里多說兩句:Ruby社區是一個相當團結的社區,很少分裂,經常是一旦采用一個技術,整個社區就會迅速跟進和普及。雖然在國內Ruby是個小眾的編程語言,但是在硅谷,Ruby很火,被譽為云計算時代的Web編程語言。Ruby整個社區都遷移到Github,開始對其他編程語言社區形成示范效應,其他編程語言社區接著跟進。
Ruby程序員因為做Web開發,經常用JavaScript,很多Ruby社區核心人員本身也是JS社區的核心人員,JS社區也就很快進駐Github。同時Ruby社區因為DHH的示范效應,基本上整個社區都是人手一臺Mac,天然對OSX比較近,而隨著iOS開發的繁榮,大量的Ruby程序員跟進開發iOS app,帶動iOS社區也從Github上成長起來了。看看今天的Github,Ruby,JS和iOS的項目比例是非常高的,Java比例則遠不如Sourceforge和Google Code,這有一定的社區淵源。
Github也很重視社區活動,經常搞Drinkup,此外Github產品上有很多領先的地方,例如從網站產品上定位為social coding,支持大規模開源項目分布式協作的各種工作模式等等。
不過Github現在估值這么高,我認為主要還是云計算SAAS平臺的概念帶來的,它給企業用戶提供Private代碼倉庫托管收費服務是盈利的。云平臺現在估值都很高,Dropbox,Evernote都遠比Github估值高,所以Github現在的估值高也不算意外。