办公 频道

大咖访谈 | 开源运营是开源社区的护城河

本期访谈嘉宾:庄表伟

庄表伟,开源社理事、华为开源能力中心开源专家。常年参与社区各类活动,热心开源治理、开源成长、开源学术等方面的研究与分享。




Q:
《社区运营的艺术》有一段话说:“每一个加入社区有实际贡献的成员,每加入一位,社区就壮大一份,运营一个社区很简单,就是一个一个的争取成员加入社区中来,而不是一片片的透过网络营销。”对于开源社区不停争取各行各业的人,只要有贡献,对社区就是好的的说法,您是如何理解的?

早期开源项目很少,重量级的开源项目里通常会有一些非常资深的开发者,所以当时只要有项目开出来,就会有很多人自动被吸引过来。但现在,开源项目在成千成万倍的增长,目前 GitHub 上的项目数量、开发者数量的规模也极其庞大,但一定会存在贫富不均的现象,真正有很多开发者参与的开源项目不在多数。这种现状的背后是所有的开源项目都在以开源的方式争夺开发者、使用者、参与者的注意力、资源或时间,希望他们在业余的时候参与社区,参与项目贡献。


在这种争夺过程中,手段高低巧妙各有不同。古早的社区是一种匿名化的社区逻辑,主要围绕 issue 和 code review 来开展。社区里的每个人都是匿名的 ID,大家只看你提交的代码是不是他想要的,背后是谁并不重要。而现在的运营会关心背后的人是谁,以及如何把人留下来。除了关注人,还要关注开发者体验,例如他在社区的满足度如何?社区是否有为开发者们提供 good first issue ?


Q:
有论文分析:“GitHub 上 43.8% 的项目都会给开发者标注 good first issue ”。但据我们统计,国内的 Gitee 平台上只有不到 5% 的项目有类似的 Issue,但会有一些更为丰富的方式,例如在一些传播平台上分发奖品吸引开发者参与社区解决问题。对于 good first issue 和新的社交媒体带来的这种吸引开发者的能力,您是如何看待的?

假设有 100 万在校大学生刚刚闯入开源世界,他们散布在各个大大小小的项目里,最终会有多少人留下来成为长期的开源开发者?很少。大部分的他们读完大学就不会通过开源项目训练自己了,觉得开源项目有趣选择留下来的这些人其实就是开源的生力军,而这些 good first issue 就是让他们留下来的办法。虽然他可能去了别的项目,但在这第一个项目赚到 PR 的时候,他们会觉得开源并不难,在这个过程中得到某种成就感,更有信心继续做开源。所以从整个开源社区角度看,我觉得 good first issue 很好,它能让更多的新人愿意长期贡献。


那么,有了 good first issue,是否有 good second issue、good third issue......如果社区能为开发者们设计成长阶梯,让他们一步步地获得更多的成就感,我觉得会非常有吸引力,这是需要非常用心的一件事。


当开源社区和开源社区、开源项目和开源项目之间的竞争变得越来越激烈时,类似新的社交媒体这种吸引开发者的手段会层出不穷的出来,这个趋势是必然的,但目的都是尽可能多的吸引大家的注意力。


Q:
对于花钱请人到社区贡献代码的现象,您认为这种是 good second/third/... issue 吗?众筹和开源这两种形式的混合模式在开源社区里可以共存吗?

企业花钱请人写商业软件,或者说一个氛围、成长机制都很不错的非付费社区,这两种情况都没有问题。如果在社区里给钱让人写开源代码这件事情,本质上已经变成了一个众筹项目或者叫众包项目,这也没问题。但不能说我又想它是开源的,又想它是众筹的,还想它是商业的。


假设一个众筹让别人帮写代码的社区里有 100 个 bug,但只有其中 50 个 bug 是付费的,你觉得会发生什么?付费的 50 个 bug 很快就会被改完,剩下的 50 个 bug 别人会等你放下一批,所以我觉得这两件事情是很难共存的。


Q:
越来越多的开源出现了众星捧月的现象,例如社区通过营销的方式把一些核心开发者捧红让他们代表社区发声或者利用“网红”自身的争议点制造话题,人为地制造网红效应。谈谈您对社区网红效应以及网红在开源世界外的争议会不会影响他在开源社区的行为或地位的看法?

不管是有意包装打造捧出来的网红,还是在社区里由于自发崇拜产生的网红,社区里一定会存在网红。关键在于这个网红背后给自己立的人设是什么?人设是不是稳定的?


