三年多以前,我进入青云科技 KubeSphere 团队,做开源社区运营工作。此前,我对开源和开源社区只有非常浅薄的认知,也缺乏开源社区运营经验。如今,我已做此项工作满三年,不敢说有很多成果,但确实学习到了非常多的经验。本篇文章,我就将这些经验做一些梳理,分享给大家。

前言

首先,我在之前写过一些文章,包括社区概念普及、我的社区运营经历和经验。如果你有兴趣,可以浏览我的历史文章。

通常情况下,我习惯从内容、活动、用户这三大方向展开描写,因为这也是社区运营中比较重要的三大块(仅个人理解)。不过,社区运营所包含的内容不仅仅包括这三大方向,所以本篇文章我会尽可能全面的去总结我的经验。

内容运营

内容对社区的发展至关重要,这基本是共识。我认为开源社区一般包括以下内容:

  • 产品文档:开源项目对应的使用文档,一般放在官网
  • 技术类分享(文章/视频):
  • 推广类内容

以上内容一般发布在几个重要的渠道:官网、微信公众号、GitHub、B 站(或视频号)以及国内流量较多的技术网站等。

基于以上,开源社区运营工作中的内容部分,大致包括:

  • 完善产品文档
  • 保持各类文章内容的输出,提升公众号关注度
  • 通过线上直播与线下活动输出视频类分享

以上只是概括,下面我将结合我的工作来讲讲重点事项。

技术文章

KubeSphere 的公众号在这几年一直处于稳定增长的状态,这得益于技术文章内容的持续输出。

技术文章的类型主要分为这几类:用户案例(最佳实践)、安装部署类、原理解读类等。

虽然已经有文档供用户参考学习,但有些文档还是不够细致全面,所以我们可以在文档的基础上进行扩展,输出更为详细的“文档类”文章,比如上面提到的安装部署类型。

技术类文章的来源,主要有两个:研发同事和社区用户。

为了让更多的研发同事和社区用户产出更多的优质技术文章,我们有必要设置一些奖励机制。对社区用户来说,我们可以给予社区层面的荣誉奖励(如贡献者称号/证书)和物质奖励(如稿费或社区周边礼品)。对于那些能够持续在社区输出文章内容的用户,我们还可以给予一些特殊的奖励。

不管怎么说,能够主动联系社区投稿的用户,占比是很小的。这就需要我们通过多种方式来运营。一般可以通过以下方式:

  • 公开约稿,通过公众号和论坛等渠道,公开向社区用户约稿
  • 主动联系用户,向社区用户约稿
  • 去各大技术社区查找相关内容,与用户取得联系,获得其内容转载权限

公开约稿的方式通常是收效甚微的,除非将奖励设置的非常高。后两种方式操作起来则较为高效些。但难点是,我们如何精准的找到能够写文章的用户。

KubeSphere 社区的做法是,寻找已经有使用经验的用户,向其约稿。当然,这个仅仅用于最佳实践文章(即某公司是如何落地的)。但其中的问题是,我们找到的用户,可能也不擅长写文章。为了降低其写作门槛,我们专门设计了最佳实践文章的模板。让用户参考模板去写,难度就降低了很多。这样一来,最佳实践类的文章产量就提高了不少。

这些输出内容的用户,可以进入到我们的作者储备库中,在后续的沟通和激励作用下,还会有人可以继续产出新的文章。

固定栏目类文章

除了技术文章,我们还可以设置多个固定栏目。对于开源社区,一个非常有必要的固定栏目类文章就是社区周报或双周报。其内容可以包含:社区的开源项目动态(如新功能、新发版等),社区的活动动态(如线上线下活动的动态),社区新贡献者和近期贡献者的展示(还可以颁发证书)等等。

此类内容的主要目的是让用户及时通过社区汇总的内容了解社区目前的动态和状态,还能让新贡献者尽早获得证书。用户无需自己去 GitHub 获取项目的变化信息,大大降低了其时间成本。

此外,KubeSphere 社区还打造了一个名为“云原生周刊”的固定栏目,经过数次优化,最终确定其内容方向:开源项目推荐,文章推荐和云原生动态。这个栏目的主要功能还是吸引更多的人关注公众号,这样就能促使更多的人了解 KubeSphere。

技术类分享视频

这种内容主要来源于社区的活动分享、录制的各类教程等。

KubeSphere 社区这几年组织和参与了多场线下和线上 Meetup,多场直播,分享内容全部在分享结束后放到了 B 站和官网上。其中也包括研发同事和社区用户参与某些较为大型的技术活动(比如 KubeCon)的分享。

值得一提的是,KubeSphere 社区与尚硅谷合作,推出了一套 K8s+KubeSphere 的课程,到现在仍然颇受欢迎。这套课程帮助许多小白学习了解 K8s+KubeSphere 的基础知识,得以让用户留存率提高。所以,推出教程课程也是一种不错的方式。不过,我们需要把控质量,不然可能会取得适得其反的效果。

