PCon全球产品创新大会最新日程上线,这里直达 了解详情
写点什么

参与开源,让程序员都成为发明家而不是“码农”|DIVE 基础软件大会专访

  • 2022 年 1 月 11 日
  • 本文字数:3311 字

    阅读完需:约 11 分钟

参与开源,让程序员都成为发明家而不是“码农”|DIVE 基础软件大会专访

“您是如何定义自己的?”

“首先是个程序员,然后有点理想主义,想把自己的名字写到‘册’上,靠梦想活着......”


近日,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 最佳实践》作者。


2022 年 1 月 11 日 18:362984
用户头像
罗燕珊 InfoQ中文站编辑

发布了 198 篇内容, 共 73.4 次阅读, 收获喜欢 367 次。

关注

评论

发布
暂无评论
发现更多内容

springboot+mongo多数据源简单配置

Mars

mongo 多数据源配置

项目又延期了

escray

学习 极客时间 朱赟的技术管理课 6月日更

工业智能(汽车)联合创新实验室发布 力促汽车工业融通发展

浪潮云

架构抉择之分合矩阵

异想的芦苇

架构·

基于MySQL Binlog 实现可配置的异构数据同步

王博

算法训练营 - 学习笔记 - 第八周

心在飞

云原生中定时弹性伸缩之CronHPA实战

雪雷

6月日更

☕️【Java 技术之旅】360度全方位的教你认识网络IO模型

浩宇天尚

JVM Java、 编译器原理 6月日更

GitOps系列一:为什么协作技术对GitOps至关重要?

极狐GitLab

【译】JavaScript 代码整洁之道-变量篇

KooFE

JavaScript 大前端 变量 6月日更 整洁代码

Grpc-go源码刨析

王博

在一架天车中,透视5G时代的钢铁智变

脑极体

bzz矿机分币系统开发,BZZ矿机节点APP搭建

13823153121

认识微前端:一种用于前端 Web 开发的微服务

devpoint

大前端 SPA

网络攻防学习笔记 Day32

穿过生命散发芬芳

网络攻防 6月日更

【Vue2.x源码学习】第一篇-源码环境搭建

Brave

源码 vue2 6月日更

40 图|硬核解析用 Mac M1 玩转 SpringCloud

悟空聊架构

Spring Cloud Mac SpringCloud Alibaba m1 6月日更

面试官问我redis的string应用场景,我是这么回答的!

我是阿沐

php lua redis 面试

树莓派上的自动化---自动发送IP地址到邮箱

IT蜗壳-Tango

树莓派 IT蜗壳教学 6月日更

算法设计与分析——递归详解

若尘

算法 递归 6月日更

一篇文章带你看懂计算机系统监控与可观测性发展史(干货)

观测云

云计算 可观测性

六一限定,致每一个追光者

脑极体

[万字总结] 一文吃透 Webpack 核心原理

范文杰

大前端 webpack 6月日更

如何理解梯度下降算法Gradient Descent algorithm John 易筋 ARTS 打卡 Week 49

John(易筋)

ARTS 打卡计划

记录下PVE 装openwrt 后 pve 本身不能上网问题

三爻

Dubbo 服务在线测试

青年IT男

dubbo

百度智能云亮相CCBN2021,云智一体智媒产业智能化解决方案受关注

百度大脑

云智一体 CCBN

仅需1秒!快速查看海淀全区情况,一句话让“智慧屏”全搞定

百度大脑

智能

DMCC在迪拜正式启动加密中心

InfoQ_434670063458

DMCC 加密中心 自由区

让你编程能力秃飞猛进的好习惯

程序员鱼皮

Java c++ Python 大前端 自学编程

Java 中 HashSet 的 removeAll 性能分析

落日楼台H

Java 性能 HashSet removeAll 集合删除

ShadowRealm 与微前端沙箱

ShadowRealm 与微前端沙箱

参与开源,让程序员都成为发明家而不是“码农”|DIVE 基础软件大会专访-InfoQ