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