cover of episode S03E04 在企业里面做开源是什么样

S03E04 在企业里面做开源是什么样

2025/1/18
logo of podcast 开源面对面

开源面对面

AI Deep Dive AI Chapters Transcript
People
向阳
姜宁
Topics
@向阳 :我负责DeepFlow开源项目的社区管理,我们采用open core模式。开源的契机是拓展海外和互联网市场,将开源作为营销工具。决策过程历时半年,最终决定开源是因为DeepFlow产品独特,且公司希望开拓新的市场。开源后,公司资源分配发生变化,QA团队需处理来自内部和社区的bug,产品需求来自内部和社区,这提升了产品竞争力并缩短了反馈周期。开源后,公司新增一名专职社区运营人员,但核心开发仍由原研发团队负责,社区反馈的bug和需求会纳入研发流程。开源后的目标逐渐清晰,从最初的拓展市场,到关注feature request数量、use case数量、用户参与度等指标,并建立了DevRel角色来协调和管理社区互动。企业与社区的关系应建立在信任和平等合作的基础上,而非单纯的商业交易或市场营销。我们将社区用户分为对项目感兴趣的潜在用户和积极参与的企业用户,并通过微信群等渠道与用户沟通,对关键用户进行重点维护,促进Use Case的产生和分享。开源并非直接的商业模式,而是市场手段或软件分发手段,Open Core模式能平衡开源和商业利益。开源带来的收获包括提升工程师个人能力、拓展市场、改进产品、提升研发效率和团队士气。想在企业内部做开源,应认真对待每一个环节,持续积累经验,并正确看待社区反馈,选择合适的渠道解决问题。 @姜宁 :企业做开源决策时,应明确开源并非直接盈利模式,而是拓展市场、提升产品竞争力、降低研发成本的手段,并需考虑核心代码保护和生态建设。开源不是提升公司估值的银弹,而是提升研发效率的有效手段,企业应重视知识工人的效率提升。开源成功的关键在于建立顺畅的沟通机制,高效解决问题,并避免将开源视为提升估值的银弹。企业选择开源项目时,应避免将开源视为提升市值或增加开发者数量的途径,而应关注高效解决问题和与用户有效互动。

Deep Dive

Chapters
本节探讨了企业选择开源的动机,特别是云杉网络选择开源DeepFlow项目的决策过程。他们考虑了开源带来的风险和收益,最终决定将开源作为拓展海外市场和吸引互联网公司用户的营销工具。
  • 云杉网络选择开源DeepFlow的契机是拓展海外市场和吸引互联网公司用户
  • 开源被视为营销工具
  • 决策过程考虑了风险和收益,以及产品在市场上的独特性

Shownotes Transcript

来开面面分享你开的故事各位小伙伴今天是 2024 年的 12 月 28 号今天呢是一期那个串台节目啊有这个我们开面面面跟 LC 北京我们两个主播然后那个就这个在企业内部做客源到底是一个什么情况或者是在前面都看到底是什么样子这个话题而我们我们今天请了一个嘉宾然后我们具体的聊一聊然后我是麦克然后江宁老师你来给大家打招呼哈喽哈喽啊我是江宁是 LC 北京博客的助理

哈哈哈哈然后我们都好久没有更节目了因为那个 2024 年大家工作都很忙然后那个在这个岁末年初我们其实这个话题在上一次那个阿巴奇北京那个会就在丽亭华严的时候我其实已经跟跟这个我们今天嘉宾向阳其实提过这个事情哇那是一年前了一年前对吧其实这个话题我已经打了对打了很久向阳给大家打个招呼介绍一下自己大家好我叫向阳然后我们在这个呃

也是两年多之前开始做开源我们主要的一个产品做可观测性的 Deepflow 一直做到现在现在有 3000star 我们公司主要就做这样一款产品然后我们大概是这个产品已经有一些历史了从 16 年开始正式发布第一个版本我们在 22 年 7 月份的时候正式把它开源出来采用 open core 的一个方式我本人负责就相当于整个社区的一个负责人

然后除此之外我们还有一些还有一个负责运营的小伙伴和一个负责支持的一个小伙伴江青老师你现在具体负责是什么工作跟开源有关的在企业里边对我现在在企业的 OSPO 里面然后来去做一些跟开源相关的一些事情然后另外的话就是在阿帕奇软件经纪会这边也是阿帕奇软件经纪会的董事然后也参与一些项目的一些治理

其实我觉得开源其实还是一个比较热的一个话题而且特别是现在 AI

大圆模型出来之后发现大家写论文基本上都得深到眼里要把你的代码放出来所以这块的话其实发展都还挺快挺多的然后在企业这边今天这个话题我觉得企业也挺有意思的企业为什么要做开源我们做开源到底到底做什么样的然后我们后面会有什么样的收益我们怎么

我觉得可能要有一个话题我觉得可能要稍微预告一下我怎么来做一个持续的一个开源因为企业它会经营它会变化策略也会变化然后项目它可能因为自身的原因或者就 RVI 的情况或者

产品也有寿命周期对对对对他也可能会会会淘汰掉但是我们在社区里面看到很多项目他为什么能长期的发展起来我觉得今天其实也可以这样嗯嗯行那么第一个问题呢是这个是谈一下企业做这个开源的这个起源或者契机啊

企业在投入所开源的时候,它这个决策过程到底是一个什么样的过程?其实从外面人的视角来讲,他其实不是太清楚他不先开设计说我今天有个 idea,然后我就在社区里边发一个帖子然后大家讨论,讨论完了之后,所以我们就决定要做这个事情了,我们就做了那么企业里边到底是怎么决策呢?贤雅你先给我们介绍一下呗我们刚才我也提到,丁普通说,甘肃的第一天就开源了

那我们考虑看一看这件事呢是当时呢看到呢 DeFi 在我们已有的一些大币的企业市场上已经有一些落地了那我们在考虑呢哎他怎么样去走向一些更多的一个更广泛的一个市场比如说互联网公司比如说出海那当时呢我们

来去做这件事呢有几个选择吧第一个选择是开源第二个选择是做 SaaS 对当时在考虑 SaaS 的时候呢我们也在看了一些情况就是这个国内的 SaaS 怎么样啊还外 SaaS 怎么样然后以去做开源呢我们当时问了自己这样几个问题啊就是说我们做开源预期得到什么样的收益我们可能会存在什么样的风险

风险就是一个竞争必内的一个风险我们把我们最有竞争力的东西开出去了预期得到什么样的收益呢我们当时也知道在国内做开源可能是没有任何直接上的这个

客户的一个转化的这可能是没有的最后我们最终决定这个事有这样几点来去决策第一点就是我们要去做这件事它一个远期的目标是什么远期我们是要出海我们要走向更广阔的一个市场我们把开源看成一个什么东西看成一个 marketing 的一个工具市场的一个工具对我们做市场

那近期来讲呢我们做这件事呢我们要承担它的风险就是我们的竞争壁垒可能会有问题

但是我们在这里面反复去问自己的一个事就是我开源出来这个东西它只是 yet another 什么东西还是说它是一个比较 unique 的一个创新的一个东西我们希望是把我们最创新的核心的一个部分开出来它成为一个很有生命力的一个东西然后我们再去选择在 Github 上开源的时候 Github 上的 organization 选择了它也没有带有公司的色彩

他就选择了就是这个 organization 就是 deepflow 那可能我们的公司云山他会有很多开源项目那 deepflow 这个开源项目呢他的 organization 就是 deepflow 所以我们当时也做了这样一个处理对以及呢我们当时还在去定下来一个点呢就是我们做开源呢毕竟是在一个产品的一个企业 2B 的一个企业那我们做这件事的时候呢

我们当时就认为我们不要去追逐这个贡献者的数量我们追逐的是什么呢是本金指标如果定一个的话就是 use case 的数量对那以及还会去关注一些比如说我们不会去关注 PR 的数量当然我们会关注 feature request 的数量最终考虑到所有这些点以后我们大概仅仅

大半年的一个讨论把公司内部的决策层管理层最终决定我们是我们是 unique 的一个产品