社区里有人设稳定的网红是好现象,大家会向他看齐。但一定不要因为成了网红就自我膨胀,一旦人设崩塌了,就什么都完了。Richard M. Stallman 就是因为在开源社区之外乱讲话被踢出了自由软件基金会,虽然现在回去了,但确实有影响到他在开源社区的行为或地位。


Q:
很多社区都开始使用例如 CI/CD、机器人这些工程能力提升社区生产力,您认为这是未来趋势吗?社区里的人和冰冷的机器之间会不会存在冲突?谈谈您的看法。

这是必然的,趋势是越来越明显的。程序员是一个很有意思的职业,他们是致力于消灭自己行当的人。Dont repeat yourself 是程序员的美德,也是所有追求更高效率和更高价值挑战的程序员一定会追求的。通过程序把可被替代的工作都替代,会带给程序员极大的自豪感,不断把自己的工作难度提高,将可被程序替代的工作难度不断刷新。我觉得这是一个很有价值的发展趋势。


我会很坚持进步主义观点。所谓的进步主义最核心的是进步一定会发生问题,最好的办法是一直进步下去,不断的改进、完善,直到走到走通为止。例如社区里机器人回复 issue、PR,大家可能一看就知道是机器人在回复。那么,如何回复的不那么千篇一律?这不是说机器人回复不好,而是我们想通过程序、机器帮助我们关注人的体验时,是否可以做的更加的人性化,不断的提高开发者体验。


Q:
如何衡量一个开源社区的价值,以及社区运营里贡献者的数量,包括技术大牛、基础设施、活跃度,它们对整个项目的价值起到什么样的作用?社区运营的发力点有哪些?

我认为有两个层面,一个是你能得到什么价值,一个是你能给别人什么价值。以企业为例,企业运营自己的开源项目首先要问自己的是在项目里自己要得到什么利益。所谓将欲取之,必先予之,如果想要得到这些利益,企业能够给社区的其他人的利益是什么?为换回利益而做的这些动作,是否能首先满足企业自己的利益、价值,以及是否能够满足别人的诉求,给别人带来价值。


一个社区的活跃度是靠在开源项目里的总停留时间来决定的,而不是人头数量。是否有办法让一个人或者更多人在社区里投入更多的时间,是运营的最核心要素。


看一个团队要看三点,技术层面、运营层面、商业层面。技术代表市场竞争力,商业代表换取利润的变现能力,而社区运营是护城河。为什么这么说?开源社区与开源社区之间一直在争夺开源爱好者、开发者的业余时间,这是一个争夺别人注意力的竞争。当我争夺到了更多的注意力,我的竞争对手所能争取到的就越少,这就是我的护城河,是社区或者说开源项目抵御竞争对手的武器,它不是一种进攻性的武器,而是一种防守性的力量。


Q:

如何在社区里凸显自己的价值,以及获得席位或机会,分享一下您的经验。

个人认为,在社区的发展过程中,每个社区都应该有越来越清晰、明确、公开、尽可能公平的计算贡献度的算法。我当初设计 KCoin 的时候,并没有设置如何计算不同开源项目的贡献度的标准,而是设计了一套规则,由开源项目创始人或管理者来设置具体的积分算法。我认为这是一种透明的规则的竞争,例如我比较擅长翻译,A 社区对于翻译的积分高于 B 社区,那么 A 社区就是更加适合我的,我也大概率会选择 A 社区,适合自己的才能更好的凸显自己的价值。


我朋友在之前的演讲上说了一句话:“我们应该扬长避短,而不是截长补短。不要老想着把自己的短板补上,你只需要扬长而已。”我认为这个很重要,结合前面聊的网红效应,我认为每个刚加入开源社区的人起初的人设都是小透明,只有在社区里发挥自己的长处,找到自己最愿意做的事情,不断往前走,席位或机会自然而然的就来了。


Q:

什么是好的开发者体验?您认为好的开发者体验需要关注哪些点?

社区运营是一种艺术,不能靠单一的维度来量化,只有躬身入局才能真正地把它做好。

为何这么说?当运营站在社区之外体验社区时,运营自己本身是体验不到开发者在社区里的感受的,通过在社区里做调查问卷或其他方式,获取大家的反馈,以此调整社区运营策略。而当运营是社区一员时,他会在自己参与其中的前提下,不断发现并营造更好的社区体验,这种好是不能拿某种数据来衡量的,效果也会大不一样。he


Q:

您对开源雨林的建议?

雨林是全世界范围内最繁荣也是最健康的一种生态,希望开源雨林能像雨林一样海纳百川,站在全球开源的生态视角做对全球开源生态有利的事情。



0
相关文章