活动运营

开源社区可以通过组织活动和参与活动提高社区的曝光率和知名度,也可以通过活动产出内容,还可以提高用户参与社区的积极性,可谓一举多得。

KubeSphere 社区组织过的活动基本分三类:线下 Meetup,线上 Meetup,直播分享。第一种交流效果和氛围最好,但相对来说组织成本要高一些。

都说合作共赢,众人拾柴火焰高,为了降低成本,同时提升效果,KubeSphere 社区的大部分 Meetup 都不是单独组织的。这几年我们拓展了很多合作伙伴(基本都是开源社区),来共同组织活动,这样的合作相比于单打独斗来说还是有优势的。

此外,社区中还会受邀参与一些外部活动,比如其他社区的 Meetup、某些峰会,这时候我们会邀请研发或用户去参与。当然社区还会向 KubeCon 这种较大规模较高要求的技术大会提交议题,幸运的是基本每次都会有议题中选。

另外需要提到的是,KubeSphere 社区连续几年参与了开源之夏活动,这是一个由中科院软件所发起的针对高校学生的开源活动。类似的还有谷歌发起的 GSoC。

线下活动的即时效应,大概只会作用到现场参与的人身上。为了扩大活动的后续效应,我们必须做好的一件事,就是活动内容的存档和二次分发。所以,不管是否采取直播形式,最好将活动的演讲分享内容再以线上视频形式分享出来(当然某些有特殊要求的除外),供社区用户后续反复浏览。在活动结束后的一周内,我们再以活动总结回顾的形式,将演讲视频和 PPT/PDF 分享给社区的用户。

KubeSphere 社区会将每个演讲的视频上传到 B 站,同时更新到官网的对应页面。用户即可通过这两个渠道来回顾学习。此外,我在将 Meetup 内容更新到官网之后,还会做一件事,就是给这场活动报名人员发一封活动总结邮件。这封邮件的主要内容,就是每个演讲的官网页面,以及本场活动 PPT/PDF 的领取方式(一般会引导他们关注公众号)。

用户运营

对运营人员来说,有一项比较重要的工作,就是需要了解用户的构成、类型与分层。对于不同的用户,我们所使用的运营方法也会有所区别。

开源社区的用户,我们姑且粗暴的将其分为:用户、代码贡献者、非代码贡献者。

用户运营,说的简单点,就是拉新留存促活转化,即增加新用户、降低用户流失、促进用户活跃与转化用户成为商业客户(当然有的不包括第四点)。

具体每一项的方式方法,本篇文章不展开讲(后续有时间单独写文章,内容和活动运营同理)。下面我将介绍一个我非常喜欢的运营动作。

3 年前,KubeSphere 社区已经有了不小的规模,且有一些活跃用户。受到“云原生社区”的启发,我们创建了 KubeSphere 社区用户委员会,且在委员会中设置了城市站。到目前为止,KubeSphere 社区已经创建了 5 个城市站,分别为:上海、杭州、成都、广州、深圳。每个城市站设立一个站长、一个副站长以及多个委员。

这几年,我们借助委员会的力量,组织了多场线下 Meetup、走进企业交流、走进高校交流等等。同时,委员会的成员们也一直在社区中活跃,贡献自己的力量:演讲分享、写文章、执导开源之夏项目、参与社区播客节目录制等等等等。

可以说,用户委员会已成为社区运营和发展的中坚力量。

其他

前文我已经说过,虽然内容、活动和用户是社区的三大块,但社区运营不只是这三方面。还有比如,社区布道者/ambassador 的拓展和维护,不同方向的合作伙伴的拓展,案例用户的发掘与维护等等。

需要注意的是,社区运营的工作较为庞杂,每一项都不是独立的,需要将各项工作结合起来。此外,我们还要摆正心态,正确认识开源社区。

几点“常识”

  1. 贡献者的“消失”是正常的。不管是代码类还是非代码的贡献者,他们在社区只活跃一段时间就不再活跃,这种情况再正常不过。如果能再次激活当然很好,如果不能,也不必强求。所以,如果有一直在社区活跃的贡献者,我们必须重视,精心维护。当然,同样重要的是,我们需要拓展更多新的贡献者。
  2. 用户的流失也是正常的。用户因为某种原因放弃了我们的产品和社区,这种情况时有发生。我们需要做的,就是维护现有用户,拓展新用户。当然了,我们也需要了解到用户流失的原因,从而改进促使用户流失的不足之处。
  3. 并不是用户需要什么我们就要做什么。我们无法满足用户的全部需求,也无法解决用户的所有问题。

以上就是我个人总结的一点经验,行文仓促,难免有疏漏片面之处。不过,还是希望更多的人分享经验,互相交流。