我们最终的目标是想走向海外市场我们值得通过开源这个方式来去做 marketing 以及我们能看到我们开源出来以后能去把国内的永远不可能是我们客户的一部分群体比如说互联网公司能够变成我们的用户然后最终这些顺理成章的决策下来我们要做开源对

那我再想问一下就是做这个决策的时间点在整个产品的生命周期里边或者在这个企业发展的阶段里面你们认为是处于一个什么阶段才做出这个决策的

我觉得应该处在一个我们去思考去拿下一个更大的一个市场我们以前做什么样的市场呢就像金融电信电力这些市场呢传统对传统的这样这样一些行业市场呢我觉得呢你不做开源或者做不做开源的这个不太有太大的关系对对对但是我们想呢要么开拓海外市场要么开拓这个泛互联网的这样一个市场

这两个市场它更多的比如说产品的增长分为 SLG 销售驱动的 MLG Marketing 市场驱动的 PLGPLG 一般靠 SaaS 我们在想我们要去开拓一些新的市场我们肯定要去寻找一些新的增长的方式

也就是说其实简单来讲就是我们在考虑一个变化的时候来去做这样一个选择 Deepflow 这个产品它其实是一个相对来说比较成熟的产品了所以在那个阶段才做出这个决策对吧江青老师你来台呢因为你在那个 AppC 那边软件经营会其实见过很多很多很多大大小小公司做开源的在你看来这个

不同的企业或者不同体量不同规模的企业他们做开发决策的时候主要的考虑的因素或者是决策过程大概是什么样子的因为

其实如果你在经费角度上来看的话我们是对接的是具体的项目实际上就是公司层面上面他怎么来去做决策的话我觉得并不是很透明的但是我刚刚听了一下 DeepFall 这块的话实际上其实我也有些小问题尤其是你要说的就拓展海外市场或者我们我知道的有很多我们监控的一些

然后实际上 by default 就是想着就用开源这种方式来做的话其实最主要目的就是因为这个监控它有适配的这些东西会很复杂如果我们每个都自己来做的话它是功能量是特别大的但收益可能也不是那么高的

体练一下的话什么样的项目它更适合开源我们不考虑或者我们还是要从 AI 的角度上来说因为刚才您这边也说了我需要有所舍弃我们即使要做 Open call 我会把我的一些

比较核心的一些东西我把它卡出来其实作为我去跟社区做交换的话实际上是就是社区可以在我的技术上做更多的迭代但是一般来说的话 Core 那块的代码其实相对来说它还是有门槛的不是随便一个人就能改的

因为我自己以前做的做 EDA 基层的这种项目就类似于这种叫 apache camo 实际上 core DSL 一般人其实是改不了的而且它改的话很容易出问题所以一般来说大家可能更多的贡献就是做那种 component 的贡献就是我们要对接具体的应用或者我们要对应我们要监控的场景这块其实是使用方他也有方他更容易去

就是他知道的而且他就是他们的这种专业的这种东西要比我们知道更多其实用这种方式的话就能大家形成一个互补然后如果是你是一个比较开放的协议的话大家可以在这个基础之上能共享成果互联网企业的话我觉得基本上你是不要指望能给他卖到钱的但是我们能跟他有什么样的交互

其实我觉得更多的可能就是 case 就是它的场景因为那个场景的话帮我们打磨项目了之后我可以让我的项目更顺利的进入到其他的用户的生产系统里面或者那些用户的话因为比较丝滑来做我又成本没有那么高

我其实更多是从研发的层面上面来做我把它集合了我的适配性很强自然而然它就变成一个标准了我的后续的话其实我是可以在标准之上我再就建立一些生态我通过那些方式来赚钱甚至我可以软件不要钱我卖盒子它这个钱是从其他方向来赚过来的所以就回过头来说的话就是

做开源决策的话可能这个故事还是要把它说清楚这样才能让领导白衣然后但我觉得最核心最核心的可能要说清楚你不要太指望用这个项目来赚钱因为你已经开源了你用一个更开放的方式就把基本上所有的东西都给到大家面前了你要直接靠这个项目直接来赚钱的可能性极不为零就是你已经没有付费墙了

你基本上是在打明所以为了要赚钱你可能要在外围或者在更高维度上面你要有一些相应的控制你完全开源了竞争对手直接拿过去然后还有可能做的比你更好这就没法玩了所以我觉得

要思考这个问题的话你可能要跳出好几个围柱来去来看我们到底是为了什么但我这边接触了很多人其实是拍拔的工程师对于工程师来说其实很乐意把他的东西学出来因为这个是他技能对他后续的职业成长是有很大帮助的对

我可以说我是某某开源项目的作者然后别人就能知道你的能力是什么样的你在 Job market 的话是很容易找到现在我已经

有一个广告位放在那然后我只要好好做就有很多人愿意来雇我甚至有可能我能找到一个更好的你在大厂待过好长时间大厂一般情况这样他们做开案的时候跟刚才提的那种情况类似吗我今天也想聊这个成熟的项目你直接把它拿开出来的时候其实你很难把

把社区做得很红火就是这如果如果他就是开箱机用了就大家大家相对来说不需要做什么太多的这个定制化或者是

修复的话其实大家可能就更多的就把它当成一个开箱机用的东西它参与度其实就比较低但是大厂有很多这样的这种项目出来其实我觉得如果站在开源的角度上来看的话它不是一个特别好的决策我觉得这样的话其实你所有维护裤裤都在这里面就变相的变成我来做的慈善了不是大厂有这样一个情况比如说我们不说名字 A 大厂

他有一个,咱随便举办比如说前端的某一个什么什么项目然后非常好他开源出来然后在业界之内应用很广泛 B 大厂一看你在这个领域里边也形成了吗不行我也要搞一个东西出来给你看我也开源给你

对对对他会做这样的事情他有的时候并不是因为说我这个东西要怎么样适配了或者是有什么客户群体或者客人的群体其实这里面就存在着我们会有跟风的这种情况而且我觉得现在就是这种多吗我觉得挺多的互联网打卡的时候它都会有一些 infra 的一些东西这些 infra 的东西或多或少还是会有一些类似的所以我在 CNCF 那块其实看到很多的

基于 Kubernetes 衍生出来的一些东西其实都有些大同小异但是大家其实没有形成一个合力我觉得可能今天也可以先吐槽一下反正我接触到的很多 data

其实很难形成一个合作就可能还是我们大家卷的太厉害了就导致于其实我们没有看到一个共同的区域或者说大家都害怕被其他厂家掐脖子这个时候基金会又没有扮演比较好的一个角色

相对来说总理这样的话呢就是大家都都都在上面投入然后也不会受到什么太大影响就是基金会他们主要还扮演一个中立的角色这样大厂之间才能形成一些合作嗯

就是跟我们制定标准或者是对应的这种实现其实我觉得开源是一个很好的一个人员开发的方式方法然后我们在分发过程中不是二次定制我们是源代码这样就给了大家来去做二次定制然后进一步来去改进的这么一个手段其实就是

从某种层面上面是降低了大家开发的成本但是在国内的很多情况下大家会把开源当成是一个 free lunch 然后直接把它拿过来就融到自己的系统里面去了但是很少去 contribute back 实际上大家可能没有

就觉得这是别人的地盘这是我们自己的地盘然后我们之前其实有去 9 月份的时候在欧洲开 OpenSource Summit 的时候实际上我们就有聊过这方面可能跟我们的基因有一些关系

就是这个可能偏想动经济就是什么是什么东西都拿到自己手上自己知足嘛对对自己知足但这里面其实跟现在的这个大国竞争也有一些关系但是从另外一个角度上来说的话就是

就是从社区层面上面来说的话我把我们的改进如果能合到上游其实我后面的维护成本是会低很多的而且从另外一个层面上面来说还是有 Community 概念之后实际上是我会保证这个项目因为我觉得这个项目很好我需要做一些事情让这个项目能够持续的迭代和发展

我觉得这块的话大家会觉得开源项目是在那边的我现在手上拿到这个项目才是我自己做定制的这才是我自己的这两者之间其实这条沟其实并没有完全打通

