深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?

jopen 6年前
   <p>前不久,微软以 75 亿美元的价格收购 GitHub,引发了科技行业的关注。在短短的 10 年内,GitHub 改变了人们的编程方式。 不仅让编程变得更简单,还改变了软件开发者对编程的看法。GitHub 是如何做到的呢?我们能从中学到什么?日前,ProductHabits 发表了一篇文章,深入研究了 Slack 的发展史,呈现了 Slack 获取成功的种种因素。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/e93770d0b615cea649ce5fb06880cb96.jpg" /></p>    <p>2008 年,当汤姆·普雷斯顿-沃纳(Tom Preston-Werner)、克里斯·万斯特拉斯(Chris Wanstrath)和 PJ·海伊特(PJ Hyett)合作完成一个项目的时候,他们只是把它当做一个周末项目,仅此而已。 但没过多久,他们就意识到,他们的想法可能比自己所设想的要大得多,将远远超过一个周末项目的范畴: 它将改变人们编写和分享代码的方式。</p>    <p>这个想法就是 GitHub。</p>    <p>在短短的 10 年里,GitHub 改变了人们的编程方式。 不仅让编程变得更简单,还改变了软件开发者对编程的看法。</p>    <p>GitHub 找到了全世界数百万人正在努力解决的一个大问题——如何在代码上协作——并设计出了市场急需的、优雅的解决方案,实现了令人难以置信的增长和成功。通过围绕开源项目 Git 构建 SaaS 服务,GitHub 为开源生态系统提供价值并从中获利。</p>    <p>让我们来深入了解:</p>    <ul>     <li> <p>GitHub 是如何增长和发展的,它是如何从版本控制系统到程序员的效率工具,最后到代码托管的地方的?</p> </li>     <li> <p>为什么 GitHub 的免费增值模型如此有效,能够有效地驱动免费用户转化付费用户?</p> </li>     <li> <p>GitHub 如何在一个巨大的潜在市场中找到一个迫切的需求,并围绕这个需求创造出了一个几乎不可或缺的产品?</p> </li>    </ul>    <p>想要理解为什么 GitHub 如此重要,我们必须要回顾一下 2008 年的时候软件开发环境是什么样的,以及是什么让 GitHub 的想法在当时和现在都非常出色。</p>    <p><strong>2007-2011 年:代码能够协作,软件能够社会化</strong></p>    <p>比尔·盖茨(Bill Gates)和史蒂夫·乔布斯(Steve Jobs)通过从根本上重塑个人计算机而成为家喻户晓的人物,但如果没有创建 Linux 操作系统的芬兰软件工程师林纳斯·托瓦兹(Linus Torvalds)的贡献,很难想象现在的技术会发展成什么样子。1991 年,Linux 发布的时候,挑战了 Windows / Mac“二分天下”的格局,为用户提供了一种非常灵活、轻量级、并且安全的开源操作系统,很快就受到了那些想对系统进行更多控制的硬核极客和技术人员的青睐。</p>    <p>对于一些人来说,发明一种全新的操作系统可能就已经足够了,但对托瓦兹来说却不是这样。2005 年,托瓦兹公布了他的最新项目——一个名为 Git 的新的版本控制系统。版本控制对于协作编程的概念至关重要。版本控制系统能跟踪随着时间推移计算机文件发生的更改。与计算机备份系统用作还原点的“快照”类似,版本控制系统允许程序员通过“分叉”将项目的版本分成不同的“分支”,来跟踪项目的每个分支的变化,从而实现多人在同一项目上工作,而不会相互影响。一旦有人对分支进行了更改,它们就可以上传回原始项目并与原始项目合并,这一过程称为“提交”。这个系统允许程序员在将他们的文件合并回被称为存储库的主项目之前,在他们自己的分支上独立工作。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/5ffe9ee1e4ac3478f6916a93bf0a86d5.jpg" /></p>    <p>GitHub 的分叉是如何工作的。</p>    <p>在 Git 出现之前,想要与其他程序员协作的程序员根本没有多少选择。他们通常会使用一个开源的版本控制系统 Subversion。虽然 Subversion 过去和现在都很流行,但和其他特定的版本控制系统一样,Subversion 也有缺点。可以说,这些缺点是当时的协作编程概念所固有的。即使使用 Subversion,与开源团队一起工作也往往需要获得项目管理员的许可,才能对项目进行分叉,而不是处理代码本身。在许多情况下,这个批准过程比编写代码花费的时间都要长。许多开源项目都会受到权限问题、网关问题和其他低效问题的困扰。</p>    <p>2005 年,在 Git 发布的时候,开源正经历着一场复兴。人们对 Linux 的兴趣非常强烈。第一个 Web 2.0 应用程序已经出现。许多公司将其技术堆栈迁移到开源服务器上。尽管 Git 通过引入分叉的概念使得在开源项目上的协作基本上不会耗费力气,但 Git 做不到的是:帮助程序员找到那些开源项目。很多程序员都在研究大量令人兴奋的开源项目,但很难找到它们。</p>    <p>GitHub 将会改变这一切。</p>    <p>当 PJ·海伊特和克里斯·万斯特拉斯在 2007 年开始谈论最终成为 GitHub 的事情时,两人都是技术网站 CNET 的程序员。他们都支持 Ruby on Rails 开发框架。在 CNET 工作的时候,海伊特和万斯特拉斯对 Rails 本身的代码库提出了一些改进和建议。但是,让任何人都能查看到他们的代码是另一回事。</p>    <p>与当时大多数开源项目的情况一样,Rails 的代码库由一个小型、组织紧密的代码编写团队管理,他们手动管理对代码库的贡献。这些程序员实际上是看守门人。海伊特和万斯特拉斯不仅要请求这些守门人查看他们的代码,还要让他们相信这是值得加入到 Rails 项目的。即使其中一个项目守门人发现代码建议很有用,实际上合并补丁也不是那么简单。</p>    <p>从本质上讲,对 Rails 项目的贡献在于你认识谁,而不是你知道什么。</p>    <p>Git 试图解决其中的一些问题。林纳斯·托瓦兹的版本控制系统与他几年前独自构建的操作系统一样出色。Git 允许程序员在不需要请求网关访问的情况下进行协作。Git 是最终实现编码民主化的关键,也是第一步,尤其是在开源社区。但是,尽管使用 Git 看上去很轻松,但它缺乏协作工具,两个程序员之间共享代码仍然很困难。现在可能很难想象,但在当时,图片软件开发者需要通过电子邮件来来回回发送补丁,这就能更容易地理解为什么程序员迫切需要一个 GitHub 了。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/bc23422bde898c492e1e2443f6430b68.jpg" /></p>    <p>不幸的是,这并不是 Git 唯一需要的东西。Git 发布后不久,第一个图形用户界面就出现了,但 Git 主要依赖命令行界面。对于系统管理员和其他多年来一直在编写 bash 脚本和正则表达式的高级用户来说,这是一个好消息。对于其他人呢?好处并没有那么多。</p>    <blockquote>     <p>“人们开始在 Ruby 聚会上谈论 Git。说它多么优秀。 但是,有些地方不太对劲。 Git 本应该是以分布式的方式处理代码的方式,但是安全共享私人代码的机制是什么呢? 你唯一的选择就是在 Unix 计算机上设置用户账户,并把它作为一个临时的解决方案。 这并不太理想。”</p>     <p>——汤姆·普雷斯顿-沃纳</p>    </blockquote>    <p>尽管有这些缺点,Git 的潜力还是给了海湾地区的 Ruby 程序员汤姆·普雷斯顿-沃纳一个想法。当时,普雷斯顿-沃纳正在进行一个名为 Grit 的项目,这是一个允许程序员使用 Ruby on Rails 以面向对象的方式访问 Git 存储库的工具。普雷斯顿-沃纳第一次见到克里斯·万斯特拉斯是在旧金山的一家体育酒吧 Zeke,当时那里举办了一个“I Can Has Ruby”的程序员聚会。万斯特拉斯和普雷斯顿-沃纳经过熟人介绍相互认识,普雷斯顿-沃纳跟万斯特拉斯分享了有关 Grit 的事情。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/f98ccc21f43992741fd579a16529e722.jpg" /></p>    <p>普雷斯顿-沃纳的愿景是创建一个可以托管整个代码库的地方,程序员可以在那里合作开发代码项目,并了解如何最大限度地利用 Git。 用普雷斯顿-沃纳的话来说,这将是一个“Git hub”。</p>    <p>2007 年 10 月 1 日,普雷斯顿-沃纳和万斯特拉斯开始正式开发 GitHub 的第一个版本。他们永远改变了编程。</p>    <p>普雷斯顿-沃纳和万斯特拉斯在 2007 年开始合作时,并没有打算把 GitHub 发展成一种商业工具,也没有打算围绕它开展业务。普雷斯顿-沃纳和万斯特拉斯需要 GitHub 来完成他们自己的工作,他们开发这个工具是出于必要。很快,他们就发现了工作中的一个主要问题——将代码分叉和在编程项目上协作——并设计了一个满足他们需求的解决方案。普雷斯顿-沃纳和万斯特拉斯解决方案的亮点在于,每个软件开发者,无论他们使用什么样的编程语言、什么样的操作系统以及从事什么样的“工种”,都会遇到这些重大问题。这代表了,他们的产品具有一个巨大的潜在市场。</p>    <p>在接下来的几个星期里,万斯特拉斯周末的时候都会与普雷斯顿-沃纳碰面。共同完成了 GitHub 的第一个迭代。普雷斯顿-沃纳负责设计,万斯特拉斯则专注于实现普雷斯顿-沃纳提出的功能。</p>    <blockquote>     <p>“在接下来的三个月时间里,克里斯和我花了大量的时间设计和开发 GitHub。我一直坚持设计了用户界面。克里斯开发了 Rails 应用程序。我们每个星期六都会碰面,做出设计决定,试图弄清楚我们的计划到底是什么样子。”</p>     <p>——汤姆·普雷斯顿-沃纳</p>    </blockquote>    <p>2008 年 1 月,经过长达三个月的周末编程冲刺、在餐巾上画线框图和通宵工作,万斯特拉提和普雷斯顿沃纳准备向世界揭开 GitHub 的面纱。正如 Spotify 在早期开发阶段所做的那样,GitHub 最初是作为一个私人测试版发布的。万斯特拉斯和普雷斯顿-沃纳通过电子邮件向他们在海湾地区之外的创业公司的朋友们发送了邮件,邀请他们尝试他们一直在开发的工具。得到的反应非常积极。接下来的一个月,GitHub 诞生,此前公司的名称是 Logical Awesome。</p>    <p>虽然两人并没有开始创业,但他们这个想法的商业潜力很早就出现了。2008 年 4 月,就在 GitHub 在私人试用版上推出 3 个月后,也就是在 GitHub 推出官方网站的同一个月,克里斯·万斯特拉斯收到了在线学习网站 PeepCode 创始人杰弗里·格罗森巴赫(Geoffrey Grosenbach)发来的一条消息,他刚刚将代码迁移到了 GitHub。格罗森巴赫告诉万斯特拉斯,他不太愿意用 GitHub 免费托管公司的代码库。活跃的 GitHub 用户发出这样的消息表明了公司所提供的价值。尽管公司没有向他们收费,但人们还是想付钱。</p>    <blockquote>     <p>“我在这里托管我们公司的代码。不付钱给你们我不舒服。我可以寄张支票过来吗?”</p>     <p>——杰弗里·格罗森巴赫,PeepCode 创始人</p>    </blockquote>    <p>GitHub 增长的最重要因素之一就是它的商业模式的非常简洁和优雅。如果你想公开托管你的代码,你可以一直免费地使用 GitHub。如果你想使用私有存储库或专有的代码托管服务,你需要付费。这两个用例完全不同,这消除了 GitHub 用免费增值产品蚕食其受众的风险。</p>    <p>他们本来可以很容易将 GitHub 隔离在付费墙或者订阅模式后面,并可能在这个过程中赚不少钱,但他们没有。GitHub 的商业模式中另一个非常出色的元素是,从免费增值产品到私人付费存储库的过渡是无障碍的。如果程序员在 GitHub 上托管他们个人的开源项目,并定期使用该产品,那么他们很有可能会在日常工作中推荐使用 GitHub。</p>    <p>和 GitHub 简单而合理的商业模型一样,这是 GitHub 能够有效地将开源软件开发商业化的唯一方式。如果 GitHub 从一开始就试图将所有存储库商业化,那么 GitHub 可能永远不会受到开源社区的喜爱。没有这种基层的支持,公司就无法生存下去。</p>    <p>另一个需要对定价结构采取明智做法的因素是将 GitHub 作为 Web 服务运行的现实。作为开源代码在 Web 上托管的地方,听起来很棒——但总得有人为带宽买单。幸运的是,杰弗里·格罗森巴赫并不是唯一一个热心的 GitHub 早期采用者。还有几家公司还提出向 GitHub 付费来托管代码,这使得公司创始人对公司的盈利潜力有了进一步的推测。</p>    <blockquote>     <p>“在这个时候,我们意识到,GitHub 可能不仅仅是收回成本。这可能是一个真正的生意。我们决定继续免费提供无限量的公共存储库,但我们会对私人存储库收费。换句话说,我们会向要求收费的人收费。”</p>     <p>——克里斯·万斯特拉斯</p>    </blockquote>    <p>PJ·海伊特于 2008 年 1 月正式加入 GitHub,成为其第三位联合创始人。仅仅几个月后,也就是 2008 年 4 月 10 日,GitHub 正式推出。</p>    <p>到 2009 年,GitHub 的增长速度越来越快。普雷斯顿-沃纳在 2009 年 2 月雅虎开发者大会上发言时告诉与会者,GitHub 上有超过 46000 个公共储存库,其中仅前一个月就增加了大约 17000 个储存库。普雷斯顿-沃纳在参加 2009 年 7 月举行的雅虎开发者大会时,GitHub 已经拥有 10 多万用户,托管了 9 万多个公共存储库——仅在 5 个月内就增长了 95 %。</p>    <p>GitHub 这段成长时期最引人注目的是,这家新生的公司在短短一年多的时间里,通过软件开发社区的口碑,就成功吸引了首批的 10 万用户。GitHub 作为一个产品已经非常具有黏性,纯粹是因为它解决了问题。并不像是有其他基于 Git 的协作工具。GitHub 通过在一种新兴的、难以使用的技术上建立一种新的服务,有效地创造了自己的市场。</p>    <p>GitHub 的“二进制”商业模式和在编程社区中的受欢迎程度,肯定有助于公司的快速成长。然而,GitHub 早期被许多人忽视的一个方面是,如何解决所有软件开发人员遇到的重大问题,也推动了 GitHub 作为一种产品的开发。协作是关键,获取用户是增长的载体。通过解决一个困难的技术问题——代码分叉和相关的权限问题——GitHub 也解决了同样困难但令人沮丧的问题,即如何与其他程序员有效协作。</p>    <p>市场对 GitHub 这样的产品的迫切需求,和产品本身的粘性并不是 GitHub 早期快速增长的唯一因素。GitHub 在社交方面的影响,也是其增长的强大推动力。在 GitHub 之前,程序员除了在技术访谈中回答白板假设之外,没有什么方法能证明他们的编程能力。现在,程序员可以公开托管他们项目的代码库,实际上向潜在雇主展示他们的代码,并参与更广泛的软件开发社区,所有的这些都在一个地方。GitHub 不只是让个别程序员受益。招聘人员可以浏览公共资料库和用户档案,以确定潜在的招聘人员,并查看求职者正在从事的项目类型,从而使 GitHub 成为一个有价值的招聘工具。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/a81fa81129e97d01835791c5f45b8605.jpg" /></p>    <p>2010 年 6 月 29 日,GitHub 推出了 Organizations 功能,这是一个允许企业用户集中管理组织拥有的存储库的工具。虽然引入企业组织在一定程度上是为了响应那些要求尝试 GitHub 的公司,并使其尽可能无障碍地采用 GitHub,但它也揭示了公司未来的雄心。到 2010 年,创始人清楚地看到,收入增长最重要的载体,将是推动企业和组织层面采用 GitHub。GitHub 将在一年多后推出 GitHub Enterprise,但 Organizations 清楚地表明了公司的意图。</p>    <p>GitHub 继续吸引着大量的用户加入。截至 2011 年底,GitHub 已经托管了 200 多万个存储库,在用户和提交方面都超过了 SourceForge、Google Code 和微软的 CodePlex。与之前的 Organizations 一样,GitHub Enterprise 的发布也传达了该公司的意图,即成为大型科技公司和个人程序员不可或缺的地方,这是该公司在 2012 年至 2015 年间积极推进的战略方向。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/649a592e66feabef83af2dc6a8b5d999.jpg" /></p>    <p>令人惊讶的是,GitHub 是在没有获得外部投资的情况下,快速地扩大了规模。这将在 2012 年发生改变,GitHub 届时将迎来它的第一个投资者安德雷森·霍洛维茨(Andreessen Horowitz)。</p>    <p><strong>2012-2015 年:从快速增长到 GitHub 无处不在</strong></p>    <p>到 2012 年,GitHub 已经变得非常受欢迎。对于许多程序员来说,问题不是他们是否使用 GitHub,而是他们使用 GitHub 来干什么。GitHub 不仅在几乎没有广告、促销或进行风险投资的情况下吸引了强大的用户群体,而且还增加了使用 GitHub 托管私有代码库的公司团队的数量。GitHub 现在需要做的是通过进一步吸引企业客户来扩大收入。GitHub 做到这一点的第一件事是聘请布莱恩·多尔(Brian Doll),他于 2012 年 2 月成为 GitHub 的营销和战略副总裁。第二件事是完成了安德雷森·霍洛维茨领投的 1 亿美元A轮融资。</p>    <blockquote>     <p>具体来说,我们有一个“GitHub 无处不在”的战略。 我们希望软件开发过程中的每个人都会使用 GitHub。不论是个人、小团队、学生,还是大型企业。</p>     <p>——汤姆·普雷斯顿-沃纳</p>    </blockquote>    <p>GitHub 的A轮融资,让这家仍在成长中的公司能够更积极地追求“GitHub 无处不在”的愿景。截至 GitHub 进行A轮融资的时候,它拥有超过 170 万用户,托管了超过 300 万个存储库。此外,自 2008 年以来,该公司的收入一直以每年 300% 的速度增长。有了新的资金,GitHub 可以在这种有机增长的基础上再接再厉,瞄准财富 500 强公司,这将推动 GitHub 的收入继续增长。</p>    <p>尽管许多企业家和投资者对 GitHub 与安德雷森·霍洛维茨的新伙伴关系表示称赞,但一些人对 GitHub 突然注入资金表示怀疑。开放源码社区中一个小规模但直言不讳的团队认为,GitHub 接受风险投资资金是对公司自力更生精神的背叛,并会危及未来开源代码的开发。GitHub 作为开源代码的源地与它作为企业工具的未来之间的关系很紧张,长期以来都是这家成长中的公司需要平衡的地方。</p>    <p>虽然 GitHub 在接受了A轮融资之后,有了更多的自由,但它也给这家寻求双重身份平衡的公司带来了更大的压力。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/d99435c788fa754879e071946a30307d.jpg" /></p>    <p>到 2012 年,GitHub 的增长令人瞩目。该公司创造了一个解决紧迫问题的坚实产品,并围绕一项新兴技术建立了一个完整的公司。但很明显,GitHub 的自发式增长方式只能帮它走到现在这个位置。为了保持公司的发展势头,实现更大胆的目标,它需要资金。这笔资金来自于安德雷森·霍洛维茨,GitHub 在 2012 年 7 月进行了 1 亿美元的A轮融资,安德雷森·霍洛维茨是唯一的投资者。GitHub 将利用这笔资金雇用更多的工程人才并开发新产品。</p>    <p>值得注意的是,尽管在安德雷森·霍洛维茨进行投资之前,GitHub 已经完全启动,但这并不是观念冲突的问题。一些人认为,GitHub 起源于开源社区,这使得该公司与投资者青睐的专有的围墙花园模式格格不入。事实并非如此。GitHub 并没有在原则上拒绝风险投资融资;它在启动的时候拒绝风险投资基金,是因为它不需要。当 GitHub 开始寻找外部投资时,产品已经有了很大的用户群体。最重要的是,GitHub 从第一天就开始盈利了。这种自由使 GitHub 不仅可以有意地塑造产品,还可以完全不受投资者的影响,塑造整个组织的文化。</p>    <blockquote>     <p>“我们仍然认为,过早拿太多钱对一家公司的发展来说是不好的。过多的外部影响可能是危险的。我们现在已经成立四年半了,所以我们有机会真正地定义自己。我们从来没有反对过风险投资,我们只是(反对)人们因为错误的原因而损害他们的产品。”</p>     <p>——汤姆·普雷斯顿-沃纳</p>    </blockquote>    <p>此时,GitHub 的增长雄心正变得越来越清晰。GitHub 已经实现了显著的增长,并积累了大量忠诚的程序员“福音”传播者,它希望扩大它的覆盖面和潜在的收入。GitHub 完成A轮融资的有趣之处不在于投资者或筹集的资金总额,也不是 GitHub 作为一个已经盈利的业务,等了四年才接受风险投资。最有趣的是在 GitHub 的A轮融资声明中普雷斯顿-沃纳使用的语言。</p>    <blockquote>     <p>“我们公司多年来一直盈利,发展迅速,不需要钱。那为什么还要融资呢?因为我们想变得更好。我们要打造最好的产品。我们想解决更棘手的问题。我们希望让更多人的生活更轻松。安德雷森·霍洛维茨的经验和资源可以帮助我们做到这一点。”</p>     <p>——汤姆·普雷斯顿-沃纳</p>    </blockquote>    <p>普雷斯顿-沃纳的声明中使用了很多连接词,但他真正想要传达的是 GitHub 正在努力解决的编码技术问题。这是许多人对 GitHub 作为公司和产品的最基本误解之一。毫无疑问,GitHub 让程序员的生活变得更轻松,但这不是创始人的意图。他们不只是想让程序员的编码变得更容易——他们想让编码本身变得更容易。</p>    <p>在许多情况下,GitHub 已经解决了编程本身所面临的一些大而雄心勃勃的问题。GitHub 最大的亮点在于,它创造了一个解决这些问题的产品,同时也为该产品创造了巨大的潜在市场。万斯特拉斯和他的朋友们本可以专注于更小、更具体的技术问题。相反,他们解决的是当时编程所固有的非常重大且非常基础的问题,以至于解决这些问题为他们的产品创造了巨大的潜在市场。</p>    <p>这种吸引力远远超出了开源爱好者和脚本小孩在他们卧室里的黑客行为。 它对大公司也具有强大的吸引力。 到 2013 年,硅谷大部分大型科技公司都在使用 GitHub,从小型的 skunkworks 项目到主要的专有系统。 Adobe、 Dropbox、 非死book、 谷歌、 推ter ——他们都在 GitHub 上有私人存储库。 一些公司,比如 Mozilla,拥有数百个存储库,几乎所有的东西都在 GitHub 上托管。 其他公司,比如 非死book,拥有的存储库要少得多(只有 102 个,相比之下,Mozilla 有 687 个) ,但参与度却要高得多,非死book 102 个存储库中有超过 15000 个分叉。</p>    <p>GitHub 的知名度和市场渗透率推动着公司快速增长。截至 2015 年底,GitHub 拥有 280 万用户,托管着 460 万个存储库。然而,尽管 GitHub 现在已经与编码文化密不可分地交织在一起,但公司的目标更高了。在 GitHub 下一个发展阶段,它将把自己定位为世界上最大的开源软件中心,积极寻求国际扩张,并寻求成为“开发者的 非死book”。</p>    <p>GitHub 不仅仅在慢慢吞噬硅谷,它也蔓延到了华盛顿的政府领域。2013 年 5 月 9 日,白宫在 GitHub 上发布了美国官方的“公开数据政策”(Open Data Policy)草案。与 GitHub 上百万个存储库中托管的代码项目相比,文件本身的效用有限,但它具有非常重要的象征意义。在私人公司的服务器上对外托管政府政策文件是闻所未闻的。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/b39c451af60bb09d4cd4b4683c039967.jpg" /></p>    <blockquote>     <p>“今天的新闻标志着一个政府实体首次将法律作为一个活生生的合作文件发布。我们很高兴看到开放数据政策是如何随着社区的投入而演变的,我们希望这只是众多政策中的第一个。”</p>     <p>——本·巴尔特(Ben Balter),GitHub 产品经理</p>    </blockquote>    <p>这对 GitHub 来说,是一次令人难以置信的免费公关,它还暗示了开放数据倡导者和精通技术的政策专家多年来一直在谈论的 GitHub 的其他潜在用例——哪怕这些用例永远不会实现。</p>    <p><strong>2015 年至今: 全球扩张,GitHub 被微软收购</strong></p>    <p>到 2015 年,GitHub 成为许多程序员进行版本控制的首选项。不仅如此:它还是一个社交中心,程序员可以相互学习。它是程序员聚集的网站、社交网络和专业网络中心。世界上大部分代码都托管在这里,从独立程序员运行的零碎开源项目到为世界上一些最先进的技术公司提供动力的庞大的代码库。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/abe6fb6a5bb55fe091b47e47738252f4.jpg" /></p>    <p style="text-align:left">当然,你的规模越大,你的目标也就越大。2015 年 3 月 28 日,GitHub 经受了自推出以来最大规模的网络攻击。</p>    <p>在遭受 DDoS 攻击四个月后,GitHub 完成了由红杉资本领投的 2.5 亿美元B轮融资。这使得 GitHub 的估值超过了 20 亿美元。谈到资金问题,克里斯·万斯特拉斯告诉记者,公司计划利用B轮融资获得资金进行重大投资,开发新产品,最重要的是拓展国际市场。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/65cdca88121b2072c72f9fbdd051f752.jpg" /></p>    <p>GitHub 的第一个海外办事处设立在了东京。GitHub 选择日本作为其第一个海外地点具有高度的战略意义。以 GDP 计算,日本不仅是全球第三大经济体,而且以技术创新闻名。包括日立系统(Hitachi Systems)和日本综合媒体 CyberAgent 在内的许多公司都是 GitHub 日本第一批客户。</p>    <p>GitHub 继续扩张。截至 2015 年 7 月,GitHub 拥有 900 多万用户,托管了 2100 多万个存储库,GitHub 成为世界上最大的代码存储库。尽管用户增长趋于稳定,但公司持续拓展企业业务,使公司的收入获得了增长。在美国,超过一半的最大、最富有的公司都在使用 GitHub,这体现了汤姆·普雷斯顿-沃纳多年前提出“GitHub 无处不在”战略的先见之明。</p>    <p>不过,尽管 GitHub 仍在增长——截至 2015 年 9 月,每个工作日新增 1 万个用户——但增长速度正在放缓。GitHub 面临来自 Bitbucket 和 GitLab 的激烈竞争,用户增长受到影响。但另一方面,收入正在迅速增长。2015 年 9 月,GitHub 的年度经常性收入( ARR )约为 9000 万美元。截至 2016 年 8 月,这一数字已增至 1.4 亿美元。在 2014 年 9 月至 2016 年 8 月的 23 个月期间,GitHub 个人计划的收入停滞不前,但其企业计划的收入几乎翻了一番。来自 GitHub Enterprise 的收入增加了两倍。2014 年 9 月,GitHub 的 ARR 约有 35 %来自 GitHub Enterprise。截至 2016 年 8 月,GitHub Enterprise 已占 GitHub ARR 的一半。</p>    <p>很显然,到 2017 年,GitHub 的未来将由它在企业中的应用决定。关于公司 IPO、被收购、合并的传言四起。每个人都对 GitHub 下一步的行动有自己的看法——但很少有人能够看到接下来会发生什么。2018 年 6 月 4 日上午,科技领域对微软以 75 亿美元收购 GitHub 的消息震惊了。</p>    <p style="text-align:center"><img alt="深度复盘GitHub发展史:如何在短短10年内改变了人们的编程方式?" src="https://simg.open-open.com/show/79421824f7c6dc069dfd12c780e15308.jpg" /></p>    <blockquote>     <p>“从大型企业到小的创业公司,GitHub 是开发者学习、分享和合作创建软件的首选地。它也是微软的首选地。我们是 GitHub 上最活跃的组织,对项目进行了 200 多万次‘提交’或更新。”</p>    </blockquote>    <p>几个小时之内,Hacker News、 Reddit 以及 TechDirt 上充斥着愤怒的用户,他们觉得 GitHub 被收购背叛了他们。 许多人表示要离开 GitHub 以示抗议。 一些用户表示,他们已经开始从 GitHub 迁移到 GitLab 或 Bitbucket 等竞争性的服务上了。 人们对他们代码的安全性开了一些玩笑。 其他人则对 Clippy 将如何帮助开发人员将他们的项目部署到 Azure 进行了明智的分析。 还有一些人将这笔交易与 2009 年甲骨文收购 MySQL 的交易进行了比较。</p>    <p>在讽刺和愤怒的背后,有一种非常真实的感觉,GitHub 的未来不再像以前那么光明了。但是,很多人没有意识到的是,在这个时候,微软收购 GitHub,对 GitHub 作为一个产品来说,并不会有什么明显的负面影响。GitHub 十年来一直是协作软件开发的行业标准。Bitbucket 和 GitLab 不可避免地会获得一些逃离微软 GitHub 的用户,但是 GitHub 在行业中的地位以及 GitHub 作为产品本身的功能实际上保证了 GitHub 的相关性、生存和增长。</p>    <p>此外,微软丰富的企业经验可能会使 GitHub 成为微软的一项极具战略意义的资产,特别是微软将自己定位为开发者的平台,并专注于开发者市场的时候。对微软来说,收购 GitHub 并不是要把 GitHub 作为一种产品,而是要收购 GitHub 带来的开发者生态系统。</p>    <p>网上的大部分讨论基本上都是围绕微软收购 GitHub 是否明智而展开的。真正的问题是,微软是否会巧妙地使用 GitHub。正如微软收购 LinkedIn 和《我的世界》开发者 Mojang 所显示的那样,微软可能不会彻底改变 GitHub 所做的事情——至少不会立即改变。</p>    <p><strong>Github 后续发展预测</strong></p>    <p>既然微软已经是全球最大、最受欢迎的代码库的新的拥有者,那么 GitHub 的未来轨迹将完全取决于微软如何将 GitHub 视为其长期增长战略的一部分。</p>    <p>1、与 Visual Studio 整合</p>    <p>现在微软拥有 GitHub,可以做出很多潜在的行动,GitHub 与 Visual Studio 的整合几乎是不可避免的,Visual Studio 是微软最受欢迎的开发工具套件。 这与微软的更广泛计划一致,即放弃对 Windows 的专有销售,转向其不断增长的基于云服务的生态系统。</p>    <p>2、开发更多的开发者工具</p>    <p>即便是现在,编码作为一门学科也存在着各种问题,使得其效率低下。GitHub 可以采取的最合理的行动之一是开发额外的工具,帮助开发者集中精力解决诸如错误追踪和将应用程序部署到微软 Azure 等问题,甚至可以用人工智能驱动的应用程序取代当前的 QA 工作流。GitHub 几乎没有触及这些可能性,微软重新关注基于云的开发者生态系统,与 GitHub 的潜力完全一致。</p>    <p>3、用外围产品/服务吸引开发者以外的专业人士</p>    <p>GitHub 已经在吸引软件工程师以外的专业人士方面取得了进展,比如产品经理。GitHub 的另一个潜在举措可能是开发吸引这些专业人士的附加‘功能,例如综合项目管理工具。考虑到微软非常希望加倍推进企业应用程序和基于团队的协作工具,这似乎特别有可能。</p>    <p><strong>从 GitHub 身上学到的 3 个关键经验:</strong></p>    <p>1、找一个大问题去解决</p>    <p>让 Git 更容易使用是 GitHub 的目标,但它从来不是 GitHub 的最终目标。GitHub 的真正目标是让协作和编写软件变得更容易。世界上每一个软件开发者都在努力解决 GitHub 试图解决的问题。 这创造了一个巨大的潜在市场。</p>    <p>看看你目前开发的产品,问自己以下的问题:</p>    <ul>     <li> <p>你的产品是为了解决一小部分人遇到的非常特殊的问题,还是为了解决了很多人遇到的大问题?专业化可以成为一个强大产品区分点,但是解决大的、雄心勃勃的问题会给你的产品带来更大的潜在市场。</p> </li>     <li> <p>你会在日常工作中使用你自己的产品吗?很多公司说“吃自己的狗粮”是一个很好的规则,但实际上很少有公司能做到这一点。</p> </li>     <li> <p>如果你不使用自己的产品,为什么不呢?你的产品有问题吗?还是你个人没有受到产品要解决的问题的影响?这两种情况都是非常严重的问题。不使用你自己的产品会引发人们是否真的需要你的产品的问题。如果你没有亲身经历你的产品所解决的问题,是什么让你们公司成为解决这个问题最合适的公司呢?</p> </li>    </ul>    <p>2、不断解决令人痛苦的问题,并提供越来越好的解决方案</p>    <p>推动 GitHub 如此令人难以置信的增长的部分原因,是该公司不遗余力地致力于解决所有软件开发人员都经历过的重大问题以及痛苦的问题。这为 GitHub 吸引了巨大的潜在用户群体,并使公司从根本上重塑了我们所知道的软件开发。</p>    <p>想想你的产品和它所在的垂直领域中的位置,然后问问自己:</p>    <ul>     <li> <p>如果你能在你现有的产品中添加一个全新的功能,这个功能会是什么,它会解决什么问题?</p> </li>     <li> <p>为什么你的产品没有这个功能?是野心太大了?还是太难了?还是太宽泛了?如何克服这些障碍来实现这一功能?</p> </li>     <li> <p>是什么让你试图解决的问题如此痛苦?是技术的问题还是人的问题?</p> </li>    </ul>    <p>GitHub 之所以成功,是因为它解决了一个技术问题——需要一个更好、更直观的版本控制系统——这在解决人的问题上也具有巨大潜力,即在软件项目上进行轻松、安全和远程的协作。关注技术问题也使 GitHub 能够解决人的问题,这是 GitHub 获得成功的一个非常重要的因素。</p>    <p>3、尽早培养公司的文化</p>    <p>即使在早期,GitHub 就认识到了文化的重要性。公司有意识地主动创造自己的文化,而不是任由文化发展。与传统的观念相反,文化不仅仅是一种偶然的行为副产品——它是深思熟虑、有意行动和有目的决策的结果。对于任何公司来说,文化都是成长的关键因素。</p>    <p>看看你的公司,想想以下的问题:</p>    <ul>     <li> <p>你公司的文化如何反映组织的价值观?即使在早期,GitHub 也非常喜欢调侃传统的企业成功观念,从相对扁平的等级结构到公司模拟会议室的人造木板和白兰地酒瓶。你公司的文化对你有什么价值,有什么品牌属性?</p> </li>     <li> <p>你的员工在多大程度上塑造了你公司的文化?换句话说,你公司的个性有多少是自上而下决定的,随着时间的推移,你所雇用的员工有多少是符合这个个性的?</p> </li>     <li> <p>你认为你的竞争对手会如何看待你的公司和产品?这种看法在多大程度上是基于组织的文化?</p> </li>    </ul>    <p><strong>结语:准备好,设置,Git</strong></p>    <p>GitHub 通过做两件事获得了令人难以置信的成功:发现一个巨大而让人痛苦的问题来解决;并且创造了一种流行的、具备黏性的产品,使人们更容易在一起工作和分享代码。GitHub 现在面临的最大挑战是想出一种方法来进一步迎合编码这一技术学科,同时吸引软件开发者之外的专业人士。</p>    <p>从逻辑上来说,微软可能不是 GitHub 最好的归宿,因为该公司在历史上对开源社区怀有敌意。不过,微软在企业服务领域丰富的专业知识和前瞻性的领导能力,对于从旧金山北上的 Githubbers 来说,可能是一个好机会。现在大家都在关注,微软会如何把它闪亮的“新玩具”发挥作用呢?</p>    <p>原文链接:<a href="/misc/goto?guid=4959013766750935144">https://producthabits.com/github/</a></p>    <p>来自: <a href="/misc/goto?guid=4959013766865270443" id="link_source2">36氪</a></p>