GitHub :
一个共享虚拟主机服务,用于存放使用 Git 版本控制的软件代码和内容项目。它由 Chris Wanstrath、PJ Hyett 和 Tom Preston-Werne 用 Ruby on Rails 编写而成。
—维基百科
但是这项服务逐步演变成为了开源软件开发与管理的社区,其开放一切的梦想实现了软件开发的虚拟化。这股力量是强大的。成立 1 年之后不久公司就吸引了 10 万用户。2012年GitHub获得了A16Z的1亿美元融资,表明了 VC 对该公司的信心。同年,GitHub 入选了福布斯评选的十大技术公司。
GitHub 只用了不到 4 年的时间就让库(repository,用于存放共享代码的历史版本)的数量到达 100 万。到了 2013 年 1 月,GitHub 用户达到 300 万,库数量达到了 490 万。而且显然还在以更快的速度增长,截止 2013 年 12 月,GitHub 的库数量突破了 1000 万,其中最近新增的 100 万是在 48 天内实现的。
GitHub 的用户里面不乏大牌客户,包括 Amazon、Twitter、白宫等。Facebook 用 GitHub 来开发自己的漏洞跟踪工具、LinkedIn 用它来维护其 People You May Know(你可能认识的人)及 Skills & Endorsements(技能与推荐)功能。
那么 GitHub 是如何从一个自称的“业余项目”变成每周新增用户超过 1 万的全球最强大的软件开发工具的呢?
解决问题
说到 GitHub 不得不提 Git。这是 Linux 的创始人 Linus Torvalds 针对 Linux 内核开发而开发的一款版本控制工具。开发者迅速接受了 Git,因为它要比其他类似工具更快更强大。因此,算不上完美的 Git 被视为当时其他的版本控制软件的升级版。
而 Preston-Werner 注意到,尽管 Git 为令人头疼的协作问题的解决提供了可能,但是用 Git 来进行协作仍比较困难,这一观察导致了 GitHub 的诞生—一个通过 Git 解决协作问题的解决方案。
而 Chris Wanstrath 是这样解释的:
开始时 GitHub 只是一个业余项目。在当地举行的一次开发会议结束之后,我和 Tom Preston-Werner 去了一个体育酒吧,他告诉了我做 Git 托管网站的想法。这个地方应该能够很方便地共享代码和学习 git,也即要成为一个 git 的集散地(git hub)。我们都很热爱 git,但是却没有可接受的方式来分享代码。所以我们做这个更多地是出于必要。Tom 认为我会对解决这个问题感兴趣的,的确如此。
GitHub 自始至终都是作为问题的解决方案而存在的,网站成功不仅仅是因为它解决了最初的问题,还在于它在 Git 原来的功能基础之上添加了许多自己的功能。包括 forking(复制)、pull request(修改合并请求)及 merging(合并)等。正如 Code School 的 Gregg Pollack 所述:
在 GitHub 之前,如果你希望为开源项目做贡献,你得人工下载项目源码,在本地做出自己的变更,创建一系列叫做“补丁”的变更清单,然后发电子邮件给项目维护者。维护者然后得对可能完全来自陌生人的补丁进行评估,然后再决定是否合并变更。
相比之下,GitHub 的“forking”功能可让用户复制任何一份公共库的内容到自己的账号上,然后基于此进行修改。用户随后还可以通过“pull request”将这些变更共享给库的所有人。如果所有人喜欢其做出的变更,就可以把那些变更合并进原来的库内。
这个新流程把之前进行软件协作时的一大堆开销和摩擦通通省掉了,取而代之的是无缝、可管理且可扩充的解决方案,每一个人都可以共享在 GitHub 上公开分享的项目,或为此做出贡献或进行扩展。
拥有私有账号和库的 GitHub 客户也可以在团队内部利用同样的功能,从而对自己的专有代码进行开发和管理。
网络效应+市场
上述功能特性吸引到最初的一批用户,然后又为其他开发者参与和加入创造了一个很有力的理由。在网络效应的推动下,这个天才的工程师中心和项目库每一天都在不断地吸引着新的用户。
GitHub 的这个独特优势也是他最强大的增长引擎。GitHUb 同时受到了网络效应和市场动态的推动。公司受益于两个独特且倍增式的增长驱动要素:网络效应吸引到更多的人和他们的代码,而不断增长的代码库又为那些给自己的项目找代码的人扮演了集市的角色。
这一双增长引擎的结果是两大资产的确立:
1、 Web上计算机工程师最重要且最具活力的社交网络
2、 为那些替自己的项目寻找代码素材人准备的大规模的代码库
这两大资产为其自身发展提供了持续的动力。新用户通过多种渠道被源源不断地吸引进来:如代码搜索、现有 GitHub 用户的邀请、或者通过开源项目的协作等。
GitHub 被称为是“代码样例的亚历山大图书馆”,如 Preston-Werner 所述:
网络效应太出色了。现在有了基于 GitHub 的标准,每个人都可以建新项目,然后马上知道去哪里找代码,如何给开发做贡献,如何审核代码,如何提交问题给代码库…做这些事情的人越多,效应就越强大,从这个统一、知名、规范的系统中得到的东西就越多。而且这一切发生得实在是太快了。
这是一种最好的网络效应,上GitHub的人越多,GitHub上的项目就越多,它对每个人的价值也就越大。
随着 GitHub 成为许多开发者和公司事实上的标准,那里逐渐汇聚了最伟大的编程思想,让众人合力开发东西,GitHub 不仅促进了这一切,还把过程记录下来供他人观瞻。GitHub 的档案跟踪了用户对网站上的项目作出的贡献。一旦用户提交了 pull request,项目经理就会像了解简历一样评估该用户的档案。如果补丁获得接受,那么该用户的档案上又会增加一项荣誉。
GitHub 的网络效应是充满活力的,因为每一个新用户—无论是个人或者公司,都有可能带来更多的新用户。公司一旦决定加入,有可能就会把整个团队都带了进来,或者反过来,热爱 GitHub 的个人也会把整个团队都吸引到该平台上来。
网络效应还会吸引那些希望与 GitHub 上的开发者共事的人进来。技术营销人员和其他的专业人士现在利用 GitHub 作为接触开发者的手段,这里的一切都是开源的,信息开源、书也开源,还有人把平台当作写博客的工具。这些用途都超出了原来 GitHub 的用例范围,但却帮助了平台的推广并形成一个不断发展的网络。
口口相传
除了网络效应和市场这两个驱动力以外,GitHub 的增长还部分得益于口口相传。要想实现口碑营销并不是增加“转发”和“喜欢”按钮那么简单。相反,好口碑靠的是内容、体贴、解决问题还有易用—换句话说,产品和服务的体验才是关键。
GitHub 的口碑来自它给人带来的惊喜和愉悦,而这些带给人的惊喜,不是说出来的,而是做出来的。说得好不如做得好,而带给人的惊喜会使人自愿为 GitHub 代盐。
口口相传的另一个关键驱动是“超级粉丝”,这些人不仅喜欢产品,而且也是最忠实的公众支持者或批评者,在台上台下帮助你渡过难关。而产品或服务获得口碑的关键,正在于它能带来惊喜、带来快乐,能有所帮助。
免费增值
跟 Evernote 一样,免费增值也是 GitHub 的一个重要的增长因子。虽然 GitHub 协作、民主化的开发哲学需要免费才能让大家使用,但 GitHub 的创始人从一开始就清醒地意识到,就其本质而言,这项服务是要耗钱的。如 Wanstrath 指出那样:
Tom(Preston-Werner)在自己的上一家创业公司 Gravatar 学到的一件事情是,免费提供资源密集型服务是亏本生意。Gravatar 的图片托管很耗流量,而 GitHub 托管 git 需要保存和传输代码,这也是非常耗钱的。我们需要收回这些成本。
幸运的是,GitHub 免费的测试版的推出让它无意间走到了免费增值模式。GitHub 的许多用户一开始都是出于免费在上面搭建自己的公共或私有库的,但久而久之,越来越多的人也开始用它来管理自己的商业代码。
然后那些人开始发邮件给 GitHub 主动问管理自己的私有库应该怎么付钱。创始人们开始意识到,除了收回成本以外也许他们还可以做得更多—把它做成一门生意。于是他们决定,一方面继续免费提供无限制的公共库,但是私有库则要付费。既然人家都想给你钱了,怎么好意思不要呢?
GitHub 现在的定价模式就是这么来的—公共项目免费,私有项目收费,个人 7 美元 / 月,组织则是 25 美元 / 月。此外,还有年费达数百万美元的企业级服务,像洛克希德马丁、微软、LivingSocial、VMware 及沃尔玛等都是其客户。
一般而言,免费增值模式都会碰到一个问题,即通常给不出具有吸引力的让用户从免费升级到付费的理由。而 GitHub 的免费增值模式则避免了这个问题。如果你渴望使用 GitHub 的工具,但又不想别人看到你的东西,那么切换到付费套餐就成为了那些希望使用 GitHub 的公司的自然之选。
开源冠军
GitHub 的协作架构不仅令在现有开源项目基础上开展工作变得更加容易,对于开源新项目来说也是如此。公司和个人现在可以把自己之前不公开的项目开放出来,然后让社区的人帮助改进。
这一变化的影响是非常大。如果公司希望开源某个项目,就会面临前面提到过的那些版本控制和补丁问题。在时间和带宽有限的情况下,大多数公司都不愿为了开源带来的机遇而投入所需的时间和资源。有了 GitHub 以后,这些公司开源自己的项目变得容易多了。补丁管理、版本控制以及代码托管等麻烦事通通都交给 GitHub 处理掉了。
这一点导致了一系列颇具知名度的项目开源化,包括 Twitter 的 Bootstrap、Zurb 的 Ink,社区的人可以免费使用这些东西,项目本身也不断得到改进。GitHub 为这些公司提供了一个此前无法做到的回馈社区的手段,从而以一种有意义的方式推动着开源运动的发展。
|