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現在的估值高也不算意外。
相關文章
- AI新貴上位記:圖網路是怎麼火起來的?AI
- HttpRunner3的用例是怎麼執行起來的HTTP
- Python是如何火起來的 為何發展如此迅速Python
- 在GitHub,他們是怎麼玩的?Github
- 為什麼移動辦公APP火不起來APP
- GitHub上最火的開源專案及程式語言是什麼?Github
- C#是怎麼跑起來的C#
- php code 是怎麼弄出來的PHP
- DV SSL證書是怎麼誕生的?一起來了解一下
- CRM系統用不起來的原因是什麼?
- 產品版本生產怎麼快起來
- 是什麼讓你做的小遊戲聽起來怪怪的?遊戲
- Github怎麼玩Github
- 我在GitHub的工作是怎樣的Github
- 遊戲和CG裡的人物,都是怎麼動起來的(#2)遊戲
- 遊戲和CG裡的人物,都是怎麼動起來的呢?遊戲
- “S級>ABC級”是怎麼在遊戲動漫中興起的?遊戲
- 運維知識是怎麼構建起來的運維
- 網站流量到底是怎麼來的?網站
- 程式是怎麼跑起來的第二章
- 程式是怎麼跑起來的第五章
- 程式是怎麼跑起來的第七章
- SpringBoot是如何動起來的Spring Boot
- 《隱形守護者》之後,那些火不起來的真人互動遊戲遊戲
- 遊戲中的角色是如何“動”起來的?遊戲
- txt是什麼格式的檔案 txt格式怎麼弄出來
- 你來講講AQS是什麼吧?都是怎麼用的?AQS
- 前端學起來特別吃力,新人入前端怎麼學?前端
- JVM學習第一篇思考:一個Java程式碼是怎麼執行起來的-上篇JVMJava
- 網際網路是怎麼連起來的?一文讀懂網路5層結構模型模型
- 關於大資料到底是怎麼來的大資料
- 你知道Ctrl+Alt+Delete是怎麼來的嗎?delete
- 一個可執行檔案是怎麼來的
- 程式是怎麼跑起來的第四章
- 程式是怎麼跑起來的第九章
- 程式是怎麼跑起來的第六章
- 明明花了大價錢,為什麼你的CMDB還是用不起來?
- 你知道什麼是 GitHub Action 麼?Github