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