腾讯开源摘星计划培养开源贡献者的实践思考
2022 年 7 月 27 日,2022 开放原子全球开源峰会教育分论坛在北京成功举办。分论坛上,腾讯开源联盟主席、开放原子开源基金会的 TOC 成员、腾源会导师单致豪以腾讯 2022 年发起的「开源摘星计划」 为基础,分享了腾讯参与开源十余年来的成长历程和发展路线,以及在开源贡献者培养层面的思考与实践。
2020 年底,也就是腾讯拥抱开源的第十年,腾讯云正式成立腾源会社区。历经 1 年多的发展,腾源会社区建立了「共研、共治、共建」的社区发展理念,以及面向人、项目、社区 3 大维度闭环发展的治理模型。
2022 年,腾源会正式启动「开源摘星计划」,面向开源爱好者、开发者(开源实践者)、开源布道师、开源专家等群体,以在真实社区中实践、开源项目创始人指导的方式,引导大家通过提交 PR、Issue,或参与社区建设等更广泛、深度地参与开源项目社区贡献。
一、腾讯开源十余年历程 2010-2022
自 2010 年以来,腾讯从集团层面全面拥抱开放战略,内部开始试水开源,好的项目会跨团队、跨部门、跨业务的广泛使用,由此积累了对外开源的基础。
2012 年到 2016 年之间,腾讯不断将内部开源出来的优质项目在 GitHub 上发布,以发起者、贡献者等不同方式积极参与开源,技术研发也开始向共享、复用和开源迈进,腾讯开源逐步进入快节奏。
在 2019 年,腾讯开源在内部协同共建的基础上,推动更底层、更重磅的技术对外开放,不断完善开源治理,打造开发者共建的生态。在这一年腾讯将 TencentOS 内核开源,向全球开发者全面开放近十年的技术积累。
2020 年起,腾讯开源在生态共建方面,成为开放原子开源基金会发起企业单位。2021 年年底,腾讯与 60 家企业共同发起操作系统开源社区 OpenCloudOS,致力于打造一个中立、开放、安全、稳定、高性能的操作系统开源项目和社区生态。
同时,腾讯也把下一代云原生操作系统 OpenCloudOS 计划捐赠给开放原子开源基金会。目前,OpenCloudOS 社区成立了理事会和技术监督委员会,将进一步深入建设国产操作系统生态。
二、腾源会社区建立及「开源摘星计划」的发起
在全面拥抱开源的一路上,2020 年底,腾讯云启动并成立了腾源会开源社区。腾源会是一个开放型的开源社区,成立目标即帮助项目健康成长、促进开源爱好者交流、帮助开源领导者发挥领袖价值。
围绕具有社会价值的、创新性的技术、项目或工具,以及围绕开源人才的共建工作,腾源会社区规划了一套治理模型,从「共研、共治、共建」3 个角度,帮助社区里的项目提升其健康度、社区影响力、商业化能力,建立覆盖不同领域的知识共享、经验交流的平台,并在开源商业化上逐步探索。
「开源贡献者」、「开源项目」的培养和发展,是腾源会社区重点工作之一。
为了让开源赋能到公益领域和更广泛的民生领域,解决社会痛点问题,将「开源向善」的理念继续传播,同时腾讯也希望帮助更多的开发者走上开源舞台,了解并参与开源贡献,所以在今年年初,腾源会社区于 2022 年初发起了两个开源项目:「开源摘星计划」和「开源公益计划」。
一个有生命力的「开源项目」总是需要有「开发者」不断参与和持续贡献,而「开发者」的学习、成长和交流也需要依赖社区。
所以在开源项目的日常运营中,如何去吸引更多人参与开源项目,并把他们留下来,持续推动项目的发展,一直是值得很多社区关注的话题。
这个话题中,就包含了两个需要思考的问题:
开源项目能给参与者带来哪些帮助及价值,来鼓励持续贡献?
参与者需要如何去做才能更好地推动项目的发展?
从参与者个人的价值体现来看,已有大批的开发者通过开源的参与,不断加深贡献的实践后,个人技能得到了极大的提高。这也证明了在专业社区中学习、在实践中学习、站在前人的优秀成果上学习,是提升技能的最优方法之一。
除此之外,参与开源项目也可以获得正向激励。参与者通过磨练代码等能力,提交 PR 与社区专业的 PMC/Maintainer 进行互动,不断与社区的用户交流,不断多轮反馈,最终形成正向循环。
从一个蓬勃发展的开源项目角度看,它需要有着足够精美且复杂结构和理念,能够不断产生新需求的能力,又能很有活力地将需求解决的足够好,这需要优秀的开发者围绕软件的代码评审、缺陷修复、新增功能、代码优化等多方面进行代码贡献。但是,健康的开源社区仅仅只有好的代码贡献是远远不够的。这就是为什么大家一直说「Community over the code」的原因。
因此,为了更好地链接「人」与「项目」,助力开发者更好地了解开源,更快地跨越鸿沟,参与到开源项目的具体贡献与实践中,「开源摘星计划」就诞生了。
2022 年「开源摘星计划」,腾源会一共联合了国内外的 80 多家开源基金会、开源社区、开源项目、研究机构、高等院校与媒体机构共同发起,希望通过社区联合培养的路径,让开发者进入社区中与优秀的 PMC、Maintainer、Committer 们一起进行实操,站在前人的肩膀上融入开源实践,获得更快成长,最终促进全球开源生态的繁盛。
三、开源摘星计划多路径培养和共建
在很多开源社区中,大家对不同程度参与者的定义也是不同的。从关注和使用开源项目的开发者到提交 PR、issue 或参与社区活动的贡献者,再到合入代码的贡献者,就像一个漏斗,每层都是一轮「筛选」。
因此,对于每一个健康的开源项目来说,一方面需要持续发声,提升在社区中的影响力,另一方面,社区制定的对参与者的激励方式或激励模型是非常重要的。
围绕「为开源人提供成长激励,为开源项目提供成长支持」的宗旨,开源摘星计划探索了多条适宜开源社区的成长路线和贡献方式,以及多重荣誉激励以及奖品,包括「开源摘星 100 人」的评选,年终前往腾讯总部的参访交流以及年终的开源盛典参与名额,可能后续还包括,优先享有培养助学金、商业路演等机会……通过一系列的、连续的激励手段,我们希望达成的目标是:充分鼓励更多开源爱好者能持续的参与贡献。
目前,参与「开源摘星计划」的超过 80 开源项目已在官方平台发布任务指南,包含社区日常任务、文档类任务、编程类等多重任务,参与者可对意向项目进行选择与参与,通过解决、完成各类任务、提交项目学习方式,累积个人贡献积分。这样就容易帮助贡献者们能持续的投入,「开源摘星计划」以周、以月为单位,公布大家的参与度情况,从而让大家能在某种「良性竞争」的情境里加深开源的贡献,感受开源的乐趣。
在上面这张图中,可以看到开源摘星计划针对高校师生、在职开发者、开源实践者、开源布道师、开源专家与开源运营,这 6 大类人群,分别开展的不同路径的培养、共建模式。这里我将简单介绍三个部分的内容。
面向高校师生部分,开源摘星计划将主要以组建高校「开源摘星社团」的方式,鼓励学生结伴学习、组队参与开源任务挑战,尽可能降低大家的参与门槛,让大家能先享受开源的乐趣。
对于很多学生来说,没有开发实操经验,一开始便让他们直接上手提交功能需求、测试 bug、提交代码是很非常难的,中间一定会出现断层。所以我们的经验是通过 3 个方式解决培养问题:
让各个社区有,针对学生群体制定与之能力匹配的 Good First Issue,例如翻译、简单的文档优化、代码测试等,先降低大家的认知和参与门槛;
打造开发者乐于接受的「开源经验分享培训」,多让真正在一线做开源的实操者,现身说法讲讲他们如何进入开源世界,如何贡献第一行开源代码;
打造系列「开源基础教程及讲义」,通过实操帮助大家快速提升个人能力及项目实践经验。例如「如何提交一个合格的 PR」,「如何提交 Issue」等。
面向在职开发者的实践思路是:
设置面向爱好者的「项目专项深度闭门会」,打造分享为辅,实时答疑与经验互动交流为主的连接机制;
设置了不同难度梯度、类型的项目任务与积分奖励,鼓励不同技能、不同参与程度及不同技术专长水平的开发者参与;
建立对优秀参与者的荣誉体系,强化他们的参与感、归属感,例如通过「专项报道」、「贡献者专项展示」、「布道师培养」等,帮助他们打造个人影响力,收获社会荣誉。
通过以上实践,平衡和打消的是很多人所顾虑的「开源收益」、「参与时间和投入度」问题。减少他们可能会走的弯路,降低无效的摸索成本。
面向已经有经验的开源实践者,开源摘星计划也会重点聚焦于社区关注与价值赋予」,通过重点功能的联合开发,以及学习笔记的持续输送、联合宣传以及新晋 Commiter 专项报道等开展相关工作。
四、千人贡献,400 余项的 PR/Issue
目前开源摘星计划已经上线了两个月,我们也取得了许多不错的成果。截止目前,「开源摘星计划」累计吸引了覆盖云原生、大数据、AI、边缘计算、工具等 10 多个技术领域,超过 80 个不同的开源项目加入。有超过 1000 位在职开发者、开源实践者、开源布道师、开源合规专家,参与到了实际的开源贡献里。
这些参与者们,也累计为项目增加、提交了超过 400 项的 Pull/Merged Request 或 Issue 成果,这 400 项的 PR、Issue,涉及了上面提到的 80 多个不同开源项目中的 74% 的项目,20% 的 PR/Issue,解决了或正在解决项目中的重要 bug、核心功能。
在实际开展过程中,我们也收到了不少项目参与方的反馈,例如有的项目说 2 天就增长了 10 多位外部贡献者,有的项目说加入了开源摘星计划之后,社区里涌入了比之前多 1 倍的 PR 提交。
当然,这些成果是远远不够的,「开源摘星计划」希望更多的开发者能参与进来,共建开源摘星计划,为这些项目提出你的建议、想法,踏上你的开源之旅。
欢迎加腾源会社区助手微信(TCOSOO1),报名「开源摘星计划」,成为年度摘星 100 人!
评论