我觉得可能在节目里面我觉得也是想呼吁大家这方面可能要有更多的从上游先的角度上来去考虑这个问题这当然其实很多事情就比较好解决这一块的话我觉得如果做内核开发的人他会有很强这个话题我们可以下次再约个时间再找谁聊一下因为 upstream first 这个话题其实它很大

这个话题我也有兴趣但下次再约我们先不展开我们今天下一个问题下一个问题就是当一个公司他做出了开源的决策之后它内部的资源分配通常是怎样的就是向阳你给我们介绍一下咱们就以云山定服路为例对我觉得对于我们同事的一些改变首先

我们会去做这样一个规定开源部分的代码它是我们代码中的一部分

我们币源的部分会去引用开源代码也就是说不会有两份代码一样的放在两个仓库里面这保证一个什么样的点保证开源代码是有人维护的他不是说我三个月发个版本我再去怎么同步一下对这是开发人员的一个事情然后测试我们的 QA 团队他会去从两个来源来去处理 bug

第一个就是内部的 bug 第二个就是给他不上的 issue 对这有改变然后我们的产品也会从两个渠道来去获取需求其实第一个就是内部的需求我们授权的需求客户的需求对第二个就是开源社区的其实这个是我们现在回过头来看需求是我们做开源可能收益最大的一个点对

而且我觉得这块是帮助我们去提升产品的竞争力的一个很有效的一个手段因为软件其实我一直认为都是软件不是设计出来的其实是用户用出来的它需要有一个反馈途径但是如果是那种商业项目的话就会比较慢基本上你需要收钱收货来回来去 biter 然后即使它提了一个 bug 的话

还需要很长时间我自身的经历大概我想想在 06 年的时候实际上有这样的经历因为当时我去

在澳南是一个外企然后去做一个商业化项目的一个支持然后同时也在做开源项目的开发其实当时我接了一个 case 就是客户这边提过来的然后我去帮他来做 fix 但因为我不能直接跟客户交流然后我们都是通过一些 email 途径就转了好几道手然后我其实把它 fix 完了之后

在到客户那边其实来回来回已经一个月过去了对我来说的话他如果觉得我这个 fix 有问题的话我还得要翻以前的一些记录什么之类的我才能知道这个东西是什么样但是在开箱社区就不一样开箱社区就是别人提了一个 bug 然后我修了我们可能一天两天就把这些事给 close 掉了而且如果这个问题有问题他可以接着再提

很直接而且后续进一步演进的话有一个更好玩的事情客户自己也修了然后把修好了 patch 对它有 patch 然后又有 test case 然后对于我来说我再看看是不是 make sense 如果 make sense 看当时其实就是觉得

这在之前的情况下是不可能发生的事情我觉得这个其实是最有价值的而且前面提到那个 feature 就是你做一场你要去找到一个合理的一个 feature 是很难很难的但对于我们那时候做维护的时候这个东西要不要进到我的代码我们来看两三个用户都在提

make sense 就把它做进来了其实我们那时候也没有特别的产品什么之类的基本上就是研发的同学就是 maintainer 你就 maintainer 自己可能就几个人然后可以比较高效的去做迭代我觉得如果站在这个角度上去反思一下的话这部分的 ROI 我觉得可能是需要比较好的去度量起来的

还是 9 月份的时候实际上我跟 Kubernetes 的他们在做维护的事情因为他们其实也需要在内部去解释一下我们在做开源开发到底对公司带来什么样的价值像他会提 bug fix 的效率还有就是 feature 所以我觉得 feature 这块其实是蛮重要的我觉得可能是能当成一个很重要的一个北京指标这样的话可能

你从内部因为我们还有可能会走弯路做了一个 feature 然后客户不一定喜欢或者是并不顺畅但我觉得从整个研发的角度层面上面其实是可以做一些测量然后这样去跟

公司去汇报的时候实际上我觉得是一个挺重要的一块的事情对其实我们这一块也有一些统计就像江丁老师刚说的我们在开完之前从一个 fisher 角度来讲比如我们客户提一个 fisher 我们产品经理要去设计设计完了要开发开发以后要去还验证是吧部署其实我们大币客户它有一个特点就是它会用我们的 LTS 版本 LTS 四个月起

所以可能验证这个事最终他要问一支功能还要点赞可能是近一年吧几个季度开发社区不一样开发社区他们会首先他用了我们小版本小版本两周一次而且这个 feature 的整个流程其实就是几周从提出来到设计出来方案到开发关键是他验证了他真真正正的部署到他的环境上去了他知道这个确实是我要的他点赞了

这个环节向来几周其实就是一个几个季度和几周的一个差别对我觉得这个是一个很大很大的不同但很多时候其实我觉得至少在大厂里面实际上也没有把这一部分的信息有效的去大厂这个做的反而是很差的因为我之前用一些这种萨索瓦的产品大厂做的咱们也不提名字了提名字就跟老 diss 人似的我老在朋友圈里 diss 他们有一些很明显的 bug

我在朋友圈里发了之后他们有他们公司的人看到了看到之后找他们这个很大的一个大 boss 过来然后跟我说这个事情然后我就把我的截图然后描述系统环境一通发过去三个月之后没有任何响应我觉得是主要是我没有直接对到他要能解决问题的这个人

或者说他觉得你这个东西不重要因为还有更重要的更大的客户在那里跟他提需求其实如果处理 feature request 的这块如果效率不高的话结果产品迭代其实就会有问题然后你如果积累了很多这种大客户而且

而且所谓大客户其实也会存在一个问题他乱提需求对那个需求可有可能是对大客户有价值但对于散户的话其实他没有什么价值的时候这个其实你从整个的 AI 来说的话其实他也会有问题所以我觉得不过下次的话回过头来说的话下次的话其实他可以做 A/B test 但是你 A/B test 的时候你也是要设计

你的整个 test 流程的而且那个东西你投出去的数据可没有那么精准你怎么知道这一波 A 就是他们有这个需求的反而那个 B 就没有呢

反正就是我觉得的确是如果能最直接的对到对接客户然后又能比较快的得到反馈就是直接跟研发来去做一些交互的时候因为大家都是研发其实我刚才举的那个例子就是客户他也是研发他能很快的把他的需求翻译成代码然后能合进去我觉得这块就是特别高效了属于

最好的这种场景这理想状态对但的确以前我就回想我接触到的这种情况还是海外的会多一些国内的话基本上都是来问你找你要 example 或者什么的一个他可能

可能他自己改了他不知道还有这种途径可以放下来因为我们接触到很多他们其实都是想放到上游因为我不想再维护因为我只有合到上游之后才能降低我的负担但是我们的很多研发同学是说上游我碰不了我只能在我这儿维护因为我就有这个自治权但他没有想到我后续版本的更新的问题但这个可能又是其他人考虑的问题了

那所以像做了就是把 deepflow 开源之后这个咱们这边人手有没有增加或者公司有没有单独额外招聘人有没有单独投入一些人力物力去做这个事情还是原来那帮人继续做这些事情我们支持社区呢确实是有一个专职的人来去支持但也就是仅此一个人因为实际上我们更多的引导呢就是大家把我们的东西用起来然后呢反馈一些 use case 对

我这边有个问题专职的人他也在做这个项目的开发吗他没做他纯做社群的运营

OK OK 但这里面会存在一个问题就大家提了一些问题然后他在转给研发的同学是吗对其实无论是 bug 还是 facial request 都是在 GitHub 上通过 issue 的方式流转到我们的研发流转到我们的测试其实就原发其实是直接有途径是对接到这个客户他那边指的是帮着来去维护社区关系然后帮着做 redirect 的

对 更多像一个比如说 Devreal 之类的这样一个角色其实我们这边类似于还有那种不道士的角色实际上就是如果他用的时候他有些门槛特别是一些酷或者什么的他需要有些势力其实就需要有人帮着来去开发这种势力然后让大家更好的用起来对 这也有一些但是开发这个角色不在我们这个人身上

我们的所有的开发都是在研发负责当然也有一些外部的代码的一些空间那是有人专门负责开源部分的代码的开发吗还是说没有其实就是你开源的跟不开源的都在研发团内对 都在一个

