查看原文
其他

郭炜:开源大侠是怎样炼成的

OSCHINA OSC开源社区 2024-01-10
2023 年 6 月 1 日,首个由国人主导的开源数据集成工具 Apache SeaTunnel 正式宣布从 Apache 软件基金会孵化器毕业成为顶级项目。历经 18 个月的孵化,这个项目终于瓜熟蒂落,社区贡献者 200+,代码 24.5 万行,上千家企业使用,风光无限。令人难以想象,郭炜刚接手它时,仓库被封、贡献者四散的落魄样子。

大侠出手, SeaTunnel 浴火重生

SeaTunnel 原名 Waterdrop,于 2017 年由乐视创建,并于同年在 Github 上开源,是一个大数据集成处理平台。当时国内各种数据引擎风起云涌,却少有项目解决数据源之间的无缝集成和高速同步问题,因此 Waterdrop 在其中显得颇为亮眼。可惜这种亮眼却为它招来了横祸 —— 开源项目 Waterdrop 的商标被抢注了,而且对方的法务还发送律师函给开源的发起者和 Github 。
由于开源项目的名称不属于【商标】,而国内的商标又是【申请在先】原则,谁先申请谁先得到,因此 Waterdrop
一下子百口莫辩,落了下风, Github 在收到律师函后,把 Github 上 Waterdrop 的整个仓库都封了,所有的代码、PR、Issue 也全都无法访问,而且 Waterdrop 的创始团队还面临诉讼纠纷。没办法,团队只能在圈内四处求助,机缘巧合之下,遇到了郭炜。
郭炜,人称 “郭大侠”,平时就爱在开源圈内热心给大家帮忙。创始团队找到郭炜后,郭炜看到这样的事情,又是这样有前途的项目,不忍心袖手旁观,他便把项目接了过来,一边找律师解决法律纠纷,一边利用自己的资源辗转联系微软的 Github 管理人员解释,帮助项目解封。
2021 年,争议终于告一段落,Waterdrop 改名 SeaTunnel,得以继续运转。可大侠并不放心,毕竟团队才 3 个人,维护社区已是够呛,哪还有能力顾及法律合规的事情?万一这剧情重来一遍,可就不是闹着玩的了。郭炜开始当 SeaTunnel 的 Mentor,手把手带起了开源项目,并致力于把项目孵化到 Apache 基金会里面。一方面,基金会是专业的,有专人管理法务,比现在的草台班子好多了。另一方面,SeaTunnel 也可以接替退役的 Apache Sqoop,解决数据源之间数据打通的问题。
最终,在多位导师的帮助下,2021 年 12 月 9 日,SeaTunnel 正式通过 Apache 软件基金会的投票决议,顺利进入 Apache 孵化器,成为基金会中第一个诞生自中国的数据集成平台项目,目标是 “连接万源,同步如飞”。
如今,SeaTunnel 从 Apache 软件基金会孵化器毕业成为顶级项目,也在全球拥有很多企业用户和开发者,早已告别最初的窘迫。郭大侠也轻轻招手,奔赴了下一个难题。

大侠当年也是开源 “小趴菜”

SeaTunnel 团队最初之所以求助郭炜,是因为他成功运营过多个开源社区,在圈内早已小有名气。时间回拨到 2010 年,郭炜就开始接触开源了。那时候他在 Hadoop 社区里当 “潜水党”,以一个小白的身份,旁观各路大神在里面交流技术问题,给出” 炫酷 “的解决方案。“在开源社区里,你能看到很多全新的项目,全新的技术,能不断学到新东西,保持走在技术圈的前排,这是别的渠道无法替代的。书上的东西太陈旧了,网上的东西又特别杂,只有在开源社区,才能纯粹地了解新技术,了解开源圈在关注啥。”
当然,郭炜这样的 “e 人” 不会一直坐边角。很快他就融入了社区,经常参加线下 meetup,也 contribute 过不少文档。但在开源社区里,郭炜这个名字就是一个 “ nobody ”。到联想工作之后,郭炜继续坚持开源,也把开源带到了联想。在联想 COC 核心技术架构委员会,郭炜作为全球大数据平台负责人,一直在当开源布道者,推动开源技术的应用,许多同事都是因为他的宣传才 “入坑” 的。
但那时候在企业内部做开源布道,也是困难重重。首先开源当时并没有现下这么火,很多人对开源知之甚少,唯一的印象就是 “免费”。其次,习惯了商业软件的企业,更倾向于沿用原来的选择,毕竟商业软件虽然收费,可是有人售后,有人负责。而开源软件,虽然免费,却有风险,遇到问题,谁来解决呢?尤其是对于全球化的大公司而言,开源在当地还可能存在法律风险,哪怕这是个 “省钱” 的决定,想拍板也不容易。
郭炜坦言,在大企业内部做开源推广,就是要承担很多的责任。说白了就是,这个锅一开始你得背一背,才能让一些关键的业务用户用起来。等他们用起来觉得不错了,你才能压住质疑,谈下一步的推广。当时为了推广 Hadoop、Spark 且要符合各国的法务规范,郭炜要跟全球的同事开会,会议从早上六点排到了夜里两三点,一遍一遍地跟大家科普这个项目是什么、怎么用、出问题怎么办、合不合规、为什么要用它...... 经过跟业务部门 “过五关斩六将” 的 battle,最后一个美国的部门率先接受了 Spark,之后因为口碑不错,才慢慢推广到了其他国家、其他部门。
“我们开源社区里面的每一个用户都是很珍贵、很不容易的,尤其是那些为刚出来的新开源项目做企业内部推广的小伙伴,每一个都是勇士。他们在企业内部推广一项新技术,不仅需要做很多工作,更是拿自己头上的乌纱帽在为社区布道、保驾护航。所以,我们关注开源社区,我们不能只看到 contributor、committer、PMC,更要看到我们社区里的普通用户、他们的艰辛和不易。” 郭炜说,“其实每一个使用开源的人,都是这个社区的 contributor,他们做了很多的 contribution,只不过没有体现在代码上面而已。”

