從快速增長(zhǎng)到無(wú)處不在,GitHub如何走上“封神”之路
文/Hiten Shah
譯/安翔
來(lái)源: CSDN(ID:CSDNnews)
2008年,在無(wú)數(shù)人為代碼協(xié)作方式而感到異常頭疼的時(shí)候,GitHub橫空出世,完美契合了市場(chǎng)的迫切需求。自此,它以驚人的速度成長(zhǎng)起來(lái)并蔓延到全世界,徹底融入開發(fā)編程的日常之中。僅僅十年,現(xiàn)在的 GitHub已經(jīng)成為開源的事實(shí)標(biāo)準(zhǔn),左右著無(wú)數(shù)開發(fā)者的編程命脈。本文就從最開始的地方,一起來(lái)追溯 GitHub的“封神”之路。
2008年,Tom Preston-Werner、Chris Wanstrath 和 PJ Hyett 三位摯友聚在一起,準(zhǔn)備合作開發(fā)一個(gè)周末小項(xiàng)目。但是沒(méi)過(guò)多久,他們便意識(shí)到這個(gè)想法可能比他們預(yù)想的要大得多。他們的想法遠(yuǎn)不止一個(gè)周末小項(xiàng)目那么簡(jiǎn)單,它將徹底改變?nèi)藗兙帉懘a和分享代碼的方式。
這個(gè)想法就是GitHub。
在短短10年間,GitHub便徹底改變了人們的編碼方式。GitHub不僅讓編碼變得容易,它還改變了軟件開發(fā)人員對(duì)編程的看法和理解。
世界范圍內(nèi),無(wú)數(shù)的人都在為代碼協(xié)作方式感到頭疼,GitHub橫空出世,解決了這個(gè)疑難問(wèn)題,并設(shè)計(jì)出了市場(chǎng)迫切需要的優(yōu)雅解決方案。以此,它得以驚人的速度發(fā)展壯大,取得了巨大的成功。通過(guò)圍繞開源項(xiàng)目 Git 構(gòu)建 SaaS 服務(wù),GitHub能夠?yàn)殚_源生態(tài)系統(tǒng)提供價(jià)值并從中獲利。GitHub對(duì)微軟來(lái)說(shuō)充滿吸引力,盡管微軟曾經(jīng)在開源社區(qū)并不顯眼,但它在2018年6月初對(duì)GitHub進(jìn)行了收購(gòu)。
我們一起來(lái)看看下列問(wèn)題:
●GitHub如何從一個(gè)版本控制系統(tǒng)發(fā)展為程序員的社交工具,并最終成為在線存放和管理代碼的重要場(chǎng)所?
● 為什么GitHub的免費(fèi)增值模式運(yùn)行良好,并且能夠如此有效地引領(lǐng)時(shí)代?
●GitHub如何抓住了廣闊的潛在市場(chǎng)需求,并圍繞這種需求創(chuàng)造了一種剛需產(chǎn)品?
為了更好地理解GitHub的重要性,我們需要回到2008,了解當(dāng)時(shí)的軟件開發(fā)現(xiàn)狀,以及是什么造就了偉大的GitHub。
1
2007-2011:代碼協(xié)作與軟件社交
比爾蓋茨和史蒂夫喬布斯從根本上重塑了個(gè)人計(jì)算機(jī),他們成為家喻戶曉的名人,但我們也完全無(wú)法忽視芬蘭軟件工程師 Linus Torvalds 對(duì)科技領(lǐng)域的巨大貢獻(xiàn),他創(chuàng)造了 Linux 操作系統(tǒng)。當(dāng)時(shí)的 Windows 和 Mac 幾乎統(tǒng)治了整個(gè)操作系統(tǒng)領(lǐng)域,Linux 操作系統(tǒng)于1991年發(fā)布,它是一個(gè)非常靈活、輕量級(jí)和安全的開源操作系統(tǒng),面世之后,很快就受到了想要對(duì)系統(tǒng)進(jìn)行深入控制的極客以及技術(shù)人員的青睞。
發(fā)明一個(gè)全新的操作系統(tǒng)這樣的成就可能對(duì)大多數(shù)程序員來(lái)說(shuō)都應(yīng)該感到知足了,但 Torvalds 卻并不滿足,他沒(méi)有停下創(chuàng)新的腳步。2005年,Torvalds 推出了他的最新項(xiàng)目:一個(gè)名為 Git 的新的版本控制系統(tǒng)。版本控制對(duì)編程協(xié)作來(lái)說(shuō)至關(guān)重要,它需要跟蹤計(jì)算機(jī)中隨時(shí)間變化的文件。它與計(jì)算機(jī)備份系統(tǒng)用作還原點(diǎn)的“快照”類似,版本控制系統(tǒng)讓程序員能夠通過(guò)“fork”或者“分支”來(lái)管理項(xiàng)目代碼,程序員在同一個(gè)項(xiàng)目工作,但不會(huì)影響其他人編寫的代碼。程序員可以在自己的分支上進(jìn)行開發(fā),之后將新的代碼合并到主項(xiàng)目(也就是代碼倉(cāng)庫(kù))中。
在 Git 誕生之前,程序員之間進(jìn)行編程協(xié)作的方式很少。其中 Subversion 比較受歡迎,它是一個(gè)開源的版本控制系統(tǒng)。它存在著與其他版本控制系統(tǒng)類似的缺點(diǎn),當(dāng)然這些缺點(diǎn)是當(dāng)時(shí)的協(xié)作編程概念所無(wú)法避免的。即使使用了Subversion,與開源團(tuán)隊(duì)合作通常也需要獲得項(xiàng)目管理員的許可才能 fork 項(xiàng)目的一個(gè)分支,否則便無(wú)法編輯代碼。在許多情況下,批準(zhǔn)過(guò)程比編寫代碼花費(fèi)的時(shí)間更長(zhǎng)。許多開源項(xiàng)目都受到權(quán)限問(wèn)題以及其它一些低效率事情的困擾。
當(dāng) Git 于2005年發(fā)布時(shí),開源領(lǐng)域正在經(jīng)歷一場(chǎng)文藝復(fù)興。那時(shí)的開發(fā)者對(duì) Linux 充滿濃烈的興趣。第一個(gè) Web 2.0 應(yīng)用程序已經(jīng)開始出現(xiàn)。許多公司正在將他們的項(xiàng)目遷移到開源服務(wù)器。盡管 Git 通過(guò)引入 fork 概念使得開源項(xiàng)目的合作變得容易,但 Git 依然有其局限:它無(wú)法幫助開發(fā)人員尋找開源項(xiàng)目。許多程序員開發(fā)了大量的優(yōu)秀開源項(xiàng)目,但卻很難讓他人知道這些項(xiàng)目。
GitHub改變了這一切。
PJ Hyett 和 Chris Wanstrath 在2007年開始討論GitHub項(xiàng)目,當(dāng)時(shí)這兩人都是科技網(wǎng)站 CNET 的程序員。他們都支持 Ruby on Rails 開發(fā)框架。當(dāng)他們?cè)?CNET 工作時(shí),Hyett 和 Wanstrath 還為 Rails 的代碼庫(kù)提出了一些改進(jìn)和建議。但是,讓其他人真正查看他們的代碼是另一回事。
正如當(dāng)時(shí)大多數(shù)開源項(xiàng)目的典型情況一樣,Rails 的代碼庫(kù)由一個(gè)小型的、緊密結(jié)合的程序員管理,他們手動(dòng)管理對(duì)代碼庫(kù)的貢獻(xiàn)。這些程序員扮演者管理員的角色。Hyett 和 Wanstrath 不僅要請(qǐng)求這些管理員查看他們的代碼,還要讓他們相信自己提交的代碼對(duì) Rails 項(xiàng)目是有價(jià)值的。即使其中一個(gè)項(xiàng)目管理員認(rèn)為提交的代碼有用,但是補(bǔ)丁的合并也不會(huì)很容易。
從本質(zhì)上講,想要為 Rails 項(xiàng)目貢獻(xiàn)代碼,熟人的爛代碼比陌生人的好代碼更容易通過(guò)。
Git 試圖解決其中的一些問(wèn)題。Linus Torvalds 的版本控制系統(tǒng)與他幾年前單槍匹馬打造的操作系統(tǒng)一樣出色。Git 使得程序員無(wú)需管理員開通訪問(wèn)權(quán)限,即可進(jìn)行編碼協(xié)作。Git 是編碼最終民主化的關(guān)鍵第一步,特別是在開源社區(qū)。但是,盡管 Git 解決了很多問(wèn)題,但它缺乏協(xié)作工具,并且兩個(gè)程序員之間共享代碼仍然很笨拙和困難?,F(xiàn)在可能很難想象,當(dāng)時(shí)軟件開發(fā)人員需要通過(guò)電子郵件不斷來(lái)回發(fā)送補(bǔ)丁,這就很容易理解為什么迫切需要GitHub。
遺憾的是,這不是 Git 唯一需要的東西。起初 Git 主要依賴于命令行界面,好在 Git 發(fā)布后很快就推出了圖形界面。對(duì)于那些多年來(lái)一直在編寫 bash 腳本和正則表達(dá)式的系統(tǒng)管理員和其他高級(jí)用戶來(lái)說(shuō),這是個(gè)好消息。對(duì)于其他人來(lái)說(shuō)感覺倒并不明顯。
“人們開始在 Ruby 會(huì)議上談?wù)?Git。主要討論它的好處,但有時(shí)也談到缺點(diǎn)。Git 會(huì)以分布式方式處理代碼,但是如何保證共享私有代碼的安全性呢?唯一的選擇是在 Unix 計(jì)算機(jī)上設(shè)置用戶帳戶并將其用作臨時(shí)解決方案。這個(gè)解決方案并不理想?!? —?Tom Preston-Werner
盡管存在這些缺點(diǎn),但 Git 依然充滿潛力,它給來(lái)自灣區(qū)的 Ruby 程序員 Tom Preston-Werner 來(lái)了一些想法。當(dāng)時(shí) Preston-Werner 正在開發(fā)一個(gè)名為 Grit 的項(xiàng)目,這個(gè)工具讓程序員能夠使用 Ruby on Rails 以面向?qū)ο蟮姆绞皆L問(wèn) Git 存儲(chǔ)庫(kù)。Preston-Werner 在舊金山一家名為 zeke's 的體育酒吧內(nèi)舉辦的 Ruby 會(huì)議上認(rèn)識(shí)了 Chris Wanstrath,Preston-Werner 把 Grit 告訴了 Wanstrath。
Preston-Werner 的愿景是創(chuàng)建一個(gè)可以托管整個(gè)代碼庫(kù)的地方,程序員可以協(xié)同工作代碼項(xiàng)目,并了解如何充分利用 Git。用 Preston-Werner 的話說(shuō),它將是一個(gè)“ Git hub(中心)”。
Preston-Werner 和 Wanstrath 于2007年10月1日正式開始制作GitHub的第一個(gè)版本。在舊金山體育酒吧相識(shí)的幾周之后,Chris Wanstrath 提交了第一個(gè)GitHub版本,從此便徹底改變了編程方式。
當(dāng) Preston-Werner 和 Wanstrath 在2007年開始合作時(shí),他們的想法不是將GitHub作為商業(yè)工具開發(fā)并圍繞它開展業(yè)務(wù)。Wanstrath 和 Preston-Werner 需要GitHub來(lái)完成他們自己的工作,所以他們開發(fā)這個(gè)工具是為了滿足自己的剛需。他們很快就發(fā)現(xiàn)了他們工作中的一個(gè)主要問(wèn)題:他們需要 fork 代碼分支和協(xié)作編程,并設(shè)計(jì)出滿足他們需求的解決方案。對(duì)于這個(gè) Wanstrath 和 Preston-Werner遇到的問(wèn)題,無(wú)論使用哪種編程語(yǔ)言或者操作系統(tǒng),幾乎所有軟件開發(fā)人員都會(huì)遇到。這代表了他們的產(chǎn)品在未來(lái)?yè)碛芯薮蟮氖袌?chǎng)潛力。
在接下來(lái)的幾周里,Wanstrath 在周末與 Preston-Werner 會(huì)面,共同完成了GitHub的第一次迭代。Preston-Werner 主要負(fù)責(zé)設(shè)計(jì),Wanstrath 專注于實(shí)現(xiàn) Preston-Werner 提出的功能。
“在接下來(lái)的三個(gè)月里,Chris 和我花了很多時(shí)間來(lái)規(guī)劃和編寫GitHub。平時(shí)我繼續(xù)為 Grit 設(shè)計(jì) UI。Chris 構(gòu)建 Rails 應(yīng)用程序。我們每個(gè)星期六都會(huì)見面討論設(shè)計(jì),并規(guī)劃這個(gè)產(chǎn)品的藍(lán)圖。” —?Tom Preston-Werner
2008年1月,經(jīng)過(guò)三個(gè)月利用周末時(shí)間編寫代碼,GitHub有點(diǎn)像模像樣了,Wanstrath 和 Preston-Werner 準(zhǔn)備向全世界推出GitHub。正如 Spotify 在其關(guān)鍵的早期開發(fā)階段所做的那樣,GitHub首次以私有測(cè)試版的形式推出。Wanstrath 和 Preston-Werner 通過(guò)向他們?cè)跒硡^(qū)及其他地區(qū)的初創(chuàng)公司的朋友發(fā)送電子郵件,邀請(qǐng)他們使用他們構(gòu)建的工具,之后便立即得到了積極的回應(yīng)。接下來(lái)的一個(gè)月,他們將 Logical Awesome 改名為GitHub,Inc,并作為公司正式成立。
雖然這兩個(gè)人還沒(méi)有開始創(chuàng)業(yè),但他們的想法蘊(yùn)含巨大的商業(yè)潛力。2008年4月,就在GitHub推出私有測(cè)試版并在同月推出其官方網(wǎng)站的三個(gè)月后,Chris Wanstrath 收到了來(lái)自在線學(xué)習(xí)網(wǎng)站 PeepCode 的創(chuàng)始人 Geoffrey Grosenbach 的消息,該網(wǎng)站剛剛將其代碼遷移到了GitHub。Grosenbach 告訴 Wanstrath 他不習(xí)慣使用GitHub免費(fèi)托管他公司的代碼庫(kù),他愿意付費(fèi)。來(lái)自活躍的GitHub用戶的這類消息展現(xiàn)了GitHub的價(jià)值。即使GitHub沒(méi)有向用戶收費(fèi),有些人也愿意為此付費(fèi)。
“我使用GitHub免費(fèi)托管我公司的代碼,我對(duì)此感到有些不好意思。我可以發(fā)一張支票給你們嗎?” ?- PeepCode 的創(chuàng)始人 Geoffrey Grosenbach
GitHub發(fā)展中最重要的一個(gè)因素是其商業(yè)模式的簡(jiǎn)潔和優(yōu)雅。如果你想公開托管你的代碼,GitHub可以永久免費(fèi)使用。如果你想使用私有存儲(chǔ)庫(kù)或?qū)S写a,你需要付費(fèi)。這兩個(gè)用例完全不同,這消除了GitHub使用免費(fèi)增值產(chǎn)品蠶食其受眾的風(fēng)險(xiǎn)。
GitHub公司完全可以將GitHub置于付費(fèi)模式,并且可以通過(guò)收費(fèi)來(lái)賺很多錢,但事實(shí)上GitHub并沒(méi)有這么做。GitHub商業(yè)模式的另一個(gè)特點(diǎn)就是無(wú)縫從免費(fèi)增值產(chǎn)品過(guò)渡到私人付費(fèi)存儲(chǔ)庫(kù)。如果程序員在GitHub上托管他們的開源個(gè)人項(xiàng)目并定期使用該產(chǎn)品,他們很有可能會(huì)建議他們?cè)谌粘9ぷ髦惺褂肎itHub。
與GitHub的商業(yè)模式一樣簡(jiǎn)單和合乎邏輯,它是GitHub以其實(shí)現(xiàn)方式有效商業(yè)化開源軟件開發(fā)的唯一可能方式。如果GitHub從一開始就試圖從所有存儲(chǔ)庫(kù)中獲利,那么GitHub可能永遠(yuǎn)不會(huì)被開源社區(qū)所喜愛。如果沒(méi)有這種基層支持,該公司將無(wú)法生存。
另一個(gè)需要采用智能方法定價(jià)結(jié)構(gòu)的因素是將GitHub作為 Web 服務(wù)運(yùn)營(yíng)。作為開源代碼在網(wǎng)絡(luò)上存放的地方這聽起來(lái)很棒,但有人必須為帶寬付費(fèi)。對(duì)于GitHub來(lái)說(shuō)幸運(yùn)的是,Geoffrey Grosenbach 并不是唯一一個(gè)想要給GitHub捐款的熱心用戶。一些公司還提出愿意花錢使用GitHub來(lái)托管他們的代碼,這讓公司的創(chuàng)始人意識(shí)到該公司作為營(yíng)利性企業(yè)的潛力非常巨大。
“我們意識(shí)到GitHub可能不僅僅是能夠收回成本,它可能成為一項(xiàng)真正的商業(yè)。我們決定繼續(xù)免費(fèi)提供無(wú)限制的公共存儲(chǔ)庫(kù),但我們會(huì)向私有存儲(chǔ)庫(kù)收取費(fèi)用。換句話說(shuō),我們會(huì)向該付錢的人收錢。”? - Chris Wanstrath
PJ Hyett 于2008年1月正式加入GitHub,成為其第三位聯(lián)合創(chuàng)始人。僅僅幾個(gè)月后,即2008年4月10日,GitHub正式推出。
到2009年,GitHub的增長(zhǎng)十分迅猛。Preston-Werner 在2009年2月的雅虎開發(fā)者大會(huì)上發(fā)表講話時(shí)說(shuō),GitHub上有超過(guò)46,000個(gè)公共存儲(chǔ)庫(kù),其中約有17,000個(gè)在上個(gè)月才加入。當(dāng) Preston-Werner 在2009年7月發(fā)表他的下一個(gè)雅虎開發(fā)者大會(huì)演講時(shí),GitHub已經(jīng)擁有超過(guò)10萬(wàn)用戶,并且托管了超過(guò)90,000個(gè)公共存儲(chǔ)庫(kù),僅僅5個(gè)月就增加了95%。
GitHub這一時(shí)期的增長(zhǎng)最令人矚目的是,這家新興公司在短短一年多的時(shí)間里通過(guò)軟件開發(fā)社區(qū)的口碑吸引了其首批100,000名用戶。GitHub作為一種產(chǎn)品已經(jīng)造就了很好的用戶粘性,這純粹是因?yàn)樗_實(shí)解決了開發(fā)者的疑難問(wèn)題。這有別于其它基于 Git 的協(xié)作工具。GitHub通過(guò)在新興的、難以使用的技術(shù)之上構(gòu)建了新服務(wù),成功地開辟了自己的市場(chǎng)。
GitHub的業(yè)務(wù)模型和編程社區(qū)的流行確實(shí)幫助公司取得了快速的發(fā)展。然而,許多人忽略了GitHub早期的一個(gè)方面,即如何解決所有軟件開發(fā)人員遇到的問(wèn)題,這些問(wèn)題的解決也推動(dòng)了GitHub作為產(chǎn)品的開發(fā)。協(xié)作是關(guān)鍵,訪問(wèn)是增長(zhǎng)的載體。GitHub允許用戶在未經(jīng)許可的情況下 fork 存儲(chǔ)庫(kù),從而減少了沖突。GitHub解決一個(gè)棘手的技術(shù)問(wèn)題,即 fork 代碼分支和相關(guān)的權(quán)限問(wèn)題,此外,GitHub還解決了如何與其他程序員有效協(xié)作的問(wèn)題。
市場(chǎng)對(duì)GitHub這類產(chǎn)品的迫切需求以及產(chǎn)品本身的粘性并不是GitHub早期取得快速增長(zhǎng)的唯一因素。GitHub的社交功能也是增長(zhǎng)的強(qiáng)大動(dòng)力。在GitHub之前,除了在技術(shù)訪談中回答白板假設(shè)之外,程序員幾乎沒(méi)有辦法證明他們的編程方法?,F(xiàn)在,編碼人員可以公開維護(hù)他們項(xiàng)目的代碼庫(kù),向未來(lái)的雇主展示他們的代碼,并參與更廣泛的軟件開發(fā)社區(qū)。GitHub不僅使程序員受益。招聘人員可以通過(guò)GitHub瀏覽公共存儲(chǔ)庫(kù)和用戶檔案,以確定潛在的候選人,看看候選人一直在做什么樣的項(xiàng)目,這使得GitHub成為了一個(gè)頗有價(jià)值的招聘工具。
2010年6月29日,GitHub推出了其組織功能,該功能允許企業(yè)用戶從單個(gè)集中式儀表盤管理其擁有的存儲(chǔ)庫(kù)。雖然組織的引入一定程度上是對(duì)那些吵著要嘗試GitHub的公司的回應(yīng),但它也揭示了公司未來(lái)的抱負(fù)。到2010年,創(chuàng)始人很清楚,收入增長(zhǎng)的最重要的一個(gè)原因是更多企業(yè)和組織采用GitHub。這發(fā)生在GitHub推出GitHubEnterprise 一年以前,組織功能清楚地表明了公司的意圖。
GitHub繼續(xù)以令人難以置信的速度不斷吸引新的用戶。截至2011年底,GitHub正在托管超過(guò)200萬(wàn)個(gè)存儲(chǔ)庫(kù),并且在用戶和提交方面都超過(guò)了 SourceForge、Google Code 以及微軟的 CodePlex。與之前的組織功能一樣,GitHubEnterprise 的發(fā)布表明GitHub意圖成為大型科技公司和個(gè)人開發(fā)者不可或缺的平臺(tái),這是GitHub在2012年至2015年間的主要目標(biāo)。
令人驚訝的是,GitHub沒(méi)有借助一分錢的外部投資就成功壯大。這將在2012年發(fā)生變化,當(dāng)時(shí)GitHub終于迎來(lái)了它的第一個(gè)投資者 Andreessen Horowitz。
2
2012-2015:從快速增長(zhǎng)到無(wú)處不在
到2012年,GitHub已經(jīng)變得非常受歡迎。對(duì)于許多程序員來(lái)說(shuō),問(wèn)題不在于他們?cè)诤翁幨褂肎itHub,而是用它來(lái)做什么。GitHub不僅穩(wěn)定地吸引了強(qiáng)大的用戶群,幾乎沒(méi)有廣告、促銷或者風(fēng)險(xiǎn)投資資金,但使用GitHub托管私有代碼和私有存儲(chǔ)庫(kù)的公司團(tuán)隊(duì)數(shù)量劇增。GitHub現(xiàn)在需要做的是通過(guò)進(jìn)一步滲透到企業(yè)來(lái)擴(kuò)大收入。GitHub實(shí)現(xiàn)這一目標(biāo)的第一件事就是雇用 Brian Doll,他于2012年2月成為GitHub的市場(chǎng)營(yíng)銷和戰(zhàn)略副總裁。第二件事是由 Andreessen Horowitz 領(lǐng)導(dǎo)的 A 輪融資籌集1億美元。
“具體來(lái)說(shuō),有一個(gè)名為'GitHubEverywhere'的策略。我們希望軟件領(lǐng)域的所有人都使用GitHub。個(gè)人、小團(tuán)隊(duì)、學(xué)生以及大型企業(yè)?!??—?Tom Preston-Werner
GitHub的A輪融資讓這家成長(zhǎng)中的公司更加積極地追求“GitHubEverywhere”的愿景。當(dāng)GitHub獲得A輪融資時(shí),它已經(jīng)擁有超過(guò)170萬(wàn)用戶并且托管了超過(guò)300萬(wàn)的存儲(chǔ)庫(kù)。此外,該公司的收入自2008年以來(lái)每年以300%的速度增長(zhǎng)。憑借其新的資金,GitHub可以在這種有機(jī)增長(zhǎng)的基礎(chǔ)上繼續(xù)發(fā)展,并瞄準(zhǔn)財(cái)富500強(qiáng)公司,這將推動(dòng)GitHub收入的進(jìn)一步增長(zhǎng)。
雖然許多企業(yè)家和投資者對(duì)GitHub與 Andreessen Horowitz 的新合作關(guān)系表示贊賞,但一些人對(duì)GitHub突然涌入的現(xiàn)金表示懷疑。開源社區(qū)的一個(gè)小而有聲的隊(duì)伍覺得GitHub接受風(fēng)險(xiǎn)投資資金是對(duì)公司自我激勵(lì)的風(fēng)格的背叛,并可能危及未來(lái)的開源開發(fā)。GitHub的開源起源及其未來(lái)作為企業(yè)工具之間的緊張關(guān)系需要公司進(jìn)行仔細(xì)平衡。
獲得歷史上最大的A輪融資給了GitHub更大的自由,但它也給公司施加了更大的壓力。
到2012年,GitHub的成長(zhǎng)速度令人矚目。GitHub已經(jīng)創(chuàng)建了一個(gè)可以解決緊急問(wèn)題的可靠產(chǎn)品,并圍繞一項(xiàng)新興技術(shù)建立了一個(gè)完整的公司。但很明顯,GitHub自給自足的方式只能將它帶到目前的高度。為了保持公司的成長(zhǎng)速度并實(shí)現(xiàn)更大的目標(biāo),它需要資金。于是GitHub在2012年7月獲得了 Andreessen Horowitz 1億美元的A輪融資,Andreessen Horowitz 是唯一的投資者。GitHub將利用這筆資金聘請(qǐng)更優(yōu)秀的工程師并開發(fā)新的產(chǎn)品。
值得注意的是,雖然GitHub在A輪融資中完全被 Andreessen Horowitz 引導(dǎo),但這并不是意識(shí)形態(tài)沖突的問(wèn)題。有些人認(rèn)為GitHub起源于開源社區(qū),這與投資者青睞的創(chuàng)業(yè)方式不太一致。但實(shí)際情況并非如此。GitHub沒(méi)有原則上拒絕風(fēng)險(xiǎn)投資,它拒絕的原因確實(shí)是因?yàn)樗恍枰顿Y。當(dāng)GitHub開始尋找外部投資時(shí),該產(chǎn)品已經(jīng)擁有了龐大的用戶群。最重要的是,GitHub幾乎從第1天開始就實(shí)現(xiàn)了盈利。這種自由使得GitHub不僅能夠有意識(shí)地塑造其產(chǎn)品,還能夠塑造整個(gè)組織的文化,完全不受投資者的影響。
“我們始終認(rèn)為過(guò)早地獲得投資對(duì)公司來(lái)說(shuō)是壞事。太多的外界影響可能是危險(xiǎn)的。我們已經(jīng)誕生四年半了,所以我們能夠真正定義自己。我們從來(lái)沒(méi)有拒絕 VC,我們只是排斥人們因?yàn)殄e(cuò)誤的因素委屈自己的產(chǎn)品?!??—?Tom Preston-Werner
從這一點(diǎn)來(lái)看,GitHub的宏圖大志愈發(fā)明顯。GitHub已經(jīng)取得了顯著的增長(zhǎng)并積累了大批忠實(shí)的程序員粉絲,因此它希望擴(kuò)大其影響力及其潛在收入。GitHubA 輪融資的關(guān)鍵并不是拿到了投資者的大筆資金,GitHub在接受風(fēng)險(xiǎn)資金之前已經(jīng)盈利了多年。其關(guān)鍵在于 Preston-Werner 的下面這段話:
“我們公司多年來(lái)一直盈利,增長(zhǎng)迅速,我們并不需要錢。那為什么我們接受了投資呢?因?yàn)槲覀兿胍?,我們想要打造最好的產(chǎn)品,我們想要解決更難的問(wèn)題,我們希望讓更多人的生活變得更加輕松。Andreessen Horowitz 的經(jīng)驗(yàn)和資源可以幫助我們做到這一點(diǎn)?!?—?Tom Preston-Werner
Preston-Werner 提到了很多目標(biāo),但歸根結(jié)底都是想要讓GitHub解決核心技術(shù)問(wèn)題。這是許多人對(duì)GitHub作為公司和產(chǎn)品的最根本的誤解之一。GitHub讓程序員的生活更加輕松,這一點(diǎn)毋庸置疑,但這并不是創(chuàng)始人的唯一愿景。他們不僅想讓程序員更容易編碼,他們還希望讓整個(gè)編程領(lǐng)域都變得更加容易和輕松。
在許多情況下,GitHub已經(jīng)解決了編程本身的疑難問(wèn)題。GitHub的特別之處在于它通過(guò)創(chuàng)造一種解決了這些問(wèn)題的產(chǎn)品來(lái)實(shí)現(xiàn)這一目標(biāo),這些問(wèn)題也為該產(chǎn)品創(chuàng)造了巨大的潛在市場(chǎng)。Wanstrath 和他的朋友可以專注于較小的、特定的技術(shù)問(wèn)題。相反,他們追求的是當(dāng)時(shí)編程所帶來(lái)的大問(wèn)題和根本固有的問(wèn)題,解決這些問(wèn)題為他們的產(chǎn)品創(chuàng)造了巨大的潛在市場(chǎng)。
這種吸引力遠(yuǎn)遠(yuǎn)超出了開源愛好者的預(yù)期,它對(duì)大型企業(yè)也具有強(qiáng)大的吸引力。到2013年,硅谷的大多數(shù)科技公司都在使用GitHub,大大小小的項(xiàng)目都在用。Adobe、Dropbox、Facebook、Google、Twitter 等等,它們都在GitHub上擁有私有存儲(chǔ)庫(kù)。一些公司,比如 Mozilla,甚至擁有幾百個(gè)代碼倉(cāng)庫(kù),幾乎所有東西都托管在GitHub上。其它的公司,比如 Facebook,擁有的存儲(chǔ)庫(kù)相對(duì)少一些(與 Mozilla 的687只相比只有102個(gè)),但參與度確更高,F(xiàn)acebook 的102個(gè)存儲(chǔ)庫(kù)中的分支超過(guò)15,000個(gè)。
GitHub的受歡迎程度和市場(chǎng)滲透率讓它獲得了難以置信的增長(zhǎng)。截至2015年底,GitHub擁有280萬(wàn)用戶,并擁有460萬(wàn)個(gè)存儲(chǔ)庫(kù)。然而,雖然GitHub現(xiàn)在已經(jīng)與編碼文化密不可分,但該公司的目標(biāo)設(shè)定得更高。下一階段GitHub的目標(biāo)是成為全球最大的開源軟件中心,并積極尋求國(guó)際擴(kuò)張,立志成為“面向開發(fā)者的 Facebook”。
GitHub不僅在慢慢吞噬硅谷,它甚至和美國(guó)政府有些交集。2013年5月9日,白宮在GitHub上起草并發(fā)布了美國(guó)官方開放數(shù)據(jù)政策。這是美國(guó)第一次以這種方式分享聯(lián)邦立法政策。雖然這與GitHub的數(shù)百萬(wàn)個(gè)存儲(chǔ)庫(kù)中托管的代碼項(xiàng)目相比,立法文件本身的實(shí)用性有限,但其象征性非常重要。在私營(yíng)公司的服務(wù)器上托管政府政策文件是前所未見的,允許公眾 fork 和合并政策文件也是前無(wú)古人的。
今天的新聞標(biāo)志著政府首次將法律作為一份生動(dòng)的協(xié)作文件發(fā)布。我們很高興看到開放數(shù)據(jù)政策隨著社區(qū)的投入而發(fā)展,我們希望這是一個(gè)良好的開始?!? -GitHub產(chǎn)品經(jīng)理 Ben Balter
該公告對(duì)于GitHub而言是一個(gè)令人難以置信的 PR,并且還暗示了GitHub的其他潛在用例,開放數(shù)據(jù)擁護(hù)者和精通技術(shù)的政策多年來(lái)一直在談?wù)摚词惯@些用例最終將永遠(yuǎn)不會(huì)實(shí)現(xiàn)。
3
2015年至今:GitHub全球擴(kuò)張
到2015年,GitHub是許多程序員的版本控制工具。但它并不僅限于此,它還是一個(gè)社交中心,程序員可以從中互相學(xué)習(xí)。它是程序員交流網(wǎng)站、社交網(wǎng)絡(luò)和專業(yè)網(wǎng)絡(luò)中心。這是世界上大部分代碼的存放處,既有個(gè)人開發(fā)者的小項(xiàng)目,也有科技巨頭的大型項(xiàng)目。
當(dāng)然,樹大招風(fēng)。2015年3月28日,GitHub經(jīng)歷了自發(fā)布以來(lái)最大規(guī)模的網(wǎng)絡(luò)攻擊——這種DDoS(分布式拒絕服務(wù)攻擊)攻擊被認(rèn)為源于中國(guó)。但這次襲擊并非企圖使一家美國(guó)公司癱瘓,以造福亞洲競(jìng)爭(zhēng)對(duì)手。相反,據(jù)稱該攻擊僅針對(duì)兩個(gè)GitHub項(xiàng)目。第一個(gè)是 GreatFire,一個(gè)致力于幫助中國(guó)互聯(lián)網(wǎng)用戶規(guī)避國(guó)家所謂的“中國(guó)防火墻”的組織;第二個(gè)是“紐約時(shí)報(bào)”網(wǎng)站中文鏡像的GitHub頁(yè)面,它也幫助中國(guó)用戶訪問(wèn)這張報(bào)紙。盡管攻擊最終受到了挫敗,但人們發(fā)現(xiàn)在一個(gè)地方托管如此多代碼的危險(xiǎn)性,特別是旨在顛覆國(guó)家監(jiān)視設(shè)備的代碼。
中國(guó) DDoS 攻擊發(fā)生四個(gè)月后,GitHub獲得了以紅杉資本為首的2.5億美元B輪融資。這使得GitHub的估值超過(guò)了20億美元。談到資金問(wèn)題,Chris Wanstrath 告訴記者,該公司計(jì)劃利用其B輪資金開發(fā)新產(chǎn)品,并進(jìn)行國(guó)際化擴(kuò)張。
GitHub的第一個(gè)海外辦事處設(shè)在東京。GitHub選擇日本作為其首個(gè)海外地點(diǎn)具有高度的戰(zhàn)略性。日本不僅是 GDP 排名世界第三的經(jīng)濟(jì)體,而且其技術(shù)創(chuàng)新舉世聞名,這使其成為旨在托管世界代碼的網(wǎng)站的合理的目的地。包括日立系統(tǒng)和日本媒體集團(tuán) CyberAgent 在內(nèi)的公司都是日本GitHub的首批客戶。
GitHub繼續(xù)擴(kuò)大。截至2015年7月,GitHub擁有超過(guò)900萬(wàn)用戶,并托管了超過(guò)2100萬(wàn)個(gè)存儲(chǔ)庫(kù),這正式使GitHub成為世界上最大的代碼存儲(chǔ)庫(kù)。盡管用戶增長(zhǎng)穩(wěn)定,該公司的繼續(xù)擴(kuò)張推動(dòng)了該組織在此期間的大部分收入增長(zhǎng)。GitHub被美國(guó)一半以上最大、最富有的公司所使用,這是很好地體現(xiàn)了 Tom Preston-Werner 多年前“GitHubEverywhere” 的先見之明。
然而,盡管GitHub仍在增長(zhǎng),到2015?年9月每個(gè)工作日新增用戶數(shù)達(dá)到10,000,但增長(zhǎng)速度在放緩。GitHub面臨來(lái)自 Bitbucket 和 GitLab 的激烈競(jìng)爭(zhēng),導(dǎo)致用戶增長(zhǎng)受到影響。另一方面,收入則增長(zhǎng)迅速。2015年9月,GitHub的年度收入約為9000萬(wàn)美元。截至2016年8月,這一數(shù)字已上升至1.4億美元。在2014年9月至2016年8月的23個(gè)月期間,GitHub個(gè)人計(jì)劃的收入停滯不前,但其組織計(jì)劃的收入幾乎翻了一番。GitHubEnterprise 的收入增長(zhǎng)了兩倍。2014年9月,GitHub的收入中約有35%來(lái)自GitHubEnterprise。截至2016年8月,GitHubEnterprise 占GitHub收入的一半。
到2017年,GitHub的未來(lái)將主要受其在企業(yè)應(yīng)用程序的影響。曾有人談?wù)撨^(guò)首次公開募股,有關(guān)不太可能收購(gòu)的傳聞,以及合并等等。每個(gè)人都有關(guān)于GitHub下一步行動(dòng)的猜測(cè),但很少有人料到接下來(lái)發(fā)生的事情。在2018年6月4日上午,微軟以75億美元的價(jià)格收購(gòu)了GitHub,這一重磅消息震驚了科技界。
“從最大的公司到最小的初創(chuàng)公司,GitHub是開發(fā)人員學(xué)習(xí)、分享和共同創(chuàng)建軟件的目的地。它也是微軟的目的地。我們是GitHub上最活躍的組織,為項(xiàng)目提供了超過(guò)200萬(wàn)次“提交”或更新。
幾個(gè)小時(shí)之內(nèi),黑客新聞、Reddit 和 TechDirt 充斥著憤怒的用戶,他們感到被GitHub的收購(gòu)所背叛,許多抗議會(huì)離開GitHub。一些用戶將他們的存儲(chǔ)庫(kù)從GitHub遷移到競(jìng)爭(zhēng)服務(wù) GitLab 或 Bitbucket。人們對(duì)他們的代碼的安全性開玩笑。其他人明智地了解了 Clippy 將如何幫助開發(fā)人員將他們的項(xiàng)目部署到Azure。還有一些人認(rèn)為這筆交易與甲骨文收購(gòu) Sun 有相似之處。
在諷刺和憤怒之下,有一種非常真實(shí)的感覺,GitHub的未來(lái)不再像以前那樣光明。然而,許多人沒(méi)有意識(shí)到的是,在這一點(diǎn)上,微軟收購(gòu)GitHub對(duì)GitHub產(chǎn)品的負(fù)面影響非常小。GitHub十年來(lái)一直是協(xié)作軟件開發(fā)的行業(yè)標(biāo)準(zhǔn)。Bitbucket和 GitLab 將不可避免地獲得一些逃離微軟GitHub的用戶,但GitHub在行業(yè)中的地位以及GitHub作為產(chǎn)品本身的功能實(shí)際上保證了GitHub的持續(xù)相關(guān)性、生存和增長(zhǎng)。
此外,微軟豐富的企業(yè)經(jīng)驗(yàn)可以使GitHub成為微軟的高度戰(zhàn)略資產(chǎn),特別是因?yàn)樵摴緦⒆约憾ㄎ粸殚_發(fā)人員的平臺(tái)和市場(chǎng)。對(duì)于微軟而言,收購(gòu)GitHub并不是要將GitHub作為一種產(chǎn)品獲取,而是要獲得GitHub帶來(lái)的開發(fā)者生態(tài)系統(tǒng)。
網(wǎng)上喋喋不休的大部分內(nèi)容似乎都圍繞著微軟收購(gòu)GitHub是否聰明,真正的問(wèn)題應(yīng)該是微軟是否會(huì)巧妙地使用GitHub。正如微軟收購(gòu) LinkedIn 和 Minecraft 開發(fā)商 Mojang 所表明的那樣,微軟可能不一定會(huì)徹底改變GitHub所做的事情,至少,不會(huì)馬上改變。
4
GitHub未來(lái)何去何從?
現(xiàn)在微軟是全球最大和最受歡迎的代碼庫(kù)的新?lián)碛姓?,GitHub的未來(lái)發(fā)展軌跡將完全取決于微軟如何將GitHub視為其長(zhǎng)期增長(zhǎng)戰(zhàn)略的一部分。
1. 與 Visual Studio 集成
雖然微軟可以做出許多潛在的舉動(dòng),但現(xiàn)在它擁有GitHub,GitHub與微軟極受歡迎的開發(fā)工具套件 Visual Studio 的集成幾乎是不可避免的。這符合微軟的長(zhǎng)期計(jì)劃,即從 Windows 的銷售業(yè)務(wù)轉(zhuǎn)向其不斷發(fā)展的基于云的服務(wù)生態(tài)系統(tǒng)。
2. 更多開發(fā)者工具
即便在現(xiàn)在,編程仍然存在效率低下的問(wèn)題。GitHub可以采取的最合理的舉措之一就是開發(fā)其他工具來(lái)幫助開發(fā)人員專注于解決諸如錯(cuò)誤跟蹤和將應(yīng)用程序部署到 Microsoft Azure 等問(wèn)題,甚至可以用 AI 驅(qū)動(dòng)的應(yīng)用程序替換當(dāng)前的 QA 工作流程。GitHub幾乎沒(méi)有觸及可能的表面,微軟重新關(guān)注其基于云的開發(fā)者生態(tài)系統(tǒng)似乎與GitHub作為產(chǎn)品的潛力完全一致。
3. 吸引開發(fā)者的產(chǎn)品和服務(wù)
除了軟件工程師之外,GitHub已經(jīng)吸引了大量的專業(yè)人士,例如產(chǎn)品經(jīng)理。GitHub的另一個(gè)潛在舉措可能是引入了對(duì)這些專業(yè)人士有吸引力的其他特性和功能,例如集成的項(xiàng)目管理工具。鑒于微軟希望大力發(fā)展企業(yè)應(yīng)用程序和基于團(tuán)隊(duì)的協(xié)作工具,這使得可能性大增。
5
GitHub的啟示
GitHub如今已經(jīng)找到了一個(gè)新家,但它仍然有大量的經(jīng)驗(yàn)值得我們學(xué)習(xí)。
1. 找到一個(gè)需要解決的大問(wèn)題
讓 Git 更容易使用是GitHub的目標(biāo),但這并不是最終目標(biāo)。GitHub真正的愿景是使協(xié)作和編寫軟件更容易。世界上每個(gè)軟件開發(fā)人員都在努力解決GitHub試圖解決的問(wèn)題。這創(chuàng)造了一個(gè)巨大的潛在市場(chǎng),GitHub對(duì)自己的定位非常準(zhǔn)確。
看看你當(dāng)前的產(chǎn)品并問(wèn)自己以下問(wèn)題:
● 你的產(chǎn)品是否解決了一小群人遇到的非常具體的問(wèn)題?或者它是否解決了很多人遇到的大而廣泛的問(wèn)題?專業(yè)化可以成為一個(gè)強(qiáng)大的差異化因素,但解決大型問(wèn)題可以為你的產(chǎn)品提供更大的潛在市場(chǎng)。
● 你是否或者愿意在日常工作中使用自己的產(chǎn)品嗎?
● 如果你不使用自己的產(chǎn)品,那么原因是什么呢?你的產(chǎn)品是否存在問(wèn)題,或者你的產(chǎn)品聲稱要解決的問(wèn)題是否會(huì)與自己相關(guān)?這兩種情況都是嚴(yán)重的問(wèn)題。在內(nèi)部不使用你自己的產(chǎn)品會(huì)引發(fā)產(chǎn)品是否真正被用戶需要的疑問(wèn)。如果你沒(méi)有親身體驗(yàn)過(guò)你的產(chǎn)品所解決的問(wèn)題,那么是什么讓你成為解決問(wèn)題的合適公司?
2. 不斷解決用戶痛點(diǎn)
GitHub推動(dòng)這種令人難以置信的增長(zhǎng)的部分原因是該公司不僅致力于解決疑難問(wèn)題,而且還致力于解決所有軟件開發(fā)人員遇到的痛苦問(wèn)題。這為GitHub創(chuàng)造了巨大的潛在用戶群,并使公司從根本上重塑了我們所知道的軟件開發(fā)方式。
想想你的產(chǎn)品及其在公司運(yùn)營(yíng)范圍更廣的領(lǐng)域,然后問(wèn)問(wèn)自己:
● 如果你能夠以某種方式為現(xiàn)有產(chǎn)品添加全新的功能,那么該功能將會(huì)是什么,以及它將解決哪些問(wèn)題?
● 為什么你的產(chǎn)品或開發(fā)中沒(méi)有此功能?這太難了還是太寬泛?你怎么能克服這些障礙來(lái)實(shí)現(xiàn)這個(gè)功能?
● 你試圖解決的問(wèn)題的痛點(diǎn)所在?這是技術(shù)問(wèn)題還是人為問(wèn)題?
GitHub之所以成功,是因?yàn)樗鉀Q了一個(gè)技術(shù)問(wèn)題:開發(fā)者需要一個(gè)更好、更直觀的版本控制系統(tǒng),它具有解決人類問(wèn)題的巨大潛力,即輕松、安全和遠(yuǎn)程協(xié)作軟件項(xiàng)目。專注于技術(shù)問(wèn)題也讓GitHub解決了人類問(wèn)題,這是GitHub成功的一個(gè)非常重要的因素。
3. 盡早培養(yǎng)企業(yè)文化
即使在早期,GitHub也認(rèn)識(shí)到了企業(yè)文化的重要性。公司刻意并積極地創(chuàng)造自己的文化,而不是讓文化自由生長(zhǎng)。與傳統(tǒng)觀念相反,文化不僅僅是行為的偶然副產(chǎn)品,它是經(jīng)過(guò)深思熟慮、有意識(shí)的行動(dòng)和有目的的決策的結(jié)果。文化是任何公司成長(zhǎng)的關(guān)鍵因素。
看看你自己的公司,并考慮以下問(wèn)題:
● 你公司的文化如何反應(yīng)價(jià)值觀?即使在早期,GitHub也非常高興地從傳統(tǒng)的企業(yè)成功概念中汲取樂(lè)趣,采用相對(duì)扁平的管理結(jié)構(gòu)。公司的文化對(duì)你有什么價(jià)值和品牌屬性?
● 你的員工在多大程度上塑造了公司的文化?換句話說(shuō),公司的政策有多少是由自上而下決定的,而且隨著時(shí)間的推移,由于你的雇傭而有機(jī)地出現(xiàn)了多少?
● 你的競(jìng)爭(zhēng)對(duì)手如何看待你的公司和產(chǎn)品?這種看法有多少會(huì)基于你組織的文化?
6
后記
GitHub通過(guò)做兩件事來(lái)取得了難以置信的成功:解決一個(gè)巨大的用戶痛點(diǎn);并創(chuàng)建一個(gè)流行的、具有粘性的產(chǎn)品,使人們更容易一起工作和共享代碼。GitHub現(xiàn)在面臨的最大挑戰(zhàn)是設(shè)計(jì)一種方法來(lái)進(jìn)一步將編程融入其它技術(shù)學(xué)科,同時(shí)吸引軟件開發(fā)人員以外的專業(yè)人士。
鑒于微軟曾對(duì)開源社區(qū)的敵意,它可能不是GitHub最合理的歸宿。但是微軟具有相當(dāng)大的企業(yè)專業(yè)知識(shí)和前瞻思維的領(lǐng)導(dǎo)力,這對(duì)于GitHub來(lái)說(shuō)有些許安慰?,F(xiàn)在大家關(guān)心的問(wèn)題是,微軟將如何利用GitHub這個(gè)利器,讓它變得更加閃耀。
相關(guān)鏈接:https://medium.com/@hnshah/how-github-democratized-coding-built-a-2-billion-business-and-found-a-new-home-at-microsoft-bd94d2dea2a9 ,作者:Hiten Shah,他創(chuàng)建了多個(gè) SaaS 項(xiàng)目,比如 Crazy Egg、KISSmetrics 和FYI。 譯者安翔。