只不过我们的 Fisher 会有一个是否开源这样一个决策但通常来讲从开源社区来的 Fisher request 我们肯定会把它开源出去但是我们有些企业客户过来的 Fisher 我们也会评估它是一个非常普遍的诉求我们会把它开源出去比如说它是一些小众的场景或者它是一些涉及到企业组织涉及到付费的一些场景

我们就把它给遍掉 OK 江江你对这个话题还有什么

我觉得组织形态相当于是对形是什么样的我觉得前面的话可能讲的是说里面有一个特别有意思的地方是说我们可能面对开源我们在做开源运营的时候可能是一拨人但是开发的人他其实并没有跟客户隔离其实还是直接面对于客户我觉得可能是一个特别需要去强调的一个点

因为我接触到的情况来说的话可能大家容易遇到企业开源的就做开源的然后开发的做开发因为我还接触到一些项目他们因为在内场有些东西然后专门做开发的人把内场的代码

提交搬出来就是如果你就这个其实在工程化的话其实并不好实际上就是说我开放的开源的代码是我产品的一部分是的就是所谓我们说内外同源这个是蛮重要蛮重要但很多时候大家都没有去想这个事情就组织形态我明白你的意思所以像大厂

搞一些什么开办公室他们是不是专门来协调这件事情还是说我会专门抽人力不不不开办公室其实没有多少人他没有办法去帮着你去不去协调这些事情对吧不会完全做到项目的前面但是在开办公室的角度上来说其实是要把这个 best practice 说清楚因为如果你不这么做的话你的投入成本可能就要翻倍了

而且如果真翻倍的话大家就没有办法持续下来大厂里边那些专门负责某一些开发项目的小组他们就是项目他自身的他一般运作是这样就是开放式是提供一些协调的一些事情还有一些审批什么之类的具体你项目开发的话还是业务方他们来去做然后我们可能会给予一些指导

就有点那些刚刚你那边提到的就 DevRel 或者什么我们会帮他做一些 event 然后来做这方面的事情但是你说从工程层面上来说的话还是要研发的同学他懂得我跟开源社区协同关系到底是什么样的其实我们最理想的情况下就是内外议题然后就因为他们会

在国内做大货物资产就是他付了钱之后他的需求所有的需求都是合理的需求这个其实是最要命的这块我觉得你虽然我们要做好就是客户至上但是如果他是一个不合理的需求会拖使你的这个研发你这资源的话就维护起来会有很大的这个困难所以我觉得用开源去融合这个需求其实是一个比较好的一个办法其实听完了之后我觉得你们这边其实做的挺好的

是 其实我们在开源之前比如说我们的大企业客户提一个需求我们得想象我们做完以后会是一个什么样子开源之后甚至于企业提过来一个需求我们会告诉他这个能力已经在我们最近几个小版本里面社区已经提过来了而且我们已经验证过了

其实它也可以做一些试用或者什么的可以做一些快速部署而且它只要不上生产就行对 而且它的生产更新最新的 LTS 的动力也很强因为最新的 LTS 它已经是被很多社区的用户验证过的

在他看来呢他不是小白鼠尤其是那个大甲方他们其实就是这种心态有很多时候就是说首先第一我是大客户对我说什么你就得做什么对第二呢就是出了什么问题你来跟我找你方你得给我兜底对对对那我们接着往下来哈就是

因为 Deepflow 也开了两年多了,江洁你也一直在开源圈里面也十好几年了吧,也二十年了,然后一开始这个企业它定一个开源的比如说目标也好,或者什么也好,它随着时间的演进它会有一些变化,对吧?然后 Deepflow 这边过去两年半有没有什么变化,以及这些变化对参与其中的各方有什么影响,能说一说吗?

其实我们与其说变化呢更不更精确的说呢它是一个清晰化的一个过程

像刚才提到我们两年半之前我们在讨论开源这个事的时候当时的目标就是说走向更广阔的一个市场无论是放互联网还是出海后来我们逐渐的来去找到我们评估开源这件事它的一些跟踪的一个指标比如说我们不会去太去关注 star 不会太去关注我们的 contributor 的数量

关注的是什么?关注的是 feature request 的数量关注的是 use case 的数量关注的是我们是有多少个 user 能去上到我们的 meetup 关注这些其实它是一个清晰化的过程因为这些追踪的指标清晰化了以后我们做这件事的时候

刚才比如说 DevRel 的这样一个角色也更清晰了那现在我们的社区里面有几千人对吧那我们支撑的时候呢就会更有目的性更有就优先机器会更清晰了如果说你这个用户能够去帮我们去贡献 Use caseOK 我们来去优先的去支持你来去把这个落地呢就是做得很好嗯对这个相相当它是一个磨合的一个过程吧

目前来看更多的是逐渐清晰在这个过程里边哪些部分是需要取舍或者需要重点关注的我觉得可能还是有点不一样比如说做一个开发项目大家从工程师的荣耀感来讲就是 future 那个 star 对但是我们就是从我们要抛出这个执念就从一开始追求 star 要去追求我们毕竟做这个事它是要为企业的这个

营收啊 盈利啊 发展服务的所以我们追求的是 use case 的数量但是这个东西它对于公司来讲呢它就没有那么好的一个感觉所以其实我们是放弃了 STAR 我觉得公司其实来看的话我觉得要分两点啊就是

实际上其实偏虚名一点但指标主要是跟领导沟通的时候会方便一些其实有一个问题是说你刚提到的那个 use case 其实是存在要有反复的要跟客户要做沟通的我现在能稍微理解如果没有专人来去引导或者会比较麻烦但按照我自己的做开运项目的维护的经验来说的话

就是以前我们基本上是说的是 email driven developer 其实是我需要有个途径跟客户去不断的去交互的是那作为 maintainer 的时候其实我们整天一个很重要的一个工作实际上就是在回复大家邮件就是实际上我是在社区提供支持但我这个支持并不是说

免费的没有收益的支持我觉得这个支持其实我觉得今天来说的话就更清晰了实际上是帮我来打磨产品的但是从研发的角度上来说其实他回答这个问题需要花时间我不知道你们有没有定对应的这种 KPI 或者什么多长时间一定要回应什么级别的然后因为如果只是戴 Ware 的人去看这个东西他有些时候他不能直接回答

这也会带来一个问题就是用户的感觉不会很好特别对于严汉的同学来说的话其实

这个问题如果我们能直接聊的话可能会效率会更高你要倒击到手的话可能会有些问题我不知道你们这边是怎么来的我们是两个方面相结合第一个 Devil 这个角色他确实会去关注这些问题的解决的进度因为他自己会有一个优先级就是什么样的 user 对他推进 Use case 有帮助

除此之外我们每两周有一个小版本的发布我们研发的 manager 会去关注这些 issueopen issue 它的一个修复的一个进展怎么样其实就是研发对问题了对两个方面结合的一个方式

那就是两块,就是 DivRel 的人其实帮助我去识别更重要的用户,然后可能去维护这些关系,然后让他不要跑,然后我们给你提供更好的服务,有点像 Sales,然后另外的话,就是 Engineer 这边的话,就有 Manager 来做,

反正以前我们在火冒的时候就是 manager 相对来说会对我们来说是放养性但是他会有个关注我们对社区的问题来说的话那就是我们 by default 我们要做的事情

Manager 关注的是商业化支持的就是有付费的那种的他会定一下进展但当时我们的比例可能也就 8:18:2 或者更多的可能都是在这个开源圈里面的这些东西对这里面其实我们也发现一个比较好的现象就是

开发会去有自己解决这个问题的动力因为我们做的这个产品我们的客户是 on-prem 部署的比如金融银行电力大家会去有一个共同的认知如果我不及时解决这个 bug 这个 bug 我忽略它最终它可能进到我的版本里面由一个我的商业客户去部署了我再去解决的时候我肉身就要过去了对对对

这个效率就非常低但是呢其实社区里面这些再去解决的时候呢你可以非常快速的

开发和开发之间的对话而且我觉得这个效率会很高而且对大家都是远程的然后对我觉得这点今天这是很重要我觉得有了这点我觉得今天有很多实践的事才我科学那个啥因为以前对于我来说的话我也我不可能肉身就是我是在家上班然后用户都是在海外就是我们只有这条路

