把重复的更新工作做成生意的格雷·贝克
格雷·贝克和哈里·马尔把依赖更新自动化做成 Dependabot,自己亲手找到第一批客户,把月经常性收入做到约 1.4 万美元后被 GitHub 收购的历程。
把反复出现的更新做成生意
格雷·贝克(Grey Baker)和哈里·马尔(Harry Marr)一起做了把软件依赖更新自动化的 Dependabot。两人没有外部投资就把这门生意做到月经常性收入约 1.4 万美元,并在 2019 年被 GitHub 收购。这是一个把开发者日常要处理的维护工作做成付费服务的联合创业案例。
创始人自己反复做过的工作
贝克先是在麦肯锡做战略咨询,之后自学编程。后来他在支付公司 GoCardless 负责产品和工程工作,经历了员工从六人到一百多人的阶段。离开公司骑车环游世界后,他着手医疗领域的创业,在这期间把熟悉的开发领域当作副业项目,开始做 Dependabot。
产品的起点,是贝克在 GoCardless 反复做的依赖更新工作。前身 Bump 是 GoCardless 在 2015 年做的工具,它会检查新的库版本、修改依赖文件,然后生成提议改动代码的拉取请求(PR)。GoCardless 的公开仓库里记录着,从 2017 年起 Dependabot 就以更多样的功能满足了同样的需求。
Dependabot 把这项工作接进了开发团队使用 GitHub 的流程。发现有库需要更新,它就创建 PR,并给出变更记录、发布说明和相关安全信息,帮人做审查。开发者可以在平时习惯的代码审查流程里确认并合入改动。减少从检查更新到准备修改方案这一整套重复劳动,是产品的核心价值。
贝克和马尔靠积蓄生活,从 GoCardless 接手了 Bump 的知识产权。他们大约用 4 周做出第一个试用版,之后又打磨了一个月左右。还得解决老旧仓库里涌来的修改请求、合并冲突,以及被拒绝的更新又反复生成的问题。
第一批客户由创始人亲自去找
早期要进入 GitHub 应用市场,需要 250 名以上用户,而 Dependabot 只有 22 名。他们花两天准备了推广文章发到 Hacker News 和 Reddit,也只带来一个注册。
贝克在 GitHub 上找标题里带 “update” 的 PR,然后向作者推荐产品。他每天花一个小时做这件事,带来了 2 到 3 名注册用户,联系过的人里大约一半加入了。他的做法是,拿对方实际做过的重复劳动作为介绍产品的依据。
进入应用市场后,注册速度变成了之前的约 10 倍。GitHub 把 Dependabot 的费用合并到已有的账单里一起收,当时的手续费是收入的 25%。上架同时改变了获客方式和付费流程。
2017 年的价格是,企业的 5 个私有仓库每月 15 美元,不限量每月 50 美元。对个人和开源免费提供,也出现了个人项目用着满意、再推荐给公司的开发者。
2017 年 12 月的采访里公开的月营收是 740 美元。前一个月的服务运营成本是 50 美元,大部分是托管和邮件开销。不过还要一并看到,当时两位创始人正靠积蓄生活。
卖开发者工具时遇到的信任问题
产品成长之后,贝克的直接销售仍在继续。2018 年 10 月,他找到开源论坛软件 Discourse 的社区,提议引入 Dependabot。他拿自己生成的更新 PR 当例子,说明了只在发现安全漏洞时才收到修改方案,以及连一般版本更新也一并接收这两种方式。他还坦率地表示,希望知名项目的引入能提高产品的知名度。
然而对方在意的是仓库访问权限。Discourse 一方问,能不能不授予原仓库的写权限,而是从复制的仓库发送 PR。贝克回答说,受当时 GitHub 应用权限结构的限制,这一点不好支持,引入的讨论就此搁置。这段对话说明,在面向开发者的自动化产品里,除了功能是否方便,权限范围也会影响购买和引入的判断。
经过这样的过程,Dependabot 成长到月经常性收入约 1.4 万美元的规模。2019 年 7 月 1 日公开的播客《Marketing Mashup》的采访介绍里说,贝克把生意做到这个规模后卖给了 GitHub。这个数字是定期产生的业务收入,并不是创始人的个人所得或净利润。
扩展成 GitHub 的安全功能
GitHub 在 2019 年 5 月宣布收购 Dependabot。官方公告说,为了让解决依赖安全漏洞的工作变得更容易,决定收购并整合这个产品。公告没有公开收购金额。
GitHub 与它的功能连接很明确。仓库里发现存在漏洞的库,Dependabot 就能准备好解决它的更新 PR。安全修复采用升到解除漏洞所需最低版本的做法,减少了开发者需要审查的改动范围。Dependabot 给 GitHub 的漏洞探测功能补上了提供实际修改方案这一环。
被收购后,Dependabot 在 GitHub 应用市场免费提供。联合创始人哈里·马尔在 2019 年 7 月 25 日的 GitHub 官方博客上说,Dependabot 生成的 PR 累计合并数达到 100 万件。从第一个 PR 被合并的 2017 年 4 月起算,大约两年时间里自动准备好的更新被真实项目采纳的规模,就体现在这个数字上。
2020 年 6 月,一般的版本更新功能也以默认整合进 GitHub 的形式公开了。用户可以在仓库的配置文件里指定目标包管理方式和运行周期,从而收到更新 PR。GitHub 在这次发布里说明,把 Dependabot 的全部功能免费提供给所有仓库。原本独立收费的服务,变成了 GitHub 的通用开发功能。
当重复的工作变成平台的基础功能
Dependabot 在生意上的长处,是把每次更新都会重复出现的工作放进了开发者原有的审查流程里。各个开发团队本来要付费的自动化,和 GitHub 的安全功能结合之后,把分发范围扩大到了整个平台。两位联合创始人做的小小维护工具,就这样成了更大开发环境的一部分。