我叫Tom,如果你曾经使用过Jekyll(一个著名的静态网站生成工具),你可能听说过我,因为Jekyll就是我开发的。
不过今天不讲Jekyll, 我要讲的,是另外一个更有趣的故事。
1
2007年10月18日,我到旧金山的Zeke's 酒吧参加一个线下聚会,就是你们经常说的“面基”。
参加聚会的都是志同道合的Ruby爱好者,Ruby可能很多年轻的程序员都不知道了吧,但在当时,这门语言由于Ruby on Rails的流行变得非常热门。
Twitter、GroupOn、Airbnb、Hulu等著名网站在早期都是用Ruby开发的。
我喝了不少酒,然后找了酒吧后面的长桌休息一下,这时候Chris Wanstrath 走了过来。
Chris这个家伙大学主修英语,后来爱上了编程,他找到工作后连学位都不要了。
Chris和我一样,既喜欢Ruby ,又关注新生事物Git,于是, 我对他招手让他过来:“老兄,看看这个。”
大约一周前,我做了一个叫做Grit的项目, 让我可以通过Ruby代码以一种面向对象的方式来访问Git。
require 'grit'
repo = Grit::Repo.new("/Users/tom/dev/grit")
repo.commits
repo.commits.first.parents[0].parents[0].parents[0]
repo.tree
Chris显然被这种优美的使用方式给勾住了。
于是我开始向他兜售一个不成熟的设想:用Ruby on Rails做一个面向程序员的网站,他们可以在上面保存、分享自己的Git代码库。
我甚至都想好了名称:GitHub。
当我喋喋不休讲解的时候,Chris立刻把我打断了:算我一份,让我们来实现它!
Chris说到做到,第二天晚上10点24分,他就提交了GitHub的第一批代码,说实话那个时候我们并没有想好未来会怎样,就是两个“黑客”想做一点比较酷的事情。
接下来的三个月,Chris和我花了大量的时间规划GitHub、编写代码,我继续折腾Grit,设计UI, Chris则用Rails开发 Web 应用。我和他每周六见面,讨论一些重要的设计决定,以及未来如何定价。
当然,这都是业余时间做的,我当时在一个叫做Powerset 的公司当打工人, 为公司的两个团队开发工具。
三个月后,我们推出了beta版,并且邀请我们的一些朋友来试用, 第一个用户是Yehuda Katz, 他是非常厉害的黑客,有一大堆头衔:
Ember.js的作者
jQuery 和 Ruby on Rails核心成员
Rust核心成员
ECMAScript标准委员会成员
.....
(Yehuda Katz)
Yehuda Katz给了我们非常多、非常棒的反馈,还推荐给了更多厉害的程序员,这就产生了滚雪球的效应。
2008年4月, 我们发布了面向公众的正式版,但是悲催的是没有知名媒体的报道,也没有一丁点的风险投资。
这时候我走到了人生的岔路口, 我所在的公司Powerset 被微软以一亿美元收购了!
微软给我开出了诱人的条件:除了正常的薪水之外,还有30万美元的奖励,条件是在微软工作满三年。
说实话,做出选择真不容易, 一方面是稳定高薪的工作,另一方面是风险极大的事业。
最后我还是选择了后者, 因为对于我热爱的东西,我绝不放弃。
我希望在我临死之前,回顾一生,我会说:“哇,这辈子跌宕起伏,值了!” 而不是 “这辈子稳稳当当,真没意思。”
2
我选择创业,其实有两件事情给了我底气:
1. Ruby on Rails从SVN迁移到了GitHub!
2008年4月, RoR迁移到了GitHub, 你们想象不到RoR在Web 2.0时代有多么火爆, RoR的迁移对整个Ruby社区产生了示范效应,越来越多的Ruby 开源软件迁移过来。
更有利的是,做RoR的程序员开发Web页面时都会使用JavaScript, 很多Ruby大牛也是JavaScript社区的核心成员,例如上面提到的Yehuda Katz, 这就使得JavaScript社区开始关注GitHub,并且向GitHub迁移。
所以,如果你看到GitHub上有海量的JavaScript和Ruby 项目,就不足为奇了。
2. 有人愿意付费
还是4月份,Chris收到了一个邮件,来自在线学习网站PeepCode创始人Geoffrey :
“我在GitHub托管我们公司的代码。不付钱给你们我不舒服。我可以寄张支票过来吗?”
这条消息让我们非常自豪,因为这意味着我们的产品对用户产生了巨大的价值!他们愿意为价值付费!虽然我们还没有计划向用户付费。
除了Geoffrey 之外,还有几家公司向我们打听付费托管代码的事情,我们意识到GitHub有可能成为一个大生意!
当时世界上最大的代码托管网站是SourceForge,它的代码托管不要钱, 主要是靠在网站上打广告获得收入,满屏的“膏药贴”对于用户来说是个很大的困扰。
我们决定采用一种更加简洁和优雅的方式:
如果你想公开地托管代码,那可以免费一直使用GitHub;如果你想使用私有代码库,那就付费。
这种模式同时兼顾了收费和免费,受到了大家的欢迎。
3
GitHub飞速发展,到了2009年2月, 就积累了46000个公共的代码库,真是让人惊叹!
2009年7月,这个数字变成了90000,5个月接近翻倍,太TMD刺激了。
GitHub之所以能发展得这么快,除了商业模式之外,主要有两个独门武器
1. 开源协作更加方便
原来最大的开源代码托管网站是SourceForge, 你要想参与某个开源项目,比如修复了Bug,需要通过邮件的方式把代码发给开源维护者,很麻烦。
现在只要fork一个项目,在本地修改,然后发个pull request, 审核通过就可以合并,非常方便。
2. 程序员社交。
你可以在GitHub上关注一些大牛, 看看他们做的项目,参与进去。
最后,GitHub成了程序员简历的一部分, 如果你有闪闪发亮的开源项目,那就是你技术能力的明证,面试官都会高看你一眼。
4
到2011年底,我们已经有了200多万个代码库,这个数字到2015年又变成了460万, 无论是用户数还是提交数都远超SourceForge、Google Code, 一个新的王者诞生了!
2012年,网景浏览器的创始人安德森给我们投资了一亿美元,完成了A轮融资, 这意味着我们获得了资本市场的认可。
(网景浏览器创始人安德森)
随后,几乎所有的重要公司都成了我们的客户:Adobe、Dropbox、 Facebook、谷歌、Twitter......
对了,还有微软这个曾经封闭的软件巨头, 它把NET Core、PowerShell、PowerToys、Visual Studio Code、Windows Calculator、Windows Terminal 统统迁移到了GitHub上,让世人惊诧。
更让人惊诧的是,2018年, 微软居然出价75亿美元把我们收购了。
10年前,我拒绝了微软的30万美元,现在又成了微软的员工!
(完)
下面是我开的一个备份号,防止被人投诉后失联,请小伙伴们保存一下吧。
这个号不会空着,经常会发一下轻松有趣的东西,让大家在紧张的工作之余乐呵一下。