但您刚才这边提了之后其实我觉得对于研发来说其实它即时响应是对它最有效最有效的工作方式我觉得这个可能是一个非常多值得去提的现在

公司这边研发团队里边的大多数洋洋小伙伴现在都能 get 到这个点了对他有这种 adset 这样的变化因为大家会去想到因为我们以前不是一开始就开源的大家会想到如果一个 bug 我再扣现场要么我自己过去要么我和现场的同事说你拍个照你下一个 log 这东西非常的低效我觉得

因为我现在也需要有些案例点我要需要有关键点去说服研发同学去做更多的投资不过我现在发现我们内部的有些同学他有这样意识的之后特别就是比较新的一些 AI 或者什么的大家是 by default 很乐意去跟

用户去交流的但是另外一波就是类似于是大家会把这个当成是一个任务任务的话他其实他不会觉得这个东西就是我练手或者是我提升自己能力的一块他只是说把它当成一个 job 来说的话这个响应率或者什么就是完全不同所以我觉得可能还是从观念上面层面上面真正来做而且另外一个层面我可能要去补充一下就是

特别在内场做支持的时候会存在一个最大的一个问题是说大家 by default 是认为所有责任都是你你作为服务提供方所有责任都是你的甲方不都这样以为的吗对在公司内部其实也是存在这种东西所以

作为维护方就 uncall 的时候压力很大而且他要做各种各样的排查其实他解决问题效率会很低导致于他其实又没有时间去做代码的所以我觉得今天其实怎么说其实我以前有经历过这件事情但是我觉得没有特别就是很具象的把它列举出来

然后今天我们聊了之后可能我再做一些对比的时候发现实际上这些点这些很关键点就是我们这样获取 feature 就是普通的研发过程中里面很常见的问题的话实际上我们用开源方式是可以让他更快的来去做这个事情其实闭环闭得更快对其实如果你也很快的话你能比别人

多解决你就跑得比别人快然后你这样的产品迭代就会更方便然后大家做起来所以也会更舒心因为我没有那种扯皮什么费心的事情我就把这坨代码给它修好了

没有问题我自己的生活也会轻松很多对刚才说的这一点我可能稍微延展一下我们研发同学的心理还是有一些不一样的比如说我们在我们的商业客户那出一个 bug 其实我们是抱着一个比较负罪的心态我搞出一个问题来了

而且客户配合是有限的对对客户本来就对你有怨言对但是我们社区的用户他被一样因为他首先他白嫖你了他会说你帮我看一下你什么时候有空某某老师就称呼我们的开发为某某老师大家会觉得首先肯定是平等的

对我觉得这平等很重要就给研发同学一个很大的持续价值对而且以前我做的时候别人给我空头支票就是说在推特上发一个你下次到班去的时候给我啤酒我后悔我没有办法去兑现但我会很 happy

实际上我觉得提供的情绪价值是很乐意而且尤其是你帮客户解决了一个问题其实是把项目打磨得更好另外一个层面上面你也证明你很强如果你能做得越快的话你就能得到更多的正反馈我觉得这样的话就是让他每天工作

会很舒心是很舒心就有问题其实都是那个问题对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对对如果

工作生活然后现在进入开源之后大家有一个心态上的变化这一点是非常重要的这也是我想通过我们这个节目传递给所有这个能听到我们节目的小伙伴来听就是你在企业里边做开源

跟你想象的到底会有哪些不一样就那小马过河嘛就在外面想象的时候觉得哦可能是这样的在进企业内是不是企业就会把它定成一个 kpi 你每天就要完成这些一定要把我的 stack 搞到多少一定把设计做成什么样子其实不是那样子的对吧还是有我们现在刚才向杨跟江青你们俩提到这种情况其实他有很很强的正反馈然后这种情绪价值了以及其他的这种你在社区里面这种这种

这种技能啊名誉啊这些东西的提升对吧那么顺理成章我们接下来问下面这个问题刚才大家谈的是企业以及企业内部做开源怎么怎么样对吧也谈了很多啊下面这个问题我想问什么呢就想问一下企业如何看待以及界定企业自身和社区的关系这是一个很大的话题啊因为之前我也跟别的一些这个做开源的这个

项目的负责人也聊过他当时回来挺有意思他就直接反问我说他说你觉得你的这个项目里面有哪些是你应该做的而哪些是让社区能帮你做到呢我觉得他这个问题问得也很好所以我要听你们两位您谈谈如何界定以及看待企业跟社区的关系谁先来

我这边来说的话它两者以前我们企业跟客户之间的关系它就是一个 contract 大家签了合同对签了合同就是甲方乙方的关系实际上这个是不不平等的社区的话实际上更多的层面上面是大家共同的去完成一个事情但是

它还是有边界对吧对会有一些边界但我觉得可能我们有些时候具体问题要具体来看但我觉得更主要的话还是这种合作方式社区的合作方式其实更多是靠一种信任你基于社区的一种信任关系这种信任关系其实是需要

呵护的而且这个信任是很难建立的对于在这种商业环境里面其实它不完全的靠商业来去建立但它会对你的商誉会有很大的影响我们为什么说要合规为什么要做社区的好公民其实很大程度上就是在保证我们跟社区的这种协作能够很顺畅的能够进行

其实如果能有其顺畅的进行就是跟刚才夏岩那边提到的研发也很 happy 我们这个产品也迭代的很快就什么东西都很顺就是我们效率也很高这样其实是一个很 happy 的一个状态但是我觉得现在就是因为我们有两种

两种关系放在一起的时候就是你如果把它混在一起来谈的时候其实就会很麻烦譬如我就简单觉得我们要做他们项目市场推广可能大家就把它看成是一个要么就 2B 2C 的一个运营的一个方式我们就砸钱然后让人进来这种 2D2D 那你就砸钱反正你就能把流量弄过来但实际上很多大厂不就这样做的吗

这最简单的办法对是最简单的也有效吗对但是我觉得你如果忽略了跟社区的这种信任如果我们不能建立起桥梁去做这种有机的这种平等的信任对平等这种有机的这种方式来来来互动的话我们这个项目其实是很难持续下来要么就是

白嫖大厂你这边你所有的支持你都在做你要么就变成做公益了我觉得这个也很难对企业来讲比较难以持续对难以持续因为大家还是那种商业化的组织

我们其实也是对大家有所求的只不过是让大家反馈的时候能更顺畅一些其实我觉得前面如果我们站在服务大家的角度上来说的话或者我们就说我们 show feature 然后 showcase 这些的话我觉得对研发的态度他可能也不不不

反正我看到的做得好的项目的话大家对社区的预修反馈其实是很积极的基本上一天两天你就可能就把它解决掉了因为大家会觉得我们都是同路人我们都朝着同一个方向来做这个关系如果能理顺的话会好很多但是很多时候大家可能没有做过这方面的事情就不知道还存在着这样的这种开发方式

我现在去回想的话其实就在这方面的沟通会比较少很多时候大家会觉得我用开源江青你接触过很多开源的项目你会觉得社区在一个无论是企业还是什么基金会里边他会怎么样去看社区他会认为社区是必须的非常重要的还是说有的我就不在乎社区的生态到底有多强大

其实就是你这个软件我们还说了开源是一种软件开发方式然后也是一种分发方式其实我觉得创新就在这里面的创新你要想象你软件分发出去了它会有用户是吧

你如果作为一个良性的一个互动的话我觉得它需要有反馈是不是它在这个反馈过程中其实大家就形成了一些联系然后在某些层面什么大家都为了这个项目能变得更好我们有共同的目标然后来组合在一起其实你可以看这个例子 Wavepress 那个对吧他创始人现在跟社区搞得成那个样子

这是一个极端的例子也有一些但我要说他能赚起来的话他离不开社区的这只是说他后面他觉得这都是我的客户或者这是我的资源了之后他想牢牢把资源抓在一起的时候那跟社区之间可能我觉得会有一些分歧所以相当于是他把就是这个开源的开源方和社区之间的