从开源 User 变 Owner,大侠不好当

2016 年,郭炜加入易观,担任 CTO(首席技术官)。当时公司在做一款用户行为分析的产品,主要依靠 Presto 进行二次修改来适配场景。有一天,郭炜正在网上闲逛,突然发现有个新项目,跟自家产品的场景有点像。于是就测试了一下,结果发现比自家产品快 10 倍!郭炜一下子就被震惊了。
这个项目就是 ClickHouse,俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。
郭炜自问在数据技术圈已属 “先锋达人”,各种研究都是随时关注的,可即便这样也没听说过这个项目,想来其他人知道它的概率就更低了。这样的好东西,怎么能忍住不分享呢?于是,郭炜联系了 ClickHouse 的全球社区负责人 Ivan,提出帮忙运营中国的社区。ClickHouse 同意了。
但是,万事开头难,从 0 到 1 新建一个开源社区,就更难。没人知道你是谁,没人愿意用你。郭炜访谈了早期快手、新浪用户,并组建了社区群。但是这第一个群,花了一年半的时间才凑满。线下社区的人就更少了,第一次 ClickHouse meetup,才来了 11 个人。
由于这是属于个人爱好的行为,ClickHouse 的各种运营活动都得自己做。日常的建群、验证、答疑、指导等等,都是下班和周末抽空完成的,每天晚上 11 点,就是郭炜的 ClickHouse 支持时间。最开始的时候,还要到每个群里手把手教大家 ClickHouse 怎么用、怎么装、怎么配?周末还要找到一些关键用户,跟他们聊天、吃饭,把他们组织起来,邀请他们来参加线下的组局等等。
“做开源不是到各种大会上去讲一讲就完了,开源布道师高光背后其实是无数的日常琐碎。想要运营好一个社区是很繁琐的,比方说群里有人发广告,你得把他踢出去;有人在里边吵架了,你要怎么维护?有人向社区扔臭鸡蛋了,你怎么判断是不是开源项目的问题?如果项目有问题,我们怎么样虚心接受?这些都是在社区维护里面要去做的事。一点一滴长年累月的积累,才能真的把社区这件事做好。” 郭炜说,“你看前 Apache 的董事会主席 Craig,这样的顶级大佬,都 70 多岁了,还在基金会里做 secretary 给大家建 Apache 的账号,你就知道社区运营有多琐碎了。在哪里都一样的。”
所幸,在这条路上,郭炜不是一个人在战斗。随着 ClickHouse 用户的增加,社区队伍也愈发壮大了。微信群达到 10 个的时候,郭炜开始招募志愿者,帮忙处理群事务。线下的 meetup,一开始一二十人,在公司找个会议室就能办。后来发展到线下两三百人,线上一千多人,普通场地都装不下了,郭炜就到处找朋友借场地,再自掏腰包飞过去组织。有一次在上海的 Meetup,报名的有 300 多人,但是找不到 Meetup 的地方,当时的趣头条大数据负责人金海就找公司帮忙提供了一个酒店,有布台,有大屏,有 4 个 session,跟开源大会一样。还有当年在阅文集团的刘文成,是 ClickHouse 的小 C,帮忙回答各种问题。在这些贡献者的帮助下,ClickHouse 中国社区终于办上了正规的 meetup。
三年后的 2019 年,ClickHouse 爆火,截至目前,ClickHouse 仍是 OLAP 方面用户最多的社区。在整个社区里,中国用户也是最多的。头条、阿里等企业用户也相继加入。在这一年的 meetup,社区邀请了俄罗斯 Yandex 公司 ClickHouse 开源社区创始人 Alexey Milovidov,他说:“中国的 ClickHouse 用户量能取得这样爆发性的增长(一个季度内用户增长了四倍),离不开 William(郭炜)在中国的推广。”

