大家好 我们现在就开始了我这个talk 可能是关于Warsome Edge这个项目的一些开源的经验我们做这个项目已经做了大概有四年多然后大概在试在两年多之前把这个round time给Genshin 给了CNCF所以就是说从这个项目在最开始的时候我就一直是陪伴着它从0到现在有六千多个star然后所以给大家分享一下我们在做这个社区开发者社区的一些经验先讲一下我然后我之前其实是一个统神传意就是我在英国学的是这个硕士专业然后也在上海和北京做过一些统神传意然后是从2018年开始变成叫Developer Relationship的这个开发者关系的算是步道师吧我今年是加入了CNCF的那个大使就是应该是每年他会录取两期一共是有100多人然后在全世界各地然后大家加入以后是可以写一些文章然后去做一些演讲然后CNCF会给一定的预算然后你可以去组织开发者活动然后鼓励大家参与到运源生的生态建设当中来这是我之前组织的一些活动然后这就是我刚才也提到就是作为Developer你需要写一些技术文章做一些技术步道然后这个GoSIM是我们联合发起的一个CubeCon也是这次CubeCon China的一个同场活动那我也在筹备2023年12月份深圳的那个Cognitive Community Day是深圳的第一次办这个KCD这个是我之前讲做Talk的一些照片然后可以看到那个右边最下角是我这个是一个开发者步道师的一个活动就是关于我们的项目然后我们是一个开源的把WebAssembly用在边缘端的一个容器它是在两年多之前进入了CNCF的杀箱项目我们就简单想一下我们这个项目是干什么我们这项目其实是一个虚拟化的容器可以理解为它是一个更轻量的Docker或者说更轻量的Linux容器那我们认为第一代的这个容器是虚拟化方案第一代的虚拟化方案是Winware然后第二代是云云产商提供的一些虚拟化的方案比如说一些应用的容器那第三代我们就觉得WebAssembly是未来这个是CNCF之前的一些调研就是说大家都还是很认可这个技术的潜力的这个容器会是新的常态那在云云生时代WebAssembly将会是未来那这个其实是今天上午我照的一张照片这个是那个keynote的演讲是Linux亚太区的负责人他叫Kiss他就是讲了一下CNCF最新发布的一个全景图这是一个生态全景图这个小的图片里的项目都是跟WebAssembly相关的总共大概有60多个项目这是我们跟CNCF共同去制作的一个生态全景图大家可以具体看一下就是它会有不同的分类有语言 然后运行时然后应用框架然后边缘 还有一些其他的比如说工具链之类的就是有不同的项目这些项目就是代表的总市值大概有60多亿美金大家如果自己也觉得有更多的项目或者说大家觉得有一些更新的话可以就是非常欢迎社区去提交一些新的建议和想法或者说你觉得你的项目跟WebAssembly很相关也可以通过扫这个二维码去帮我们共同去完善这个生态全景图那我就简单讲一下这个这个What The Magic它是可以非常清亮的去做一些应用那比之前的方案是要小非常多倍可能小100倍这样然后占用的资源会很少可以帮你降低成本它适合这几个场景吧我可以就除了微服务还有大家很最近很热门的Service还有那个欠入式的一些应用之外我们可以简单了解一下这个AI推理就是AI推理它是能够去替代掉Python的依赖然后把一个几百兆的一个App变成两兆这个就是说它其实是能够替代不同能够支持不同的语言然后对于底层的平台也是非常的可移植性非常的强也非常的安全对于Service的那个函数也是性能非常高就是它刚才也提到了就是非常异于设置开发跟部署然后非常快没有能启动时间然后这是我们支持的一些AI框架可以看到就是主流的AI框架和这个数据流处理框架都支持了这个就是我们最近其实就是可以让你在简单的M2的MacBook上就能跑一个可以看到这是16G的一个MacBook就可以跑一个Lama的7B或者是70B的大模型就是你不需要Python的依赖而且是跨平台的那我们现在就是进入主题因为刚才前面其实讲了很多关于我们自己关于我和关于这个项目本身那我们现在主要就是因为我们今天的主题是讲怎么样去做开源治理那我们今天正题就是吸引社区参与的一些策略那我们会分为接下来的这几个方面那第一个是一些开发者关系的一些programs那第二个是要在你的Github repo跟你的社区里面要保持开发者的活跃度还有贡献者的活跃度还有就是好的一个文档和一些你其他的相关的内容包括一些tutorial之类的那最后就是会有一个例子吧就是会教大家去使用很好的那个自动化的工具去做davril ops就是让你的让开发者关系的运营人员跟部导师能够让他们节省经历和时间那这些其实主流的开源项目都会用到这些策略那第一个就是说鼓励不管是你自己的团队里的工程师还是社区里的工程师去鼓励他们去在不同的大会上做演讲然后多写文章那还有就是在发现了社区当中有非常活跃的成员之后你去积极地去跟他沟通然后看他能不能更进一步地参与到更多的一些比如说写文章或者是讲谈或者是贡献更多的代码或者是给大家做demo的这些活动当中那我们之前还做了一个效果比较好的一个program就是说如果你成功地运行了一个跟我们有关系的一个或者是成功跑起来的一个东西的话你可以拿到一个树莓派那这个是非常受到开发者的欢迎那我们即便在这个项目结束过结束了很久之后还有持续地有不断地全世界各地的开发者来找我们说这个活动是不是还在进行我非常想拿一个这个树莓派这个是很多其实国内的开源项目没有太了解的一些其实你可以参与进去的一些program就是这个资助呢是因为我们做开源就是其实经常是预算会比较紧张那这些项目其实你可以就是写proposal加入之后比如说举个例子Linux Foundation的这个Mentorship你是可以去发布发布四个任务那四个任务每个任务可以有一个实习生来去帮你做然后这个时间是为期三个月那每个月Linux Foundation都会给到这个实习生一笔金费而且你的项目会需要出一个Mentor就是出一个奖师那这个辅导的这个奖师也会从Linux Foundation拿到一个一笔资助所以是奖师和实习生都是有金费的那就是Linux Foundation的这个就是右上角这个它是有一年有三期就是春季夏季和秋季就是相当于你一年可以招到三成四也就是十二个实习生然后其中如果你发现有的实习生非常的committed或者非常厉害的话还可以让它继续留下来做你的实习生或者是正式的员工那其他的这几个项目也是类似开源之下是国内的国内的一个类似的项目那谷歌开源之下这个不是开源之下这个是谷歌的关于文档的这个叫谷歌文档之下那那个开源之下就是类似于Linux Foundation我们刚刚讲的那个这个文档的这个就是专门专注于文档就是我觉得很多开源项目可能一个是不知道他们这些像这些会有这些grants那另外一个就是可能每次就不知道提出什么样的任务让大家来参加经常就拖着拖着就是会拖过它那个最终的提交期限所以我觉得大家可以把这些能够参与的这些项目都计好日期然后就是积极去参与那右下角这个呢是那个Hacktoberfest这几个issue是我们刚列上去的就是你如果是学生或者是你是开源爱好者都行你就是可以找到我们带这个Hacktoberfest的Tag的这个issue然后去帮我们解决这个问题那一旦你解决了我们的这个bug或者是解决了我们的这个相应的问题的话你可以在Hacktoberfest的最后拿到一定的积分最后兑换相应的礼品这个就是另外一个很好的一个策略就是开源项目的增长我觉得加入一个像CNCF这样的一个组织是非常重要的因为CNCF生态里面会有很多其他的生态项目就跟你自身的项目可能是上下游的关系那这样的话你可以很轻松的就因为你是一个比如说你可以是CNCF的项目或者是你加入了iPad起金会你一旦是有了这个开源基金会的背书其他的一些项目就会更愿意跟你合作就会觉得这个项目肯定是被认可的是有一个强大的背书就比如说我们上次跟K3S的小伙伴接触的时候他们听说我们是CNCF的项目的话就会更加的更加的认可我们这个就是我们的GitHub的增长它有两个比较明显的增长一个就是加入CNCF就是大概在2021年的下半年还有一个就是我们跟Docker有一个正式的合作我们Docker的DexTop的那个版本把我们正式集成进去了所以那个时候也有一个很大的增长因为Docker的开发者社区也是非常大的大概他们有全球一千万开发者所以这个Star有一个明显的增长然后就是可以组织一些开发者活动我们在北京有一个Metab Group大概有几百个人然后呢左下角这个是跟Docker和Dapper还有自己一起在硅谷在去年的时候办的一个Metab这个Metab呢是当时也算是美国也算是疫情刚开放然后大家其实是很久没有去线下活动了我们其实当时非常担心就是会参加的人数不够但是最后其实快有一百人参加而且线上也有大概一百多个人在线上听就是非常受欢迎而且当时也是开始有硅谷的一些裁员的情况然后还有程序员就是专门去我们线下的这个活动去想说找工作之类的然后右上角是7月份在北京办的一个Metab然后右下角呢是是我们办的这个就是今年2023年在上海办的Rus大会Rus China就是也是特别不容易一波三折吧就是因为那个疫情还有一些场地的限制就是推迟了好多次然后最终是今年大概几个月前办成功了这个Rus这个也是这个其实是我们这一次QQ on China的一个同场活动然后我们是两个主要的发起人之一我们它其实是一个三天的活动但是昨天是第3天然后前面两天是在另外一个地方前面两天是在陆家在那个陆家嘴已经有两天是更针对开发者一些然后昨天那个活动不知道大家有没有参加就是昨天这个Ghosting的活动是在3楼然后是更针对因为前两天是更针对开发者嘛然后昨天那个是更针对决策者和一些企业高管对对对但是其实内容会有点类似然后里面有5个Track有AI 有元宇宙有Rust但是因为最近大模型特别火所以其实就是大模型的那个Track特别受欢迎就是每次都是不太做得下这个就是我们的一些开发者也会帮我们在全世界各地就是社区的那些贡献者也会在全世界各地帮我们去做一些talks这个新加坡的这个是我们自己组织的新加坡是在Shopee的一个场地他们免费给我们提供的这个场地然后我们同时也邀请了Docker的讲师还有一些其他的还有几个其他的一起吧这个德国呢德国的这个是一个我们的社区的大使帮我们讲的那我们现在讲到就是如何去充分利用自动化工具去帮开发者不到失去节省他们的时间和精力这个是一个工具就是大家可以用起来它是一个自动化工作流的平台可以看一下就是它会有不同的场景在开发者运营的过程当中会帮到大家的忙那第一个方面就是去跟踪这个github的数据就是github的增长你怎么样去很好的跟踪它可以去让你在几分钟之内去部署一个算是机器人吧就是它能够在slack上提醒你你的repo又长了10个star那或者是有人去fork了你的githubrepo也可以收到通知还有就是可以把你的github issue存到一个air table的那个表格当中这些都是我们想出来的案例你可以会有自己的场景你可以自己去在中间写业务逻辑去自动化一些其他的东西那第二方面那刚才讲到是说跟踪github增长的数据那这个是怎么样去更及时地和社区互动昨天我们其实有跟那个一个比较厉害的russ的项目叫deoxys他们社区里面大概有2000快有2000多个开发者他们就会有那种需求就是说我在我的github我在我的discord的群里面有很多不同的开发者问我问题那我怎么样因为有些问题是非常好的问题或者说他们提了一些很好的建议但是他们现在的人力就不够就没有办法手动地去一个一个地把这些记下来那有了这个这样的一个平台我们可以他可以写一个逻辑就是所有的好问题他们就自动地存在notion里面这样的话他就可以及时地去复习然后及时地去改比如说改善他们的文档或者改他们的一些github的regime之类的所有的一些东西那那这个interact with the community就是说有了一个新的github issue他可以帮你track比如说给你发到你的email里面或者给你发到你的不管是telegram还是你的slag里面现在因为我们还没有接那个企业微信所以其实主要是因为国内的一些app的那个生态是比较封闭就是app是特别开放所以我们现在接的就是以国外的为主那还有就是有一个issue如果你的那个mentainer可能忘记去回复了那这第三个就是你如果没有忘记回复了那过几天他会给你一个提醒还有第四个就是说把你的github issue去做一个分类这个我想重点给大家讲一下就是他会自动帮你可以自动帮你做github的代码检查这篇文章是我写的一个tutorial就是说用一个chart gptpower的一个机器人去帮你去做一个比如说有一个外部的贡献者把你的那个代码fork之后或者提了一个pr之后他这个pr里到底改动了什么内容他会迅速地帮你做一个总结他自动帮你总结之后呢你就不用花好几天时间去让他等待你慢慢地去检查他代码到底对不对啊然后你可以快一点地帮他做merge或者快一点给他一些feedback那这个是一个例子就是这个代码检查机器人呢这个pr就是说他去做一个全局的一个替换就是把一个web hook的这几个字段改成了那个这web hook flows改成了lambda flows那但其实他有一个遗漏之处就是他提的这个pr里面其实有一个地方忘记改了那这个bot呢就及时地发现了然后就告诉你告诉你这个维护者说我看到这个还有一个地方没有替换过来那那这个github的这个mentainer他就知道他就立马可以或者说这个tpr但也会知道他就可以立马去改掉这个错误改掉这个遗漏之处那可以帮助那个mentainer跟贡献者更好地去互动可以让这个整个的一个整个的代码的检查的这个过程更加的高效 更加的迅速那这个也就是我们刚才说的一般的情况下呢一般情况下这个开发者就是因为一般的mentainer就是维护者都会很忙嘛他们可能会需要花上好几天的时间才能给到这个tpr这个人一个反馈那这样的话会让大家更加的不愿意去tpr或者更加就觉得是不是不重视我那有了这个bot之后他就可以让他们的工作更加的高效其实这个部署一个这样的bot其实非常简单就几分钟就能搞定那就是在这个就是三步嘛就是把这个机器这个codereview的这个模板去fork到你的github帐号里面然后授权它去访问github然后在添加上你的这个因为最后背后的这个代码检查其实是openai的能力嘛所以你需要去输一个openai的api其实其实在国内可能这个这一步可能是需要翻墙的所以国内的这个是稍微有点困难但是我们现在的用量还是很大的因为后面接的是gv4嘛然后我们现在都是免费的所以因为其实这个大家用的还挺多可能也有一些海外的用户这个就是我刚刚说的那个模板就是只需要fork一下就能够部署到你自己的githubrepo里面那就是最后就是说在github还有那个sensef和linux其实或者是其他的开源生态当中有非常多很成功的开源项目我们其实都算是一个比较新的一个因为我们现在还是在沙乡阶段嘛我们还想要进一步的到复化阶段跟毕业阶段然后所以我们需要持续的像之前的要成功的开源项目去学习就是其实我们是鼓励我们所有的工程师和就是运营人员其实我们大部分都是工程师我们大概有90%我们团队的90%的成员都是工程师我们都是鼓励他们都去做一些开源步道我们会说你如果提交了某个国际上的一个讲开源的会议或者是一个开发者相关的一个活动的话我们是可以给你这样的预算去到国外或者去到另外一个城市去做演讲的然后也鼓励大家写文章就是这是刚才说的我们想要从Sandbox到复化然后再到毕业那就需要我们持续的去投入跟去鼓励Web的贡献者而且我们每个月会定期的去开一个英文的就是英文是全球性的所以是一个英文的那个月度的社区会议然后这个社区会议会有很多的我们社区的成员来参加来讨论我们新的一些进展就是每个月都会定期去开对Wild Mage来说我们是每个月的周二第一个星期的周二会开这样的会然后这个会也是会放在CNCF的官网上所有人都能看到链接并且报名那这个吸引币留住优色贡献者除了就是给他们一旦他们的代码成功的被我们的report merged了之后他们就成为了contributor那作为contributor我们会给他们一些就是小礼品的奖励吧就是会有一个证书然后另外会有一些周边那除此之外呢我们也会优先从我们的社区贡献者里面去招募新的员工因为现在大家其实科技公司的这个headcount都变得很紧张其实我们不太会从外部去招人那我们就是希望可以共统去打造一个非常开放积极的这个开源社区同时我们也欢迎大家去以各种形式来参与贡献就是你也不需要一定是会写代码的开发者你可以是把我们的文档翻译成其他的语言或者是其他的任何方式去优化我们的文档或者是写一个博客文章还有就是为我们去做演讲或者是把我们的不管是文档还是其他的材料翻译成任何一个语言所以这个就是我今天的演讲对 现在这是我们的github的链接这个欢迎大家去查看一下那大家如果有什么问题可以欢迎提问对我们大概还有五分钟的时间你说32位和64位的芯片吗 是吗不是 就是那个因为那个Weber Samo它的那个就是它的那个中端它的只支持32位的指令机场这样的话你们现在遇到这个性能问题了没有还是你们准备什么时候升到64位的有没有这个规划我们现在对我们现在正在跟正在支持英伟达的那个但是你说就是Arm也在聊就是应该是会在支持过程当中吧具体我还是因为我们团队有一个有一个这个他认为是如果是就是这个就是WM就是只支持32位的话那么他的其实性能是有一个的一个天花板的这样他们没法跑一些很高性能的东西就是其实可能他就不太看好的一块然后如果是有64位的话可能会可能会有一些应用会更加适合我具体不是特别确认那个就是现在你们有没有遇到性能问题就是有没有遇到性能瓶颈比如说跑一些这个比较高复杂度的应用的时候会有那种情况就是Windows上跑就因为我们原本是用Linux简单的说吧就是跑AI的时候跑这个训练迁移的时候是否会有现在是否已经有性能瓶颈或者是以我们现在的开发程度来说性能瓶颈还没有达到我们请我们的一个合作伙伴帮忙帮忙那个回答一下你好把我知道一些信息我稍微回答一下就是我们是Bidence然后我们和Wasimandre有一定合作然后你刚说是32位你是说是Wobby Assembly里面32位是吗他实际上现在有64位支持64位支持这个话还应该还没有就是说真正就是说by default那么可能你需要一些就是说一些就是part of media让它enable但是呢32和64位这要有什么区别就是说你如果说在你host上都是64位代码你Wobby Assembly只是32位那实际上影响不大因为你毕竟如果大部分Wobby你都是在整个底层去做不在Wobby Assembly里面做实际上影响这个性能影响不多另外一个就是那个Wobby Assembly不是都是AoT编译吗AoT编译的话实际上这部分它已经性能比较接近native了那么这部分你说32就是说32位64位究竟64位比32位性能高多少这块目前来说我觉得在Wobby Assembly这个领域里面大家现在遇到了很多问题是怎么样继续对它进行优化这部分还有很大空间那么之后我觉得遇到那32位64位平均可能还要很长时间对不知道是不是安宁的问题好对我觉得是不是因为我刚才提了一下就是这个对对现在有一个就是好像一个叫做WebMM对吧有一个Web版的弹幕型那能跑得起来吗就这么简单对吧还有一个第二个问题我就先说了然后你们一并回答吧就是现在是不是Rust对于Web Assembly或者是Wb Assembly就是这个Wb Assembly这个EDG的它是Rust是对它最友好的一个基础站呢如果是想切入开发的话是以Rust的为基础是否是更适合的选择从我们那个和Wb Assembly合作这种过程中我们感觉就是说最好的是什么一些C和C++一些相关代码你往这个Wb Assembly上去弄应该是相对来说更容易一些那么对于RustRust其实本身在Wb Assembly上支持呢也算是比较就是做事情也比较多所以Rust的网Wb Assembly编译呢这块相对来说也是会就是也就是说也算是比较推荐一个方式那么对于其他像这种JawScript还有Python那这些你以下面还得弄一个像这种C的Runtime然后再把上面一层再到下面一层那这一画的性能可能会有一定损失对对对对我们刚刚讲的这个其实是用Rust加工这么来去把Python的依赖给去掉所以就可以把一个几百招的应用变成两招就是只是这样对对对现在我们很想玩Rust的WSM这样的架构但是这个架构怎么设计呢我们还没有具体的这个细节设计好那么现在你们是怎么考虑这件事情架构设计是怎么考虑的是吗那个我具体我觉得我得去那个就是我们会有一个Demo可以您可以就是下来就可以仔细看一下但是就是您说这个架构设计我觉得我这个问题确实回答不了对下来可以咱们再去讨论这些大家一起去那个在那个WSM展台要不要在哪里咱们可以去讨论一下好的好的好的然后对最后那个我最后一页放了一下我的那个WSM大家可以假想好谢谢大家