大家的边界他自己没有搞清楚对他自己有位置他会觉得这是我的资源我类似于之前可能是他会觉得我是仁慈的独裁者什么之类的大家应该要听我的你如果没有我的话社区就他可能有这种想法想当然这种想法或者他有很强的控制权他觉得我们投入了很多资源在这里面这些就归我但是你要去

社区的人不是我们的 employee 就不是雇员更多的时候是说我们还是要以平等的方式来去建立起信任然后让大家能有效的来去合作所以社区

治理的概念或者说就开源治理的意思他其实讲的并不是说我们要如何去管理他们我觉得不是管理对对对其实我觉得更多的是说双方要建立一些准则或者是一些规则对其实更多的是说我们要站在

就是整体就维护到这个项目让他项目持续发展的一个角度上来去做一些对大家都有意义的事情这块的话形成一些共识对对这块其实相对来说会就大家会比较缺失的因为在公司的话大家都等等你刚才说的这个缺失是指的整个开源圈子里还是说只是我们国内缺失就是我觉得做开源运营的同学或者什么他可能会把他认为就是我们就是一种

商业就是 marketing 的希望而不是说我们要跟大家建立一个很好的合作关系然后持续的让大家能在这里面能迭代能贡献能更好的把我们这个事情做起来我觉得在这块的话可能大家的思路会不太一样其实还是我觉得跟考核指标也有很大关系如果你把它变成 star 的话

我就简单的这种交换了我给你个小礼物你给我点个 spa 这是很很直截了当的这个事情但是它并不能产生更大的价值实际上我们期望的是说我建了这个厂子是我们是能把这个项目迭代的更好因为我们能看到那种老牌的这种开源项目实际上其实就是用户他

他把他自己的一些诉求他能有效的就反回回来他在反馈过程中他可能直接是以自己自己做一个解决方式来来来做这样其实是一个非常高效的一个手段只只只不过就是就是如果大家没有想到哎我有这么高效的手段我还要用其他的一些虚的一些指标然后去做一个假象的一个反应生态的话我觉得这个就是小本术末对小本术末了啊

来,你谈一下,因为你这边其实相当于在看原界里面相当于是一个新玩家嘛,因为时间不太长,然后这两年多里边,你们是怎么看待公司自己自身和社区的关系呢?对,一些中间有没有什么认识上的一些变化?嗯,对,我们把社区分成这么样几类人,第一类人呢就是说,

他是对我们感兴趣的对这个项目感兴趣的或者他是一个潜在的使用者你区分他的属性吗比如他是个人还是企业还是说爱好者之类的从这个层面来讲不区分开始从什么时候我们开始区分其实我们就中国人爱用微信群在群里面去沟通我觉得互动有无大家来去项目之间帮助还是 OK 的我们

会更多的拿微信群当做一个互联沟通的一个渠道但是呢我们会把其中的一部分 user 用户呢他去识别出来那这部分 user 呢我们用什么样的思路就是刚才 devreel 你说我们这个 devreel 是一个 sales 也好或者是一个这个客户成功的一个专员也好呢他会去和这个 user 呢这样去沟通啊就是你当然你可以就是在这个群里面去啊

看看我们的这个项目呀用一用啊这没问题但是呢哎当你发现把这个事当做一个事或者当做你自己的 okr 你在企业里面要去做这个事情的时候呢和我们 WRO 去沟通然后双方呢我们就会有一个文档有一个 doc 这个 doc 里面就写了哎我们想达到的目标是什么达到这个目标呢比如说 Dflow 的这个

这边的人员可以给些什么样协助而你这边会一些什么样时间点那你有一些什么样成效乃至于后面比如说到 meetup 呀去做些分享

其实这里面呢就是相当于把把把一个呃以前的比较随意的一个行为就是某个地方某某某开发人员在自己企业内部用了一个开源软件这是一个比较随意的行为稍微往前推了一把就是你不要太随意了你做这件事呢我们稍微帮你一下你能更成功比如说能在企业内部呢比如说部署量能更大或者把这个东西呢能去推荐给其他的一个呃这个开发者对啊这件事

它是对你有好处的对然后我们也能说得很清楚就是我们的诉求是什么呢可能希望你把这些经验都去给说出来那这是对于整个社区是有向前的推进的作用的对于我们厂商来讲肯定也是非常希望看到这一点的

所以它其实是我们在所有的这些 user 可能比如微信群里面有几千人对吧我们好几个微信群有几千人这里面有真真正正像把它落到企业里面的我们有一个相对来讲

重点的这样一个重点客户对重点客户刚好去维护对大概会有多少比例大概这里面我想想看比例可能从微信群比如说我们现在有个 3000 人对吧我们大概 target 到 1%就可以了就 30 就同一时间并发的能到 30 我觉得就 OK 了

因为 30 的话呢基本上我们算下来呢你从 Meetup 的角度从 Use case 的角度你能在这个社区里面持续的这些有些声音对吧其实这个 Use case 呢大家这个 Use case 发多了以后呢

3000 人的 3000 人的他也就知道开发者有的时候比较腼腆他不会跟我们的 DevRel 来去沟通他发现那有个 Use case 我知道这边一步一步来可能就 OK 了对其实也是一种社区让社区有效建立一些联系其实我们是可以抓一些核心的一些用户或者开发者反正我们现在内部推项目的时候其实也花了很大力气去

找那个在现场使用的这些用户因为这些用户的话他可能不是付费的用户但他是很好的一个就是宣传宣传手就是播动机对对对

我觉得其实他们发挥的作用其实会很好很多时候客户说你好其他人可能用户他能更容易接受而且他们的这些使用过程中的这些案例其实也可以帮助这个项目不断迭代稳定稍微我们还是要从某个方向去主动一点开发者可能更加会低调一些我们一方面我们去提供一些协助另外一方面也希望他去做一些分享

大家都有一些收益这个事就比较好推进其实还是要维护一下圈子让大家觉得我跟你玩有意思然后还能有所收获 OK 我们再往下一个今天也是比较重磅的一个话题有人把开源它视为商业模式的一部分但是也有人觉得这是一个伪命题

市面上会有一个声音说 KM 就是我们的一个商业模式尤其是那些跟 VC 要讲这个讲融资的时候跟你讲我们的这个商业模式是怎么样的其中 KM 就是我们其中一个商业模式对吧这是一种说法我觉得这里面我们看到的点啊就是说假设是一个完全 open source 的我觉得可能是行不通的就至少在我们的国内客户他缺少一个购买的理由就你的 KM 版本和你的企业版本没有什么差别

我可能唯一剩下的理由就是我买你的人力服务但是人力服务它是不值钱的对这是一个方面的一个点

还有一点,我们现在采用 OpenCore 的方式把这两者区分开来另外一个就是 NAS,NAS 的话如果你全开出去了又用 Apache 或者 MIT 那可能也是不 work 的,这里面也没有采购的理由

具体到 Deepflow 来讲我们后来发现其实对于我们还好第一就是我们 OpenCore 只去开源相当于是做一个模块可观色性整个体系里面的一个模块对我们的产品没有去开源我们发现我们传统的这些行业客户金融 能源 电力等等这样一些运营商他们还是会采购我们的企业版所以这个还是通的但是

这个问题如果说简单来讲它确实不是一个商业模式我们认为它更多的是一个市场的手段无论也有其他的人认为这是一个软件分发的手段我觉得在当下我们还没有 SaaS 服务的情况下它是一个市场手段

如果说未来我们做出海做 sus 服务呢它可以成为一个软件分发的一个手段对大概是这样的嗯 ok 就我们先声明一下因为这个 deepflow 产品它其实是一个更更底层的一个一个 infra 这个层面的所以呢会会有这样一些比如说每个软件都有自己的特点吗这也是其中一个特点然后然后江宁你你你你谈一谈你的看法呗因为这个回头我我也说说我的看法啊啊啊啊

其实我觉得今天我们其实聊了更多就前面其实做了很多铺垫就是我们为什么要做开源这件事情其实它那个钱不是说直接靠这个项目来赚的我们其实之前也说了因为项目公开了然后让更多人能够访问然后我也有一个比较宽松的许可证协议想大家是可以在不付钱的情况下就适用或者使用你这个软件