功成不在我,失败犹更多

能得到 ClickHouse 创始人的认可,郭炜很开心。不过他还是觉得,ClickHouse 能达到现在的程度,与其说是因为他这个推动者,不如说是因为这个产品本身的优秀和中国开源小伙伴们的支持。“在数据和大数据领域里,中国对开源的接受程度和开源的使用速度在全球都是最快的,比美国还要快。这得益于中国互联网的发展速度,和大量互联网公司的使用。也许开源商业的天花板没有美国那么高,但是中国卷起来的速度更快。中国往往能快速接受一个新技术,然后快速卷,快速迭代,加上中国有广大的开发者和用户基础,做起开源来有得天独厚的优势。”
现在回头看,这四五年里,郭炜自己和小伙伴们,都受益良多。当初跟他一起在社区里改代码的小伙伴们,现在薪资都翻了四五倍了。其中一个志愿者小 C 刘文成,被腾讯选中,从一个小厂跳槽到了微信里面做 ClickHouse 的维护。“人人为我,我为人人。你在社区里面做的贡献,大家都是看得见的。你的技术水平被大家认可了,那你获得的机会自然也会比别人多。我觉得这就是开源社区的魅力吧,在这里大家都是平等的,是金子很快就会发光。这也算是对社区贡献者的一种回报吧。只不过这种回报不是金钱上的,而是别人对你的认可和你的影响力上的。” 郭炜说。
当然,也不是所有的开源项目都能像 ClickHouse 那么幸运。大侠也会遇到挫折,运营的开源项目中失败的更多,有好多开源项目亲自运营了两三年,star 数才十几个。自己做开源项目,哪有那么容易成功呢?“犯错没关系,犯的错误多了你积累的经验也会多。你看我现在做产品能成功,背后反而是那些失败的经验在发挥作用。做其他事也一样。” 郭炜两手一摊,“因为每个人的成功,都有当时特殊的时代背景和需求,所以成功的经验,反而不重要,失败的经验更重要,它才能指导你怎么避免犯错。所以每一个成功的背后,可能都有 99 个失败,只不过大家最后只能看到那 1 个成功的而已。”
经过无数失败的郭炜,也锻炼出了自己看项目的眼光。“我觉得做开源社区,最关键的是要看准这个产品的定位:它到底解决什么问题,用什么样的技术框架?如果真的看好这个社区的发展的话,就到里面去跟社区一起成长好了。” 郭炜说,“产品有 bug 没关系,每个社区都不是完美的,当初 ClickHouse 也有各种各样的问题,但只要你把大的架构定好之后,剩下的细节就在这个基础上去迭代、去完善就好了。ClickHouse 当时解决的其实就是宽表和日志查询问题,就这一件事。然后它把当时最新的技术 —— 向量计算,直接放到引擎里,速度就是比我原来的 Presto 快十倍。它就解决这个问题,且解决得最好,所以在社区也能发展得很好。”
看准了产品思路、底层逻辑和创始团队之后,剩下的事情就是坚持了。“ClickHouse 2016 年刚刚开源的时候,我就把它引进中国了,那时候还默默无闻,直到 2019 年才爆火。前面这几年,完全就是靠熬过去的。你要相信你的眼光,持续坚持,不能半途而废。有时候一个开源社区最后能不能成功,就看你坚持的时间够不够长了。” 郭炜说,“等到社区真的成长起来,影响力足够大的时候,里面的每一个小伙伴都会受益。”

多重身份,在开源与商业间做平衡

