From cb586b987525b6fc4b8122dd17fa83ad129e0843 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E4=BC=97=E5=BC=80=E6=BA=90?= <185682649@qq.com> Date: Fri, 6 Nov 2020 14:54:49 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=AC=AC=E5=9B=9B=E9=83=A8=E5=88=86?= =?UTF-8?q?=E2=80=94=E2=80=94=E5=90=AF=E5=8A=A8=E8=87=AA=E5=B7=B1=E7=9A=84?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE/=E5=BC=80=E6=BA=90?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E7=BB=B4=E6=8A=A4=E5=92=8C=E7=AE=A1?= =?UTF-8?q?=E7=90=86.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...44\345\222\214\347\256\241\347\220\206.md" | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git "a/\347\254\254\345\233\233\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\347\273\264\346\212\244\345\222\214\347\256\241\347\220\206.md" "b/\347\254\254\345\233\233\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\347\273\264\346\212\244\345\222\214\347\256\241\347\220\206.md" index 69dd26b..b4f0a73 100644 --- "a/\347\254\254\345\233\233\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\347\273\264\346\212\244\345\222\214\347\256\241\347\220\206.md" +++ "b/\347\254\254\345\233\233\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\347\273\264\346\212\244\345\222\214\347\256\241\347\220\206.md" @@ -1,3 +1,36 @@ ### 如何推广开源项目 + +对于一个开源项目,将代码放发布到代码托管平台仅仅是一个开始,真正重要的是社区运营工作。如何让更多的人能够快速了解你的项目而不是无人问津?如何让有兴趣的人更积极的参与项目而不是永远仅仅依靠一己之力不可持续?这些都是非常现实的挑战,也是一个开源项目能否健康发展的重要基础。 Apache 软件基金会(ASF)的 Apache Way 的核心理念就是 Community over Code (社区重于代码),也说明开源项目建立社区的重要性。 + +要做好一个开源项目的推广,项目内容中除了源代码之外,完备的文档体系对吸引大家关注以及参与都是非常有帮助的。总之,如果仅仅只有一堆源代码,会让很多人都望而却步,以下简单列举两个非常必要的文档和规则说明。 + +说明文件(README) + +开源项目中的 README 是非常重要的,你可以在 README 里面详细介绍有关这个开源项目的重要内容,包括项目主要功能特性、架构原理、安装部署及部署说明、简要的使用说明、目录文件结构、常见问题说明、交流沟通方式等内容,总之能够让关注者迅速的了解这个项目的基本情况。 + +贡献说明(Contributing) + +任何一个开源项目,肯定都是希望有更多的社区参与者和贡献者,但是对于参与者可以如何参与项目贡献,并且需要遵循哪些基本规则,比如提交问题的规范,如果是做代码贡献,还有代码相关规范等,以及参与贡献的完整操作流程,这些内容我们可以通过贡献说明文档来说明。另外,我们也可以对项目的社区治理架构及不同等级的贡献者的要求及权力做进一步说明,这些内容整体上构成了本项目在社区参与过程中的一些基本规范。 + +具体的开源项目推广方式比较多,以下列举一些常见的方式。 + +1、写作投稿。比较容易并且易于见效的方式就是写作投稿,可以在一些开发者比较活跃的技术网站、论坛等平台去发表与项目有关的文章,并且在文章中说明项目地址、参与方式等,通过这些方式能够较低成本的将对项目内容感兴趣的人员引流到项目社区中; + +2、建立微信群、 QQ 群、钉钉群、微博、公众号等沟通渠道。通过社交工具,可以更精准及频繁的传递项目信息,建立与社区参与者更高的黏度,充分挖掘社区参与的活跃分子并且通过各种活动方式,让项目社区逐渐形成并壮大; + +3、参与或举办线上线下活动。开源推广跟其他产品或业务推广一样,需要通过不断的曝光、扩大影响范围等方式让项目覆盖更多受众,并且通过各种活动逐步培养项目的灵魂人物和大牛形象,从而吸引更多参与者; + +4、让社区参与者参与宣传。在社区里面,一般有开发者、使用者、项目核心成员等不同角色,我们可以通过各种活动充分利用社区中除项目发起人之外的其他成员的现身说法以及经验分享,一方面鼓励社区内部自由充分的交流,另外这也是对参与者开源精神的认可和赞赏,对于其他参与者也有积极的引导作用。 + + ### 项目被提交 Issue 时应该怎么做? -### 项目被提交 Pull Request 时应该怎么做? \ No newline at end of file + +在项目的日常运营中, Issue 是记录各类 BUG、需求的方式,也是开发者之间非常重要的的交流工具。参与者可以通过各种状态的 Issue,看到针对各种问题或者需求的详细内容,也可以通过提交 comment 的方式参与沟通讨论。 Issue 的数量、打开和关闭的比例以及针对 Issue 的处理是否及时等,这些都成为衡量一个开源项目是否健康且受欢迎的重要指标。 + +当项目维护者看到有 Issue 提交时,最重要的是迅速反馈,无论是 bug 还是需求,都可以跟提出者通过 comment 方式进行充分的沟通,达成共识,也可以对 Issue 打上标签,便于分类管理。另外,还可以将 Issue 分配给其他参与者,或者将 Issue 添加到项目的看板,关联到某个里程碑等操作,当 Issue 中的问题被解决后,应该及时做关闭。总之是围绕 Issue 能够展开积极互动和响应,这样才可以让社区始终保持活跃,形成一个良性循环。 + +### 项目被提交 Pull Request 时应该怎么做? + +当项目有 Pull Request 提交时,上面处理 Issue 时的一些原则同样适用,关键是能够快速反应,坦诚沟通,对提交的 PR 进行 Code Review,最终决定是采纳或者拒绝。当然做必要的自动化检查及测试,这是 Code Review 的前提,一个好的开源项目,应该利用各种工具链做好持续集成持续发布服务(CI/CD),尽量先用自动化的方式完成一些测试和验证,这样也可以提高代码输出的质量及 Code Review 的效率,同时,也可以在贡献说明中对代码要求规范、PR 提交规范等做好说明,避免让参与者在贡献过程中由于这些方面的原因感觉到挫败。 + +总之,一个开源项目的运营,透明化是最重要的一个原则,包括各种规则的透明、交流过程的透明等。 \ No newline at end of file -- Gitee