“您是如何定义自己的?”
“首先是个程序员,然后有点理想主义,想把自己的名字写到‘册’上,靠梦想活着......”
近日,InfoQ 有幸与【DIVE全球基础软件创新大会2021】讲师、开源商业公司 API7.AI 创始人 & CTO 王院生就个人成长和开源创业话题进行了交流。并且,从这位开源人身上,我们也看到了较为浓厚的理想色彩。“我希望程序员都能成为发明家,而不是码农。”他如是说。
用知识连接社区
开源项目“OpenResty”可以说是王院生真正接触开源的契机。2014 年,王院生加入 360 公司。2015 年,为了让正在扩张的团队能更快速、高效地学习 OpenResty,王院生和同事温铭等人一同合作完成技术实践书《OpenResty 最佳实践》,没想到的是,因为这本书而把许多技术人聚集起来,并形成了上万人的社区群体。
“相当于用知识的方式把大家给连接到了一起。”王院生回忆道,当时团队成员身居不同城市,写书的方式能更好地将大家的知识对接起来,比如有人列目录、有人负责完成一些主要的章节等等,希望能通过一边写书一边分享的方式来推动协作和成长。
2015 年,在完成《OpenResty 最佳实践》后,同年王院生等人还创办了 OpenResty 社区。2015 年 12 月,罗永浩在锤子科技产品发布会上宣布将门票收入全部捐赠给 OpenResty,这也让更多的人知道了 OpenResty。紧接着,社区开始举办一些线下会议,包括每年的 OpenResty 大会。
但正由于这些“无心插柳”的相关经历,使得王院生对开源越来越感兴趣,后来更是选择全身心投奔开源事业。2017 年~2019 年,他离开 360 公司并加入到一家开源创业公司。2019 年 3 月,他和志同道合的伙伴一起创业,发起 API 网关开源项目“APISIX”,并创办 API7.AI(即支流科技)。
Apache APISIX 在 2019 年 6 月 6 号开源,同年 10 月就进入 Apache 孵化器。从开源之初,APISIX 保持每个月发布一个版本,并坚持测试驱动开发、自动化 CI/CD 等理念,以保证代码的质量和稳定性。 2020 年 7 月 15 日,Apache 软件基金会宣布 Apache APISIX 毕业成为 Apache 软件基金会顶级项目。
总的来说,从 2015 年到 2019 年,王院生已经经历过多个开源角色,包括从社区的协办者到社区领导者,以及从开源软件的使用者到开源软件的贡献者。而这段经历,让他在正式创业前,完成了从 0~1 的“开源沉淀”。
开源创业,必须要做到第一名
Apache APISIX 是基于 OpenResty 构建的 API 网关,因此从这个角度看,作为较早从事 OpenResty 技术研发与布道的从业者,王院生等人会创建 APISIX 项目似乎也是件“水到渠成”的事情。
但王院生指出,其实刚开始的创业并不容易,2019 年无论是从创业大环境还是开源商业化方面来说,形势都不是很明朗。当时他和创始人都直接裸辞全职投入到 APISIX,项目从 0 开始没有任何收益,风险颇大,而支撑他们走下去的原因,是因为大家都是正朝着自己骨子里真正向往的、喜欢的方向前进。
“小时候我想成为宇航员、科学家,最后发现这两个梦想都实现不了。之后就期望这辈子能把自己名字写入史册,有意思的是现如今的我们,已不需要史册了。”对于王院生来说,开源创业正是能与其曾经的梦想产生共鸣的事情,每每投入开源工作就充满激情,这里面可能包含某种使命感、又或者是对成功的憧憬。总之,在这开源事业里他有强烈的动力去持续付出。
“开源创业跟别的商业模式不太一样,你必须要做到所在行业的第一,才能有机会。如果你只是做第二第三第四,大概率会‘饿死’。从开源的第一天,我们的目标就是要成为最优秀的、被市场所认可的、最受欢迎的 API 网关。”他强调,Apache APISIX 不但做到了“全世界最活跃的开源 API 网关项目”,而且其活跃度领先地位也坚持了很长时间。
要做到行业领先地位,这意味着创业方向的选择也不能出错。王院生认为,选择创业方向往往有两个思考维度,第一是“世界需要什么”,然后是“我们能干什么”,有的时候,也可以反过来回答,先看看“我们强在哪?我们能干什么?”,再看看这个世界需要什么。
他解释称:“相对来说,API 网关是我们可以自信可以比别人做得更好的一个技术方向。而随着云原生、微服务技术的火热,行业对于流量管理的需求越来越大,API 网关从原本不被大家所重视、变成越发被重视的工具。”
据介绍,最初 APISIX 团队也有专门去做行业调研,确定了大方向没问题,并且看得到自己在这里面能够做哪些事、有什么机会、大概的可行路径等等,才最终决定要做,否则盲目往前推还是很危险的。“简单来说,世界需要一个非常优秀的 API 网关,因为之前的一些实现不能够满足现在一些产品上的更高的要求。而我们在这方面刚好有技术积累,因此也能保证我们在这个方向上做得比别人更好。”
如何让项目活跃
谈及开源项目怎么样才能变得活跃,王院生总结说,开源项目首先要能解决用户的实际问题,这样才能获得社区的认可。而要想把一个项目做成,项目与周边的关联也非常重要,比如周边的软件生态、硬件生态、开发者关系以及语言生态等,而不能是独善其身。
“以 Apache APISIX 这样的网关项目为例,它刚好处于充满连接的位置,它既可以连接安全、连接管理,也可以连接用户的业务,在这个位置上大家是可以去做很多的有意义的连接工作。就像我们公司的愿景和口号,期望能够为未来的数字世界提供更加稳定、安全、可靠的连接。”
除了要解决实际问题和建立关系,王院生还提到一些补充因素,比如项目的发起人/牵头人是一个什么样的人,是否理解社区或者理解开源精神,比如所属组织是否靠谱,对项目是什么样的态度等等。
但他还特别强调的一点是“开源项目的工程质量”:开源社区的参与人来自全球各地,如何能够保证大家在水平不一的情况下,对项目作出贡献之后,最终能产生好的结果。“这是软件工程经常强调的,我们到底以什么样的方式来保证工程的质量?不管是 Apache 的项目,还是 CNCF 的所有的项目,我们基本上没有见过哪个项目不包含完整的测试用例。甚至乎,对于开源项目来说,有的时候工程质量的重要性大于前面提到的问题。”
从所在赛道来看,API 网关算得上是小众细分市场,目前也出现了一些友商。但王院生认为,从另一角度看,API 网关的辐射范围很广,它可以负责 API 安全,也可以和人工智能体系对接,做流量识别的工作,而随着 5G 技术的不断成熟,边缘计算将逐渐兴起,这里又是 API 网关可以大展身手的地方,并且现在常提到的 Kubernetes 或者服务网格这些新技术,都少不了服务网关这重要一环。
面对市场竞争,王院生表示“把自己的事做好”就好。“观察友商是一方面,但既然我们现在有了一些领先性,那我们就要继续保持领先性,甚至是扩大。担忧并没有用,把自己的事情做好,看清楚这个世界和市场到底需要什么,给大家提供最好的选型,目前没有比这个更重要的事情了。”
写在最后:开源的魅力
再谈“为什么要为开源做贡献?”这个老生常谈的问题时,王院生笑说这应该是工程师问的问题。他表示自己就是一个典型的例子,参与开源社区,一方面是能够学习优秀的代码,提升自己的代码质量,这是性价比最高的能获取全世界最好的知识的快速渠道。另一方面,参与开源社区之后,可以接触到全球最优秀的工程师并与之交流,对于很多人来说,这在日常工作中是非常难得的机会。他感慨道,现在中国的程序员整体比较辛苦,期望能够做一些能让大家自己去主导推进的事情,并希望程序员都能成为发明家,而不是“码农”。
在开源大潮中,一个可喜的趋势是,越来越多的学生参与到开源社区。GitHub 2021 年度报告显示,GitHub 2021年度报告显示,所有贡献中有 27.9% 来自于学生,而所有开源项目贡献中超过半数均来自于学生。王院生表示,这是一个很好的信号,学生代表着未来。“从我们的观察来看,国内参加过类似‘编程之夏’活动的学生,确实在能力上会比同届的其他人更优秀些,希望能看到更多的学生去主动了解开源、参与开源。”
3 月 26 日,王院生将于 DIVE 全球基础软件创新大会的《基础软件人才培养和发展》专题中,带来“开源浪潮下基础软件人才培养和实践”的分享。希望借本次分享,能透过 Apache APISIX 开源项目的视角,系统阐述开源项目与基础软件人才的关系以及成长模式,让观众从实例中了解如何进行公开透明的全球协作,以及如何培养和吸引人才。“开源项目没有黑魔法,只有解决实际生产问题才有根基。”
采访嘉宾介绍:
王院生,API7.AI 创始人 & CTO,Apache APISIX PMC Member,《OpenResty 最佳实践》作者。
评论