2022 年 4 月,Ted Liu(刘天栋)突然来通知郭炜:我们提名你做 Apache Software Foundation(ASF)Member,你写个材料吧!就这样,郭炜成了 Apache 基金会 Member。“收到这个荣誉的时候,特别开心,觉得这是大家对我的肯定,同时觉得自己身上的责任更重了,也更有动力去考察和维护好 Apache 的每一个项目。”
而在 2023 年,郭炜身上又多了一个身份,白鲸开源的 CEO。很少有人同时当基金会 Member 和商业公司的领导人,郭炜会不会觉得冲突呢?做决策的时候,是先考虑开源还是商业化?如果开源和商业化功能打架,大侠不就很难办?
不过,郭炜对此很淡定,他认为,开源和商业化并不冲突,甚至是相辅相成的。一个开源项目如果想长治久安可持续发展,那商业化大概是不可避免的。如果没有商业公司去承接对核心开发者和贡献者的支持,去满足深度用户的需求,久而久之,纯靠爱发电的核心贡献者可能也会难以为继。
“像白鲸开源这样做(Apache SeaTunnel 和 DolphinScheduler)商业化的公司,不是开源的对立面,而是开源的促进者。” 郭炜说,“商业能够更好地保住开源的调性和核心贡献者的饭碗,让他们能够持续地在开源上发力。同样地,有些深度的用户,当开源项目无法完全满足他的需求,或者需要有人帮他在企业内部做推广的时候,有一个商业实体来帮他一起做这件事,那这个布道师也会轻松一点,而不必像我当初那样独自一个人舌战群儒,过五关斩六将。”
可是,开源项目之所以商业化困难,恰恰是因为公开了代码。商业和开源究竟如何取舍?哪些应该开源,哪些不开源?遇到冲突的时候,又该如何抉择?
郭炜笑笑,露了一手聪明的 “切糕大法”:“首先从产品定位来讲,你得把你的开源主力用户群和你的非开源主力用户群分开 —— 如果技术水平很强,而且自己还有时间有预算去折腾,那就用开源的好了。如果时间不够,人力预算又不足,那使用商业版更省心。所以,这两者的使用人群是不同的,你的开源软件和商业软件定位也不一样。明白了这个,你纠结的点也就没那么多了。”
按照惯例,最新的功能都会被放到开源版里面,相对稳定的、有行业属性的功能则通常放到商业版里,两边不时互通有无。郭炜要做的,就是把握好两边放功能的时间和节奏就行了。“至于具体哪些功能放到商业版、哪些功能放到开源版,这就是刀法怎么切的问题了:切得少了,你这个商业版没有价值;切多了,又会影响社区。那怎么来把握,就是一门艺术而不是技术了,这只可意会不可言传哪(笑~)”
总的来说,郭炜对中国的开源商业环境非常看好。毕竟中国对开源的接受程度很高。虽然从开源社区到商业公司和商业产品这一条路大家还在摸索,但至少,郭炜接触到的新一代决策者,已经跟过去不一样了:他们明白开源会让公司的技术和国际接轨、和全球最新的科技接轨。无论是传统公司还是互联网企业,都在逐步尝试使用开源原生的商业软件。
“中国开源商业的氛围和整体的步伐,正在觉醒。” 甚至中国开源走向全球,郭炜也觉得大有希望:“毕竟中国有这么好的土壤,特别在大数据领域里,有这么多的数据、终端、场景、性能...... 卷出来的项目,它一定是全球排名前列的,最终跟海外商业场景相结合,一定能卖得很好。”

开源老将,在酝酿下一个社区

在开源圈里,郭大侠也有自己的偶像:“Craig 给我做了一个榜样,他都 70 多了还在坚持为开源做贡献,我觉得我活到 70 岁时候也能继续做开源,他就是我的榜样。哈哈。”
活到老学到老,这也许不止是郭炜一个人的开源理想,但至少,郭炜坚持到了现在。
如今,作为开源老将,郭炜又在关注下一个热点了 —— 大模型,特别是开源的大模型。“我认为将来的每一款软件,都会被大模型和相关的 AI 技术再改造一遍、重做一遍。下一步如果再去孵化项目,可能就是跟大模型相关的了。” 郭炜说,“如果只是训练大模型,那么国内外只有寥寥几家公司能玩得起。但是大模型生态上下游的公司如果要做好,还是有很多机会的。那么,哪些东西能够促进大模型的应用、降低大模型的使用门槛、让大模型真正跑起来,尤其是大模型跟数据之间的关联,将会是我关注的重点。”
郭大侠收拾行囊,又奔赴了下一场挑战。
不知道接下来,他又会遇到怎样的故事呢?
【溯源】在每一场对话中,追溯关于开源的故事,认识那些极客、自由,并坚持着的开源人。
OSCHINA 推出的开源人物专访栏目【溯源】。
溯源,意指向源头追溯,为开源求解。问渠哪得清如许,为有源头活水来。每一个开源参与者,都是掀起开源浪潮最鲜活的源泉。所有开源故事,共同构建着我们今天看到的开源世界。
开源刚出现的数十年里,为开源奔走的黑客团体都在遭受来自社会主流的冷漠和排斥。即便现在的软件行业已经大喊出 “拥抱开源” 的口号,问题也依然存在。
我们不知道开源贡献者、开源布道师,以及所有参与开源的人还会面临多少阻碍,但给予我们信心的是,更多的人在投身开源事业。
所以 OSCHINA 希望面向开发者社区,寻找每一个积极参与开源、对开源有想法的人,了解他们以及他们的开源故事,窥探故事中的开源事业发展规律。



往期推荐



让代码运行起来,比代码可读性重要

谷歌大杀器Gemini来了!原生多模态、三大版本、手机直接可用、性能超GPT-4......

Linus收敛火爆脾气,谈内核社区“老龄化”问题




这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存