其实我们也是有所求的只是说有所求原来没有很明确的把它列出来放在哪或者很多就是说大家可能是说我们就图个名我们有个技术性影响力但是大家没有站在产品研发的角度上来去看待这个事情所以就导致于我们可能从 RY 的角度上来去算的时候实际上我们并没有说我通过开源这种方式我更高效了

我提效了这部分的其实这是我省下的钱这部分实际上没有在山野某社会什么的特别来去看但是我觉得就是 by default 因为以前在虎猫的时候我就很恰意大家 by default 为什么我所有办事的方式我就选开源因为大家都认同这件事情通过开源我是更高效的去做这个事情

但现在的话我们在企业内部的话其实大家可能还是拿一分钱赚做一天合唱赚一天钟的这种情况的时候实际上对于研发的同学来说的话

我要去做 Uncall 我要去做 Support 我不知道有更高效的办法来去帮我来做这个事情等他做开软的时候他会觉得我去给他去回答问题的时候我没有什么太多的这个收益或者就是我们的这个 Leader 来了看的时候我还有单独再投一个人放在我不赚钱的项目上面

我到底我脑子傻我现在人手都不够了我赚不到钱了我为什么要做这个事情实际上我觉得是大家没有想到想到这层的从 engineering 的层面来看但是海外的话大家可能会觉得用开源的这种方式好现在就不讲 business 了因为刚才已经转过一圈我但是我讲这个东西是说我为什么要做其实是从它的价值层面上面来去分析就是

其实还是前面那个前提是我做事效率更高的一个办法只是说大家没有一直在说这件事但在海外的话大家可能白底他认为是这样他就想做这样的事情如果企业你不让他做的话他就会觉得比较别扭所以基本上也会提内源或者什么的但是我觉得换个角度上来说的话其实就是在工程层面上面说或者是大家从产品研发的角度层面效应对

对效率高这件事情是非常重要的但是效率和控制或者我们说我们所谓的商业秘密之间它可能会有一些矛盾你怎么去把它调和起来或者我站在企业的来说我还是要盈利的我的盈利和我的开源它怎么来做一个有机的组合就是 open cost 给出来一个比较好的商业模式

我开我的基础设施的一部分或者就是说我把我的 call 就是我核心的一部分把它开放出来但是我不是所有的开我能 add on 的能赚到钱的这部分我可能不开源或者我用一个更紧的一个 license 来去做这个事情

换取的是我更高的更高效的一种开发方式就是我不需要投这么多人但这块的话如果在大厂的话人力尤其是研发这个人力它容易被隐藏掉这部分的信息它可能算的不是特别细或者是从某些层面上面或者从利润的角度上来说的话它可能会稍微短视一点它没有看到这个层面的事情的时候可能它对开源就会有更多的一些抗拒

但另外一块的话实际上我也不希望开源被包装成一个提升初创企业固执的一个手段因为前两年前三年的时候就有大量的对大量的 VCA 就觉得这开源是一个很好的一个赛道然后需要去

然后还跟那个我知道的就很多人就说你们赶紧把你们项目开了吧这个能把故事提上来但他们并没有说清楚就是我们开篮到底能给我们带来什么我觉得其实今天聊的时候就这个会白痴的会更清楚一点就这个你把它想清楚了之后其实特别是我在研发的过程中的这种效率提升的话我觉得这个如果能有些比较好的度量的故事能够说清楚的话我觉得

对大家真正理解开源做好开源其实是有很大帮助你刚才这个视角特别好现在管理企业和组织里边的这种管理学它其实是起源于工业革命时代那些然后工业革命时代里边一个企业最有价值的资产其实是它的设备

然后人反而是里边的相当于是人力是螺丝钉了对对对是不是他的重要资产对然后到 21 进入我们所谓的信息时代或者是我们叫他知识时代最值钱的你现在这个社会或者说我们在信息时代之后你一个企业一个组织里边最有价值的资产

不是那些设备而是你的知识工人以及知识工人的生产效率你想现在你无论买什么固定生产咱就说服务器对吧你以前大厂买服务器什么几百台几千台上万台对吧现在看起来很贵对吧然后电力然后带宽成本这都很值钱

这感觉比人值钱,其实那玩意不值钱,两年半,三年,五年,一淘汰,那玩意是不值钱的,值钱的是你的研发人员,就是你的知识工人以及他的效率,这个知识工人虽然他很厉害,但是你没有合理的把他的效率最大化反而对你来讲

相当于是你的资源没有利用最大化对吧就那个做生意的特别喜欢讲那个周转率对吧你周转率低那你就赚钱赚的少你周转率比你比你高哪怕是饭店这个翻台率它的快它都比别人赚的赚的多所以从这个角度来讲这个你说开源是一个商业模式吗其实我一直都不大认同这句话我觉得开源它本来它就跟商业模式它就没有过什么交集它只是说我是一种软件开发的方式或者说我是一种协作方式嗯

然后持这种观点的人可能还是上几年前的那种想法对吧然后这个话题也挺有意思如果我们以后有机会我们可以再多聊一聊这个话题对我觉得可能如果有些

有些内容如果能够就定量的做一些分析的话我如果能比较好的能测算出来的话这个晒出来的话我觉得效果会更好一点我刚才举了那么多例子的话实际上大家 believe 开源的时候实际上还是因为他高效他会认为这是一个很好的一种协同方式我就缺少扯皮的这种事情因为我看扯皮的事情

有些在大厂就会很多所以会很麻烦如果我们能透明高效的这种知识能够流转起来它产生的价值是很大的我感觉你这段时间很受伤一直在说这个问题对要实现一个功能扯半天对这还是因为现在的会计制度也是源于那个

管理学就是 19 20 世纪的那种管理学来的因为他算的什么东西是开支什么东西是收入但凡花出给他钱都是开支然后进账的才是收入但是他的进账这个东西对他有些隐性的你后来比如说你开支

你看到的是人天但是你没有看到开支比如说开源节流你想节流的时候你到底是裁员更节流还是说把人的效率提高了更节流对吧我们以后有就我说杨英老师咱俩以后得多传台我有好多话题你知道吗跟你这边非常 match 我老想说有时间就你聊因为我之前工作比较忙现在有 gap 时间了接下来这段时间如果你有空年后一段时间我们密集的搞一搞可以好的

好的我觉得而且这也是一个相互促进我觉得今天收获其实很难在层面上面就是我很少有些时候我是想当然但是我很少去做两者对比今天其实相互聊之后我会在一个第三者视角上面去看这个事情以前我都是当事人的话我觉得我很难去特别的去做这方面的比较

因为我会觉得这是高效的方法但是我为什么推不行因为我在另外一个厂里面的话就另外一堆人他们的想法和这个想法是不一样的所以就反过来其实我有点好奇的是说

就像这边你们怎么就是怎么挑到这个方向呢就是还是有对应的研发的这边同学他们有这方面的经历或者什么的或者就是就回到第一个问题这个决策的过程对对对就是你觉得做开源就是我们为什么后面一下子就盯到那个 feature 那个层面上的事情这个也跟我们最后这个问题稍微有点 match 我把最后这个问题大概说一下

就是在企业内部做开源也有很长时间了尤其是你这样的你做很长时间然后其实向前很早他也接触开源只不过是公司是从来年之前把这个产品进行开源的你们觉得

开源带给你们的收获是什么?就跟佳宁刚才说的那个问题,你们做这个决策的转变,肯定是因为觉得有很大收益,可能会有很多潜在的收益,你才会决定做这个转变的对吧?对,就是从最初做这个决策呢,其实是想走向一个大的一个市场,但是在做这个决策之前呢,其实我们也评估了一下,我们觉得呢,开源呢,对于我们内部的工程师肯定是很好的,因为给每个工程师呢,一个公开的一个简历,

对 只要你能用好这个渠道 你对自己还是非常有帮助的但后面的一步一步调整呢 我们这个论证的过程还是蛮久的就基本上我想当时花了一个八九个月吧包括其实我们当时给我们的开源项目做一个官网因为公司也有官网嘛 但是我们认为呢 开源项目它应该要有自己的官网我们去打磨这个官网里面的一些说法 一些词怎么样去传达一些信息 其实哎 这个

