有名的开源社区是如何运营的?
本文是调研笔记,试图从有名的开源社区的运营故事中找到一些insight。
本文全是个人观点。我非常喜欢调研的这些项目(不然也不会去调研他们),但本文语言可能有些刻薄,不是为了diss谁,主要是想从别人的经历中找到一些启发、学到一些对做开源有帮助的运营方法。
会定期补充新的调研,大概隔一阵子新增一份调研
Apache iotDB
https://mp.weixin.qq.com/s/N1_GMyqyorSy5HMUm03n6g
- 借国产化风口、借实验室项目的天时地利,在有名之前就获得订单和用户
这项没法学习,没名气的db上线前重写存储引擎,客户照样敢用。私企架构师在做选型时是不敢也不可能做出这样的决定的。
- 开发者没空维护怎么办?在核心成员离职前捐基金会
2018年夏天,王老师做了一个开创性的决定,要把 IoTDB 捐给 Apache 基金会,从内部项目转为开源项目。原因有几项:
(1)当时的开源大数据软件大多是国外贡献的,国内大多是在使用,我们应该为中国的开源软件做出自己的贡献。
(2)学校里很多项目随着一波学生毕业也就停掉了。而系统软件是需要五年、十年的投入,并且需要众多优秀的贡献者参与,形成良好的社区才能长久发展。
就这样,我们提交了申请书,经过投票进入了 Apache ,成为 Apache 唯一的物联网时序数据库项目。
这一步非常关键,生死存亡的一手。没有这步的话等学生一毕业不再参与维护,项目很可能变成没人知道的实验室屎山项目。
借着技术热点,挑选一个没有竞品的基金会捐掉,而且必须要在核心开发者毕业之前
- 不能指望创始人没空投入的项目靠偶尔冒个泡就有增长,要在创始人还有空的时候激进的社区化
同上。说到这不得不感慨,avalon.js没迈过这步,而Vue.js迈过去了
社区化可以靠捐基金会,不捐也行,需要更多的分权给爱好者、吸引更多爱好者作为社区维护者
当然捐了后更能吸引人,因为能给志愿者带来明确的激励(饼):我为这个项目做出的贡献是有回报的,会帮助我成为apache贡献者,甚至commiter,成为我个人的优秀履历
- 没有kpi压力和订单压力,可以安心打磨、缓慢增长
实验室项目的优势,捐了apache后一年(居然)只涨了340个star,如果是公司项目的话早凉了(人凉或者项目凉)
当然,好在这段时间内核心团队没毕业走光
- 即使核心团队天天加班开发、即使一直有生产用户,没有运营手段一年也没啥增长
同上
- 如果不是那种让人进了仓库就忍不住“coooool"的项目,想要发展壮大是需要一段时间的耐心打磨、社区培养的
复杂项目不能急
- 做领域内容,做知识分享
“乔村儿”断更的时候,我并没有停止写作,而是新开了一个技术公众号“数据库漫游指南”。刚开始并没有推广 IoTDB,主要原因是那时候还不稳定。但是,在经历了上海地铁的洗礼之后,我对 IoTDB 和自己的运维能力已经有了的信心,于是开始在公众号上进行宣传,后来直接改成了 Apache IoTDB。
除了公众号,也在CSDN、OSChina上写文章,包括版本发布、使用教程、常见问题、运维经验等,前前后后估计写了上百篇。此外,组建了微信和QQ用户群,并且把自己的微信放到了公众号上,很多加过来的用户跟我说的第一句话就是:“看了你的文章,很有帮助,希望进群”,这也是对我的激励。
此外,还有一些用户加好友的备注是“IoTDB爱好者”,这应该是每个软件开发者最开心的时刻了。当然,也不乏扔臭鸡蛋的,而我们需要做的就是及时改进,勇往直前。
我曾经想过要不要弄个机器人加群,后来想想还是算了,毕竟不是所有人都习惯在群里说话,直接加到我,能够让用户和开发者第一时间找到我,离社区更近一些。
上百篇内容很优秀。
看了下公众号大概有几类内容,值得借鉴学习:
新手上手攻略。例如《迈出加入 Apache IoTDB 社区的第一步!(订阅邮件、调试代码)https://mp.weixin.qq.com/s/wH1p7ZDFTAfC-oFqakbc3g
系列教程
播客(喜马拉雅)
活动
发版通知
meetup
联合meetup
论文解读
知识分享(例如介绍lsm-tree,介绍啥是可信)
学习方法介绍。例如“大数据系统学习三步走”
- 开发者没空维护怎么办?分权,培养早期贡献者成为commiter
开源社区的发展是从找到第一个社区贡献者开始。对于我来说,就是刘大伟。
2019年底大伟哥进入我们社区,他比我大两岁,是四维智联的架构师,也是我的老乡。正好年底升级查询引擎,就拉上他一起讨论设计方案,而且初步实现就交给了大伟哥。
查询引擎涉及的地方非常多,他第一版改完之后,上百个测试类不通过,搁谁都头大。本来我预想的是等我忙完,我们就一起来修测试,没想到他一个人把测试一点一点都调好了,那段时间他经常搞到晚上两三点。实话说,这股精神我非常佩服。
除了社区的活动,我们也会经常约饭,并且一起参加其他开源社区的活动。大伟哥凭借优秀的人格魅力,已经成为社区的明星人物,现在也是社区的 PMC。
如何参与开源社区?我尝试从大伟哥的经历总结一下:贡献、认可、热爱。这三个词每一个都不是单向的,而是社区和贡献者之间的双向互动。
与其一边总想着自己维护社区、一边抱怨没精力,不如直接让爱好者参与管理事务
Vue
https://blog.evanyou.me/2014/02/11/first-week-of-launching-an-oss-project/
https://www.zhihu.com/pin/1353162460401278976
https://blog.evanyou.me/2015/12/20/vuejs-2015-in-review/
https://www.bilibili.com/video/BV157411T7kV/
一位非常有产品品位,同时又非常擅长营销的产品经理、开发者
vue加油,干翻React!
(逃
marketing方面:
可以看到作者在毕业前宣传h5 todo list时、在vue发布时两次的宣传手法类似
- 准备好拿来宣传的awesome material
- 蹭所有能蹭的大v渠道
一但遇上在sns上帮忙推荐的kol,立刻赚翻。比如Laravel作者发推推荐vue,接着vue就火了
产品方面:
- 有差异化:简单
- 相对于竞品,拓宽出新的用户群
vue简单带来的价值是什么?个人觉得简单带来的差异化故事倒是其次,最牛逼的是拓宽出了一大片用户群。
因为简单,所以吸引了非专职前端的开发者,这类用户群是竞品没有的,而且人数非常多。
这点我深有感触,偶尔写次前端页面时,如果是React项目,连带脚手架全家桶我要自学复习一星期,但如果是vue项目,看看文档凭借着以前的记忆直接就能撸代码