diff --git "a/\347\254\2545\351\203\250\345\210\206\342\200\224\342\200\224\345\274\200\346\272\220\346\262\273\347\220\206/\346\211\223\351\200\240\345\274\200\346\272\220\347\244\276\345\214\272.md" "b/\347\254\2545\351\203\250\345\210\206\342\200\224\342\200\224\345\274\200\346\272\220\346\262\273\347\220\206/\346\211\223\351\200\240\345\274\200\346\272\220\347\244\276\345\214\272.md" index 40d0ecebcc0760fb44f63de6b0e92dfc3c170a5d..3229e0e5a3898118cdb539d03bce4af02e741be1 100644 --- "a/\347\254\2545\351\203\250\345\210\206\342\200\224\342\200\224\345\274\200\346\272\220\346\262\273\347\220\206/\346\211\223\351\200\240\345\274\200\346\272\220\347\244\276\345\214\272.md" +++ "b/\347\254\2545\351\203\250\345\210\206\342\200\224\342\200\224\345\274\200\346\272\220\346\262\273\347\220\206/\346\211\223\351\200\240\345\274\200\346\272\220\347\244\276\345\214\272.md" @@ -4,7 +4,7 @@ `社区(community)`一词源于拉丁语,原意为亲密的关系或共同的东西。`社区`是一个抽象的概念,每个人眼中的社区可能都不一样,读者不妨先问一下自己——你眼中的社区是什么?从汉语的角度来看:`社区`由`社`和`区`两个字组成,前者指「相互有联系、有某些共同特征的人群」,后者指「一定的区域范围」。要想给`社区`下一个准确的定义是很难的,不过我们可以简单地将社区看作是「在某个环境中相互交往的群体」。维基百科中提到了社区的两个属性:「共同文化」和「共同地域」。当我们说「和平里社区」和「四方社区」时,我们侧重的是社区的「共同地域」属性;而当我们说「华人社区」和「开源社区」时,我们侧重的是「共同文化」属性。开源本身代表的就是一种文化。 -社区无处不在,社区的形式也多种多样。不过所有的社区几乎都有一个共同的特点,那就是:社区成员有着共同的信仰或者乐趣,他们对此充满热情,正是这种热情使得人们聚集在一起。**归属感(belonging)** 使人们驻留在社区,这种归属感也是社区建设的重要目标之一。一个强大社区的标志就是,它的成员们都拥有归属感。 +社区无处不在,社区的形式也多种多样。不过所有的社区几乎都有一个共同的特点,那就是:社区成员有着共同的信仰或者乐趣,他们对此充满热情,正是这种热情使得人们聚集在一起。**归属感(belonging)** 使人们驻留在社区,这种归属感也是社区建设的重要目标之一。一个强大社区的标志就是:社区成员都拥有归属感。 ## 什么是开源社区 @@ -46,34 +46,39 @@ ## 建设社区 -有了宏伟的蓝图还不够。俗话说「好的开始是成功的一半」,万丈高楼平地起,你还需要为高楼打好地基。 +有了宏伟的蓝图还不够。俗话说「好的开始是成功的一半」,万丈高楼平地起,你还需要为高楼打好地基。比如,社区需要有参与者,参与者之间需要有沟通渠道,社区需要基础设施进行运转等等。 ``` -“建设社区”部分需要整合内容,精简组建小组、建立沟通渠道内容、补充“吸引参与者”的内容 +“建设社区”部分需要整合内容,精简组建小组、建立沟通渠道内容、补充“参与者”的内容 ``` +### 做好准备工作 -### 组建小组 +在建立一个新社区时,除非你想孤军奋战,最重要也最优先的任务就是:**组建一个早期的核心团队**。你的首要目标是鼓励人们加入你的队伍,尽快让团队成员行动起来并做出点东西,为后面更多参与者的加入做好准备。 -在建立一个新社区时,最重要也是最优先的任务就是:建立一个小组。你的首要目标是让人们参与进来,你要鼓励人们加入你的队伍。如果不能吸引人们,尽快让他们行动起来并做出点东西,你的社区就是在原地踏步。 +有了核心团队之后,下一个要考虑的问题就是如何沟通。社区成员可能来自五湖四海,协同工作需要一个或多个**良好的沟通渠道**。良好的沟通是社区成员在一起工作、朝共同的目标努力,建立相互之间社交关系的基础,它能保证大家步伐一致,以相同的节奏,朝同一方向前进。为了实现良好的沟通,你需要选择合适的沟通渠道,常用的沟通渠道非常多。例如,邮件列表、论坛、Slack、Telegram、QQ、微信等等。 +### 参与者 -小组是社区的基本组成单元,它就像乐高积木一样,肩负着完成某项特定任务的使命。很多开源社区都有很多不同的小组,每个小组都承担着不同的责任,例如开发组承担开发工作、文档组负责编写产品文档、测试组保证产品质量、市场组进行产品推广等等。此外,小组也是归属感的单元。参与者加入小组,因小组精神的激励而产生归属感,这激发他们反过来为小组做更多的贡献,从而形成一个良性循环。 +参与者是社区的灵魂,你要吸引各种类型的人加入社区,让他们为社区作出贡献并留下来。 [CMX](https://cmxhub.com/) 的 [Community Engagement Cycle](https://cmxhub.com/build-a-thriving-community-from-scratch/) 模型很好地展现了一个人是如何成为忠实的社区成员的: -### 建立良好的沟通渠道 +1. **身份认同(Identity)**。参与者因加入社区而拥有情感和价值意义,也就是归属感。 +2. **信任(Trust)**。参与者建立起了对其它社区成员和整个社区的信任,相信社区可以给他带来价值。 +3. **参与(Participation)**。参与者知道如何参与,并对社区作出贡献。 +4. **奖励(Reward)**。参与者因为贡献而得到奖励,形成成就感。 -建立社区意味着你将开始协同工作。良好的沟通是社区成员在一起工作、朝共同的目标努力,建立相互之间社交关系的基础,它能保证大家步伐一致,以相同的节奏,朝同一方向前进。 +上面四个步骤缺一不可,并且形成了一个正向的反馈环路,推动着社区的欣欣向荣。在这里,最重要的就是如何让新人做出自己的第一份贡献。 +#### 吸引参与者 -为了实现良好的沟通,你需要选择合适的沟通渠道,常用的沟通渠道非常多。例如,邮件列表、论坛、Slack、Telegram、QQ、微信等等。 +你需要考虑的第一件事情就是想清楚你想要吸引哪些人群加入你的社区。例如,你可能想吸引软件开发者参与项目代码的编写,吸引测试人员进行软件的测试等等。也就是说,要对正确的人做宣传。在宣传的过程中,有一点非常重要,就是吸引那些愿意作出承诺,愿意为了社区的目标而努力工作的人加入社区。想办法避开那些草率的社区参与者,草率的参与者带来的成本是昂贵的,这不一定只是经济上的,还可能是时间上的。 -### 吸引参与者 +宣传的最终目的是把人带到社区的入口,确保面向新人的社区入口尽可能地畅通无堵,让社区给人一种开放和容易接近的感觉。 +#### 引导参与者做出贡献 -参与者是社区的灵魂,你要吸引各种类型的人加入社区,让他们参与其中,并为社区做出贡献。对所有的社区的建设来说,一个非常关键的步骤就是吸引新的参与者。为了吸引新人加入社区,我们的不仅要做宣传,而且是对正确的人做宣传。在宣传的过程中,请记住两点: +参与者已经来了,接下来的问题就是:参与者要如何做出第一份贡献,或者你要怎么做才能让别人尽快融入社区并做出第一个贡献。你大概需要做几件事情:首先是帮助参与者理解他们为什么要参与进来,让参与者知道他们可以做什么,以及做这些对他们有什么帮助。然后是让参与者知道他们该怎么做,以及需要具备哪些技能,完成任务需要遵守的规范条例等等。接下来参与者应该会做一些事情,但是他们在做事情的过程中可能遇到各种问题,你需要让参与者知道如何获取帮助。一旦参与者做了事情,就奖励他们,鼓励他们继续做贡献。 +#### 留住参与者 -- 确保面向新人的社区入口尽可能地畅通无堵。总之,让社区给人一种开放和容易接近的感觉。 -- 吸引那些愿意作出承诺,愿意为了社区的目标而努力工作的人加入社区。 - -有必要单独说一下第 2 点,因为我建议你想办法避开那些草率的社区参与者。草率的参与者带来的成本是昂贵的,这不一定只是经济成本,还包括时间成本。 +社区本身是一个环境。环境不仅影响会人们的感受,还会影响机会。在一个被认为不太安全的环境中,人们往往会因为恐怖而不敢互相交往。而在一个令人感到安全友好的社区里,各种其它形式的互动都十分活跃。如果你想要让参与者留下来,就需要给他们常规意义上的成就感。你要让他们感觉到:他们能做很多事情,并且他们的贡献得到了认可。你要持续不断地让参与者感受到这两点,这样他们才会有充足的干劲儿。如果你在参与者做出一定量贡献之后,偷偷给他们送去一个 surprise ,他们会非常兴奋的。 ### 建立良好的基础设施 @@ -83,78 +88,43 @@ 在挑选工具时要避免对工具的盲目崇拜,每个人都有自己习惯的工具,你永远不可能让所有人都满意。所以你需要确定出真正的需求,尽快挑选出可行的部分。要知道,越早让选定的工具用起来,人们就能越早集中精力做有用的事情,你的社区就会运转得越好。 -### 留住参与者 - -社区本身是一个环境。环境不仅影响会人们的感受,还会影响机会。在一个被认为不太安全的环境中,人们往往会因为恐怖而不敢互相交往。而在一个令人感到安全友好的社区里,各种其它形式的互动都十分活跃。 - -如果你想要让参与者留下来,就需要给他们常规意义上的成就感。你要让他们感觉到:他们能做很多事情,并且他们的贡献得到了认可。你要持续不断地让参与者感受到这两点,这样他们才会有充足的干劲儿。 - -### 举办活动和会议 - -活动和会议对增长社区人气和振奋社区非常有效,它们给参与者们提供了一个很好地彼此交流的机会。 -### 为社区获取经济支持 - -社区的运转是需要经济来源的。除了自掏腰包外,广告、销售周边、获取捐赠与赞助都能给社区带来收入的机会。在收到别人的捐赠或者赞助时,不要吝啬感谢。 - -## 壮大社区 +## 持续发展 ``` -“壮大社区”部分需聚焦主要内容,合并小结。 +“持续发展”部分需聚焦主要内容,合并小结。 ``` 现在你的社区已经慢慢地成长起来了,接下来要思考的就是如何让社区变得繁荣昌盛,并长盛不衰。 ### 跟踪社区的健康情况 -林子大了,什么鸟都有。开放社区由一群性格迥异的人组成,他们职责不一、技能和经历也天差地别。社区的多样性会触发各种各样的火花,有好的,也有坏的。通过主动观察,你可以了解到你眼中的社区健康情况,而通过有规律的、持续的反馈,你可以获知别人眼中的社区健康情况。 - -#### 主动观察 - -你能看到的有很多,例如:邮件列表活跃吗?有人报告缺陷时,开发人员能否迅速积极地做出响应? 成员在回答问题时是否有礼貌且富有成效? +林子大了,什么鸟都有。开放社区由一群性格迥异的人组成,他们职责不一、技能和经历也天差地别,这些差异加上社区的包容性就带来了社区的多样性。社区的多样性会触发各种各样的火花,有好的,也有坏的。作为社区的创建者,你需要了解的健康情况。对社区健康情况的了解可以从观察开始,例如:邮件列表活跃吗?有人报告缺陷时,开发人员能否迅速积极地做出响应? 成员在回答问题时是否有礼貌且富有成效? -#### 反馈的意义 +但是,简单的观察是不足以全面掌握社区的健康情况的。因为通过观察,你了解到的只是你眼中的社区健康情况。因此,你还需要知道别人眼中的社区健康情况,你需要别人的**反馈**。收集反馈意见是打造健康社区的重要手段,但人们常常忽视它。反馈非常重要,它能让我们了解到别人是如何看待社区的。我们可以利用这些看法找出问题、发现机会,以及调整工作重心。不幸的是,许多社区负责人都认为反馈是个麻烦的东西,如果收到的反馈挑战了他们的工作和社区的准则,他们就忽略它,这是一个错误的想法。反馈其实为我们提供了一个非常好的改善社区的机会。感谢那些骂你的和批评你的人吧。爱之深,恨铁不成钢,可能他们才是真正关心项目发展的人。 +#### 反馈 +反馈其实是一个反馈双方相互交流的过程,它就像网络的通信过程一样,发送方发起请求,接收方处理请求并返回响应。 -收集反馈意见是打造健康社区的重要手段,但人们常常忽视它。反馈非常重要,它能让我们了解到别人是如何看待社区的。我们可以利用这些看法找出问题、发现机会,以及调整工作重心。 +**鼓励社区请求向你发送反馈**。当社区成员对你的工作充满意见和担忧,却没人告诉你时,后果可能会非常严重。这些担忧和意见可能在社区内悄悄流传,人们交头接耳,议论纷纷。然后你却一无所知,你可能信心满满地认为社区现在很健康,因为看上去一片祥和。然而,宁静之下暗潮涌动。因为没有任何信息,你自然无法着手处理问题。因此,你要鼓励所有人大胆地反馈,想办法让人们变得「大胆起来」吧。你可以写一篇博客告诉所有人:你承诺对所有的反馈、建议和批评都欣然接受,并积极改正。 -不幸的是,许多社区负责人都认为反馈是个麻烦的东西,如果收到的反馈挑战了他们的工作和社区的准则,他们就忽略它,这是一个错误的想法。反馈其实为我们提供了一个非常好的改善社区的机会。 +**建立社区成员反馈的渠道**。反馈的方式非常多,但一点非常重要,那就是确保反馈者有一个非常好用的反馈渠道,并努力做到公开透明。例如很多社区都会建立一个专门用来处理反馈的电子邮箱,或者在社区网站上专门开放一块用于反馈的区域等等。 -感谢那些骂你的和批评你的人吧。爱之深,恨铁不成钢,可能他们才是真正关心项目发展的人。 +**积极响应**。当你收到反馈后,积极地回应,提出解决方案,让改变发生。如果社区成员不断反映问题,却看不到任何改变,慢慢地,他们就不再反馈了。开放地对待反馈,表明你的诚意,社区成员也会因你的态度和贡献而愈发尊重你。 -#### 鼓励反馈 - -当社区成员对你的工作充满意见和担忧,却没人告诉你时,后果可能会非常严重。这些担忧和意见可能在社区内悄悄流传,人们交头接耳,议论纷纷。然后你却一无所知,你可能信心满满地认为社区现在很健康,因为看上去一片祥和。然而,宁静之下暗潮涌动。因为没有任何信息,你自然无法着手处理问题。因此,你要鼓励所有人大胆地反馈,想办法让人们变得「大胆起来」吧。你可以写一篇博客告诉所有人:你承诺对所有的反馈、建议和批评都欣然接受,并积极改正。 - -那么如何收集反馈呢?很多社区都会建立一个专门用来处理反馈的电子邮箱,或者在社区网站上开放一块用于反馈的区域。有一点非常重要,那就是确保反馈者有一个非常好用的反馈渠道,并努力做到公开透明。 - -#### 处理反馈 - -当你收到反馈后,积极地回应,提出解决方案,让改变发生。如果社区成员不断反映问题,却看不到任何改变,慢慢地,他们就不再反馈了。开放地对待反馈,表明你的诚意,社区成员也会因你的态度和贡献而愈发尊重你。 +### 为社区获取经济支持 +社区的运转是需要成本的,也就是说,你需要为社区获取经济支持。除了自掏腰包外,广告、销售周边、获取捐赠与赞助都能给社区带来收入的机会。在收到别人的捐赠或者赞助时,不要吝啬感谢。 ### 社区治理 想必大家都不会对`治理`这个词感到陌生,治理是一个庞大而复杂的话题。例如,国家政府以改善基础设施、提升国民生活水平为己任。那么,社区也需要治理吗?答案并不是绝对的。如果你的社区只有 5 个人,可能真没有治理的必要。但是,如果你的社区规模达到了 500 人,你就需要好好考虑一下了。 -#### 常见的三种治理模式 - 世界上有无数的社区,每个社区都有自己的管理办法。在这些管理办法中,大致呈现出三种模式: 1. 独裁模式:治理和决策主要由一人掌控,比如 Linux 社区。 2. 开明专制:没有正式的领导者,唯才是用。比如 KDE 社区。 3. 委托式管理:社区的治理权被委派给一个治理机构。这种方式开放、透明,非常有利于社区的健康发展。比如 Ubuntu 社区。 -#### 处理冲突 -治理的首要职责是**解决冲突**,目标是带来社区的祥和。随着社区规模的扩大,人们的观点会出现分歧,分歧可能变成争论,并发展成派系斗争。这将是一个非常严重的问题。冲突会损害社区健康,将社区变成一个不舒适的环境,影响社区成员的感受。 - -那么如何处理冲突呢?以下是几个可行的步骤: - -1. 理解冲突:了解冲突是关于什么的,客观描述各方观点。 -2. 沟通调查:提出开放性问题,倾听,全面了解各方情况。 -3. 寻找方案:进行头脑风暴,寻找所有可能的解决方案。 -4. 选择最佳方案:帮助冲突各方进行商讨,寻找出最有利于各方共同利益的、最能被各方接受的方案。 -5. 巩固实施:总结并确认各方达成一致的内容,并实施。 - -值得一提的是,虽然冲突容易引起不适,但它也有好的一面。冲突能够帮助社区管理者发现社区内的多样性、社区成员的激情,以及社区的活跃程度。 +治理的首要职责是**解决冲突**,目标是带来社区的祥和。随着社区规模的扩大,人们的观点会出现分歧,分歧可能变成争论,并发展成派系斗争。这将是一个非常严重的问题。冲突会损害社区健康,将社区变成一个不舒适的环境,影响社区成员的感受。值得一提的是,虽然冲突容易引起不适,但它也有好的一面。冲突能够帮助社区管理者发现社区内的多样性、社区成员的激情,以及社区的活跃程度。 ## 参考资料 @@ -166,5 +136,5 @@ * [Building Welcoming Communities](https://opensource.guide/building-community/). * [The Art of Community](http://artofcommunityonline.org). * [GitHub Community Guidelines](https://docs.github.com/en/free-pro-team@latest/github/site-policy/github-community-guidelines). -* [Training for Conflict Resolution](https://ctb.ku.edu/en/table-of-contents/implement/provide-information-enhance-skills/conflict-resolution/main). * [TODO Group Guides](https://todogroup.org/guides). +* [The CMX Community Engagement Cycle](https://cmxhub.com/the-cmx-community-engagement-cycle/).