我们公司内部决策层的都花了很多时间

就我们当时的一个最初做这件事的一个想法就是说我们是一个当然这个还取决于我们之前蛮不好的一些东西就是在国内做大币的一个生意心里要去做 marketing 的很困难比如说假设我们随便举个例子中国银行或者是工商银行我们做了一个单对吧不能去说的对吧当时这个点也是我们去做看远的一个点

最早这是一些很碎片化的一些东西我们要做一个市场我们要更广阔的一个市场我们要做 marketing 我们要做这样一些东西对一点一点汇聚起来的然后其实我刚才和江林去分享比如我们的 feature 问题我们 bug 的问题

我们之前还没有去在决策的时候去评估这些点就在时间过程中慢慢把它提炼出来因为它不是从第一天就是开源的所以大家会有以前和现在的一个对比

大家知道以前我们 fix 一个 bug 我们要去客户要么去现场要么怎么怎么去办的时候这些痛苦的经历以及他大家会有一感知啊就是以前我们有一个 bug 出来以后研发他的这个心理压力对吧现在呢哎

我们 user 他是很平等的一个对话对吧反而他会认为你是专家他认为你是一个更高级的是吧他来去帮你你就是救世主对吧是这样一个角色大家有这样一个对比以后就会从自下而上的去总结这样一些东西包括以前还有一些笑话比如说开发和产品经理是一个死对头对吧对对对产品经理提一个需求开发拿着板砖你好好说

但现在可能开发的直接去接触到用户的需求以后他就会去知道了这个东西它不是一个产品你自己就是听什么客户他随便说一个说一个点子他就想一处说一处想一处是吧他是说有一个实在的一个用户有一个公司是在那他们我们的产品用了以后产生一个实际的一个问题他会对于这个东西会有更好的一个体感而且呢往往开发社区呢他是一个讲究

比如说我要做这样一宏大的一个 feature 我拆成很多很多小的 feature 拆完以后我们每两周我还有用户他直接就把你小的 feature 就相当于大 feature 的一个半成品就给去用起来了就是他 test 对所以所有的这些东西也都不是我们在开源的第一天就想好的一些收益

对 他其实是我们后来发现从自下而上的 决策是自上而下我们要干这件事 我们公司要走向更大的一个市场 对吧但是往哪走 到时候走的过程中对 走的过程中大家会发现他有对比有对比以后才发现这条路是能给每个角色的人他带给一些新的东西 将近有什么补充吗

我觉得今天听向阳聊的时候感觉很多东西都很顺都踩到了点上然后我们其实是比较好的理顺的产品研发我们所谓的社区版和商业版之间的关系我觉得这些东西都顺了之后它自然而然就是

就大概效率就会很高然后很多人其实就会很 happy 了我觉得我们不会是别扭但是我以前接触到的或者我在有一段时间接触到的就是缺乏这种顺畅的这种感觉

各种各样的变化但它变流的过程中实际上我觉得我缺乏一个事情就是说我们把它有效的告诉给大家或者就是说我们有一些比较好的一些成功案例然后让更多人知道我们为什么真正要去做甘肝园因为它变成一个 Bus World 之后有人会把它当成引带有些产品他就会觉得我现在很痛苦我要去拿树球什么或者我们要背很多 KPI 然后哎呀

正好有开源这么一个证据到手去抓一抓但是后续的你这些配套的东西跟不上或者就是说大家没有这方面的意识或者就是说我做的很多事情但是相对来说会比较别扭就类似于我们刚刚说的版本你怎么来做然后你 LTS 和你现在的开源版本之间的关系还有你跟社区互动如果很少的话

其实我们很多东西就没有办法做下去了我觉得你发现了对你现在是 10 年多个用户然后那个成年出来的很多东西它能让你源源不断的正向的循环但是我觉得很多项目可能就处在我现在试半年一年的时候我还在冷起冷起冷起到后面可能就不了了之了这种情况

所以又回过头来我觉得真正能做好开源的话它可能需要一段时间就是一年两年的一个沉淀你还要去不断的去摸索然后另外一块的话也别太迷信把开源当成银弹实际上但是我觉得我们很核心还是它是一种快

快速的去帮助你解决问题的这个方式就是可能要站在这个角度上来去考虑然后我们对应的这些指标都围绕这块来去帮我们来调就看我们是不是朝着这个方向来走可能会更好一些

因为之前的话可能大家都觉得我们开源软件都看到的是结果就是开源软件质量也不错然后又有这么多人用关键还有一个很重要的点社区里面又有这么多人免费的给我打工其实这些都是假象都是它那个副产品其实我觉得最核心最核心的还就是我们能有一个高效的一个通道然后去做这个事情要不我们最后一个

社会的话题这样聊吧因为我最后还有一个问题想问就是对于那些没有在企业内部做过开源的小伙伴大家有什么建议然后这个建议我让你们两个分别说不同的建议你建议他们应该做什么然后将近因为你在要辩论是吧不是不是不是不是要辩论就是你

你就是就比如说我是一个没有在企业内部做过开源的小伙伴我想去比如说我想找工作或者找跟开源有关的工作那么向阳可能会给我一些建议说哪些是这个我我需要哎这个加分的或者是只你看到这几个指标你觉得 OK 可以可以去这个地方去试一试然后呢从你的角度你给我讲哪些是哎呀

这个地方一看如果这个公司用这个指标比如说用 star 在这里搞开源你就可以把它 pass 掉了你讲这方面的经验你讲这方面的建议好不好行你先来对我觉得从如果没做过要做这件事的时候可能更多的是

更多的是认真的对待每一个环节吧我觉得就像以前的我们在企业内部提交一个代码可能内部的人 review 一下过来就过了对现在你是在持续的打造你一生的简历电脑上的所有的这些动作它是删不掉的你持续经营你的一个简历对这个能让你跳脱很多东西

虽然说不能百分百啊别说我们的所谓 35 岁的这样一些问题啊你都是在持续积累的嗯这第一个就是认真的对待第二个呢就是主动的来去探索一些未知的一个领域吧这是我们自己的一个经历嘛就是我们一开始也不知道哎啊

研发再去 fix 这些问题的时候它能带来这样一些喜剧价值对吧这个呢可能更多的去正向的去对待这个问题而不是说我本来已经要 fix customer 的问题就是一部分工作了我现在还要给这些白嫖的这样一些用户呢来去 fix 他的问题

正确的看待这个 bug 它是恒定的你不在 user 这个场景下发现你就肯定要在 customer 场景下发现对那你应该选择一个对于自己最有利的环境或者是渠道来去解决它

这是第二个我觉得主要是这么两点江青你觉得看到哪些就可以不要去的其实站在公司师的角度上来说的话大家可能就让人家避雷可能还是一个大家认知的问题如果把开源当成是一个提升市值或者是

就是去求名的这么一块的事情的话我觉得会它不长久就是它会很快就会消亡因为这个资源投入了之后它可能不能很快看到这个对然后另外的话我觉得可能就大概定目标的时候三个月我要发展

100 个开发者就这种对如果要定这种目标的话可能要大家可能要稍微想一想因为要达到这个目标的话它可能有很多种路径或者我们就说我们的 star 数要增加到 100 或者是 11000

我们有些比较快速的一些方法来去做这个事情那都是便于运营的那个角度但我觉得站在研发同学来说的话这些都是服务运营其实最主要就是你能跟你的用户你跟你的客户能有效的

然后大家能一起来更快的把问题解决掉这个可能才是我们真正追求的方向因为很多时候大家会觉得我整天我就在开门社区里面去回答这个问题好像也说不出来什么但是我觉得我作为 8 年的维护我整天就在干这个事情实际上我们就是开门营业我们去收

feature 去收让我们项目变得更好的东西我觉得站在这个角度上我们应该感激那些给我们提问题的人而不是说把它当成是一个负担好我们今天这个节目内容就录到这里然后听到我们节目的小伙伴如果对在企业内部做开源是什么样子有一些好奇的话希望我们这期节目能给大家一些答案今天的时间就到这里跟大家说再见拜拜