From 45a77bbc954e0ad319d7538471f66fa29850ba14 Mon Sep 17 00:00:00 2001 From: Nicholas Zhan Date: Fri, 6 Nov 2020 08:02:51 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=AC=AC=E4=BA=94=E9=83=A8=E5=88=86?= =?UTF-8?q?=E2=80=94=E2=80=94=E5=BC=80=E6=BA=90=E6=B2=BB=E7=90=86/?= =?UTF-8?q?=E6=89=93=E9=80=A0=E5=BC=80=E6=BA=90=E7=A4=BE=E5=8C=BA.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...00\346\272\220\347\244\276\345\214\272.md" | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git "a/\347\254\254\344\272\224\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\254\344\272\224\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 c01627e..e51e265 100644 --- "a/\347\254\254\344\272\224\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\254\344\272\224\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" @@ -2,27 +2,27 @@ > 如何为自己的项目打造开源社区?建立一个开源社区的前提是什么?如何将其发展壮大? -`社区(community)`一词源于拉丁语,原意为亲密的关系或共同的东西。`社区`是一个抽象的概念,每个人眼中的社区可能都不一样,读者不妨问一问自己——社区是什么?从汉语的角度来看:`社区`由`社`和`区`两个字组成,前者指_相互有联系、有某些共同特征的人群_,后者指_一定的区域范围_。要想给`社区`下一个准确的定义是很难的,不过我们可以简单地将社区看作是_在某个环境中相互交往的群体_。维基百科中提到了社区的两个属性:“共同文化”和“共同地域”。当我们说“和平里社区”和“四方社区”时,我们侧重的是社区的“共同地域”属性;而当我们说“华人社区”和“开源社区”时,我们侧重的是”共同文化“属性。开源本身代表的就是一种文化。 +`社区(community)`一词源于拉丁语,原意为亲密的关系或共同的东西。`社区`是一个抽象的概念,每个人眼中的社区可能都不一样,读者不妨先问一下自己——你眼中的社区是什么?从汉语的角度来看:`社区`由`社`和`区`两个字组成,前者指“相互有联系、有某些共同特征的人群”,后者指“一定的区域范围”。要想给`社区`下一个准确的定义是很难的,不过我们可以简单地将社区看作是“在某个环境中相互交往的群体”。维基百科中提到了社区的两个属性:“共同文化”和“共同地域”。当我们说“和平里社区”和“四方社区”时,我们侧重的是社区的“共同地域”属性;而当我们说“华人社区”和“开源社区”时,我们侧重的是“共同文化”属性。开源本身代表的就是一种文化。 -社区无处不在,社区的形式也多种多样。不过所有的社区几乎都有一个共同的特点,那就是:社区成员有着共同的信仰或者乐趣,他们对此充满热情,正是这种热情使得人们聚集在一起。**归属感(belonging)**使人们驻留在社区,这种归属感也是社区建设的重要目标之一。一个强大社区的标志就是,它的成员们都拥有归属感。 +社区无处不在,社区的形式也多种多样。不过所有的社区几乎都有一个共同的特点,那就是:社区成员有着共同的信仰或者乐趣,他们对此充满热情,正是这种热情使得人们聚集在一起。**归属感(belonging)** 使人们驻留在社区,这种归属感也是社区建设的重要目标之一。一个强大社区的标志就是,它的成员们都拥有归属感。 ## 什么是开源社区 -`开源社区(open source communities)`是社区的一种,它的核心在于**开源(open source)**(或者说是**开放(open)**)。前面我们说开源代表一种文化,我们也可以将开源看成是开源社区成员们的共同兴趣,或者信仰。读者不妨先想一想——什么是开放?就`open source`一词中的`open`来说,它即表示开源项目的源代码是开放的,任何人都可以获得甚至修改它,也表示开源社区本身是开放的,任何人都可以加入社区,参与社区活动。更进一步,我们也可以说`开放社区(open communities)`,它的含义比开源社区更广,开放社区的核心在于**透明性(transparency)**、**包容性(inclusivity)**、**适应性(adaptability)**、**协作(collaboration)**和**社区(community)**。 +`开源社区(open source communities)`是社区的一种,它的核心在于**开源(open source)**(或者说是**开放(open)**)。前面我们说开源代表一种文化,我们也可以将开源看成是开源社区成员们的共同兴趣,或者信仰。读者不妨先想一想——什么是开放?就`open source`一词中的`open`来说,它既表示开源项目的源代码是开放的,任何人都可以获得以及修改它,也表示开源社区本身是开放的,任何人都可以加入社区,参与社区活动。更进一步,我们也可以说`开放社区(open communities)`,它的含义比开源社区更广,开放社区的核心在于**透明性(transparency)**、**包容性(inclusivity)**、**适应性(adaptability)**、**协作(collaboration)**和**社区(community)**。 -现在全球已经形成了大量以技术为中心的开源社区。这些开源社区一般都依托于对应的开源项目,在开源项目的发展过程中逐渐形成。开源项目对应的社区内聚集着一批对该项目感兴趣的人,这些人参与开源项目的文档编写、测试、社区讨论等活动。随着项目的发展,一些人可能会因为各种原因离开社区,反之,又可能会有新人不断地加入社区,社区会变得日新月异。 +现在全球已经形成了大量以技术为中心的开源社区。这些开源社区一般都依托于对应的开源项目,在开源项目的发展过程中逐渐形成,社区内聚集了一大批对该项目感兴趣的人,这些人参与开源项目的开发、文档编写、测试和社区讨论等活动。随着项目的发展,一些人可能会因为各种原因离开社区,反之,又可能会有新人不断地加入进来,社区会变得日新月异。 ## 建立你的开源社区 -假设你(或者你们)写了一个牛逼的项目,你也把项目的代码公开了。现在想一想——你是否希望别人也加入你,同你一起推动这个项目的发展呢。如果答案是”否“,那么说明你你不需要建立社区,可以结束阅读本文了。反之,恭喜你又能交到很多志同道合的朋友了。不管答案如何,都会有人对你心存感激,因为你是一个乐于分享的人。 +假设你(或者你们)写了一个牛逼的项目,你也把项目的代码公开了。现在思考一个问题——你是否希望别人也加入你,同你一起推动这个项目的发展呢。如果答案是“否”,那么说明你认为你的项目不太需要社区的帮助,你仍然可以以个人的力量推动项目的发展。反之,则说明你即将成为一个开源社区的创建者。拿出纸和笔,好好为你的社区规划一番吧。 -那么,建立一个社区有哪些好处呢?社区是和你的项目相关联的,当人们参与到了你的项目中,他们能为你的项目提供反馈、编写文档、开发新功能、修改Bug、提出有用的建议等等。贡献者所做的一切都能为你的项目带来新的机遇,例如吸引更多的贡献者和客户、扩大产品的用户数等等。总的来说,社区能帮你和参与者实现共赢。 +那么,建立一个社区有哪些好处呢?社区与项目息息相关,当人们参与到了你的项目中,他们能为你的项目提供反馈、编写文档、开发新功能、修改Bug、提出有用的建议等等。贡献者所做的一切都能为你的项目带来新的机遇,例如吸引更多的贡献者和客户、扩大产品的用户数等等。简而言之,社区能帮你和参与者实现共赢。 ### 绘制社区蓝图 -你已经开源了你的项目,现在全世界的人都能看到你的代码,或许一些人已经受益,一些人对你的项目充满了兴趣。这个时候,考虑建立你的开源社区了,为参与者们打造一个真正属于他们的地方吧,让人们能够参与其中,享受乐趣。 +你已经开源了你的项目,现在全世界的人都能看到你的代码,或许一些人已经从你的项目中受益,一些人对你的项目充满了兴趣,迫不及待地想要和你进行交流。这个时候,该考虑建立你的开源社区了,为你的项目和参与者们创造一片小天地吧,让人们能够参与其中,享受乐趣。 -在建立社区之前,请先停下来思考几个问题: +在你动手建立社区之前,请先停下来思考几个问题: 1. 社区的使命是什么? @@ -30,11 +30,11 @@ 2. 社区能为参与者带来哪些机会? - 参与者能从社区中获得的**机会**有哪些。更进一步说,如果社区实现了它的目标,它能给参与者带来的各种可能。这个问题能够帮助社区寻找一个更深层次的、根本的目标,因为社区是为组成社区的参与者服务的。 + 参与者能从社区中获得的**机会**有哪些。更进一步说,如果社区实现了它的目标,它能带给参与者哪些可能。这个问题能够帮助社区寻找一个更深层次的终极目标,因为社区是离不开参与者的。 3. 参与者在社区内可以一同做什么? - 参与者可以在社区内**协同工作**的任务,例如编写文档、组织会议、进行宣传等等。 + 参与者可以在社区内**协同工作**的任务,例如编写文档、组织会议、进行宣传等等。如果参与者无事可做,这还是社区吗? 4. 参与者需要具备哪些技能? @@ -42,50 +42,50 @@ 5. 你期望的社区是怎样的? - 可以分为内外两个方面来思考:第一,社区给外界的感觉会是怎样的,这能帮助社区吸引新人;第二,社区的内部是怎样的,社区内的氛围如何、社区成员之间有着怎样的关系。 + 可以分为内外两个方面来思考:第一,社区给外界的感觉会是怎样的,这能帮助社区吸引新人;第二,社区的内部是怎样的,社区内的氛围如何,社区成员之间有着怎样的关系。 ## 建设社区 -有了宏伟的蓝图还不够。俗话说”好的开始是成功的一半“,万丈高楼平地起,你还需要为高楼打好地基。 +有了宏伟的蓝图还不够。俗话说“好的开始是成功的一半”,万丈高楼平地起,你还需要为高楼打好地基。 ### 组建小组 在建立一个新社区时,最重要也是最优先的任务就是:建立一个小组。你的首要目标是让人们参与进来,你要鼓励人们加入你的队伍。如果不能吸引人们,尽快让他们行动起来并做出点东西,你的社区就是在原地踏步。 -小组是社区结构的基本单元,就像乐高积木一样,肩负着完成某项特定任务的使命。很多开源社区有很多不同的小组,每个小组都承担着不同的责任,例如开发组承担开发工作、文档组负责编写产品文档、测试组保证产品质量、市场组进行产品推广等等。此外,小组是归属感的单元。参与者加入小组,被小组的精神所激励,就产生了归属感,这激发他们反过来为小组做更多的贡献,这种良性循环,使小组持续不断地交换着价值和经验。 +小组是社区的基本组成单元,它就像乐高积木一样,肩负着完成某项特定任务的使命。很多开源社区都有很多不同的小组,每个小组都承担着不同的责任,例如开发组承担开发工作、文档组负责编写产品文档、测试组保证产品质量、市场组进行产品推广等等。此外,小组也是归属感的单元。参与者加入小组,因小组精神的激励而产生归属感,这激发他们反过来为小组做更多的贡献,从而形成一个良性循环。 ### 建立良好的沟通渠道 -建立社区意味着你将开始协同工作。在一个社区中,良好的沟通有诸多好处。它是社区成员在一起工作、朝共同的目标努力,建立相互之间社交关系的基础。良好的沟通能保证大家步伐一致,以相同的节奏,朝同一方向前进。 +建立社区意味着你将开始协同工作。良好的沟通是社区成员在一起工作、朝共同的目标努力,建立相互之间社交关系的基础,它能保证大家步伐一致,以相同的节奏,朝同一方向前进。 -为了实现良好的沟通,你需要选择合适的沟通渠道,常用的沟通渠道非常多。例如,邮件列表、论坛、Slack、Telegram、QQ 群、微信群等等。 +为了实现良好的沟通,你需要选择合适的沟通渠道,常用的沟通渠道非常多。例如,邮件列表、论坛、Slack、Telegram、QQ、微信等等。 ### 吸引参与者 -吸引各种类型的人加入社区,参与其中,并为社区的目标做出贡献。对所有的社区来说,一个非常关键的步骤就是吸引新的参与者。为了吸引新人加入社区,我们的不仅要做宣传,而且是对正确的人做宣传,确保他们可以加入社区。这个时候,记住两点: +参与者是社区的灵魂,你要吸引各种类型的人加入社区,让他们参与其中,并为社区做出贡献。对所有的社区的建设来说,一个非常关键的步骤就是吸引新的参与者。为了吸引新人加入社区,我们的不仅要做宣传,而且是对正确的人做宣传。在宣传的过程中,请记住两点: - 确保面向新人的社区入口尽可能地畅通无堵。总之,让社区给人一种开放和容易接近的感觉。 - 吸引那些愿意作出承诺,愿意为了社区的目标而努力工作的人加入社区。 -我觉得有必要单独说一下第2点,我建议你想办法避开那些草率的社区参与者。草率的社区参与者带来的成本是昂贵的,这不一定只是经济成本,还包括时间成本。 +有必要单独说一下第2点,因为我建议你想办法避开那些草率的社区参与者。草率的参与者带来的成本是昂贵的,这不一定只是经济成本,还包括时间成本。 ### 建立良好的基础设施 -新社区以及带着特殊使命诞生,社区人创始人已经建立起交流渠道,一些早期的社区成员也已经加入进来。慢慢地,你会发现社区需要额外的工具。即便是最简单的社区,也需要使用工具来沟通、存储工作和共享信息。社区贡献者的类型不同,他们的需求也不同,需要的工具也不同。例如:开发人员需要版本控制工具和漏洞追踪工具,文档人员需要编辑器,测试人员需要测试套件,而所有人都需要同他们交流。许多社区都为不同类型的贡献者提供了各种各样的工具和设施。 +新社区已经带着特殊使命诞生,社区人创始人建立起了沟通渠道,一些早期的社区成员也已经加入进来。慢慢地,你会发现社区需要额外的工具。即便是最简单的社区,也需要使用工具来沟通、存储工作和共享信息。社区中会有很多不同类型的贡献者,他们的需求不同,需要的工具也不同。例如:开发人员需要版本控制工具和漏洞追踪工具,文档人员需要文本编辑器,测试人员需要测试套件,而所有人都需要互相交流。因此,许多社区都为不同类型的贡献者提供了各种各样的工具和设施。 -除了为特定类型的贡献者提供工具,你可能还需要考虑一下其他人。例如,用户可能需要一个地方来查看项目的文档、了解项目的进展,以及咨询反馈。当然,贡献者也可能需要这些。 +除了为社区内的人提供工具,你可能还需要考虑一下社区外的人。例如,用户可能需要一个地方来查看项目的文档、了解项目的进展,以及咨询反馈。当然,贡献者也可能需要这些。 在挑选工具时要避免对工具的盲目崇拜,每个人都有自己习惯的工具,你永远不可能让所有人都满意。所以你需要确定出真正的需求,尽快挑选出可行的部分。要知道,越早让选定的工具用起来,人们就能越早集中精力做有用的事情,你的社区就会运转得越好。 ### 留住参与者 -社区也可以看作是一个环境。环境不仅影响着人们的感受,还影响着机会。在一个被认为不太安全的社区里,人们往往因为恐怖而不敢互相交往。而在一个令人感到安全和友好的社区里,本地的小组,任意多点间的谈话,还有各种其它形式的互动都十分活跃。 +社区本身是一个环境。环境不仅影响会人们的感受,还会影响机会。在一个被认为不太安全的环境中,人们往往会因为恐怖而不敢互相交往。而在一个令人感到安全友好的社区里,各种其它形式的互动都十分活跃。 -如果你想要让参与者留下来,就需要给他们常规意义上的成就感。你要让他们感觉到:第一,他们能做很多事情;第二,他们的贡献得到了认可。如果能够不断的让参与者感受到了这两点,那就更好了。 +如果你想要让参与者留下来,就需要给他们常规意义上的成就感。你要让他们感觉到:他们能做很多事情,并且他们的贡献得到了认可。你要持续不断地让参与者感受到这两点,这样他们才会有充足的干劲儿。 ### 举办活动和会议 -活动和会议对增长社区人气和振奋社区非常有效,这给参与者们提供了一个很好地彼此交流的机会。 +活动和会议对增长社区人气和振奋社区非常有效,它们给参与者们提供了一个很好地彼此交流的机会。 ### 为社区获取经济支持 @@ -93,11 +93,11 @@ ## 壮大社区 -现在你的社区已经在不断运转了,那么如何让社区繁荣昌盛呢? +现在你的社区已经慢慢地成长起来了,接下来要思考的就是如何让社区变得繁荣昌盛,并长盛不衰。 ### 跟踪社区的健康情况 -林子大了,什么鸟都有。开放社区由一群性格迥异的人组成,他们拥有各自的职责、技能和天差地别的经历。社区的多样性会触发各种各样的火花,有好的,也有坏的。通过主动观察,你可以得到你眼中的社区健康情况,而通过有规律的、持续的反馈,你可以获知别人眼中的社区健康情况。 +林子大了,什么鸟都有。开放社区由一群性格迥异的人组成,他们职责不一、技能和经历也天差地别。社区的多样性会触发各种各样的火花,有好的,也有坏的。通过主动观察,你可以了解到你眼中的社区健康情况,而通过有规律的、持续的反馈,你可以获知别人眼中的社区健康情况。 #### 主动观察 @@ -105,17 +105,17 @@ #### 反馈的意义 -人们常常会忽视从外界收集反馈意见这件事情,但它是建设强大、健康的社区的一个重要方面。反馈非常重要,它让我们了解别人的看法,这些看法可以帮助我们找出机会、问题和需要重新重视的区域。通过反馈,我们可以知道社区外的人们是如何看待社区的。 +收集反馈意见是打造健康社区的重要手段,但人们常常忽视它。反馈非常重要,它能让我们了解到别人是如何看待社区的。我们可以利用这些看法找出问题、发现机会,以及调整工作重心。 -不幸的是,许多社区负责人都认为反馈是个麻烦的东西,如果收到的反馈挑战了他们的工作和社区的准则,他们就忽略它,这是一个错误的想法。反馈其实为我们提供了一个非常好的机会,来改善社区的功能。 +不幸的是,许多社区负责人都认为反馈是个麻烦的东西,如果收到的反馈挑战了他们的工作和社区的准则,他们就忽略它,这是一个错误的想法。反馈其实为我们提供了一个非常好的改善社区的机会。 感谢那些骂你的和批评你的人吧。爱之深,恨铁不成钢,可能他们才是真正关心项目发展的人。 #### 鼓励反馈 -当社区成员对你的工作充满意见和担忧,却没人告诉你时,后果可能会非常严重。社区成员的担忧和意见却可能在社区内悄悄流传,人们交头接耳,议论纷纷。然后你却一无所知,你可能信心满满地认为社区现在很健康,看上去一片祥和,宁静之下暗潮涌动。因为你没有任何反馈信息,你当然也无法着手处理问题。因此,要鼓励所有人大胆地反馈。你可能得想办法让人们”大胆起来“,比如你可以写一篇博客告诉所有人:你承诺对所有的反馈、建议和批评都欣然接受,并积极改正。 +当社区成员对你的工作充满意见和担忧,却没人告诉你时,后果可能会非常严重。这些担忧和意见可能在社区内悄悄流传,人们交头接耳,议论纷纷。然后你却一无所知,你可能信心满满地认为社区现在很健康,因为看上去一片祥和。然而,宁静之下暗潮涌动。因为没有任何信息,你自然无法着手处理问题。因此,你要鼓励所有人大胆地反馈,想办法让人们变得“大胆起来”吧。你可以写一篇博客告诉所有人:你承诺对所有的反馈、建议和批评都欣然接受,并积极改正。 -那么如何收集反馈呢?很多社区都会建立一个专门用来处理反馈的电子邮箱,或者在社区网站上开放一块用于反馈的区域。当然还有很多其它的方式,但最重要的是要确保反馈者有一个非常好用的反馈渠道,并努力做到公开透明。 +那么如何收集反馈呢?很多社区都会建立一个专门用来处理反馈的电子邮箱,或者在社区网站上开放一块用于反馈的区域。有一点非常重要,那就是确保反馈者有一个非常好用的反馈渠道,并努力做到公开透明。 #### 处理反馈 @@ -123,7 +123,7 @@ ### 社区治理 -想必大家都不会对`治理`这个词感到陌生,治理是一个庞大而复杂的话题。例如,国家政府以改善基础设施、提升国民生活水平为己任。那么,社区也需要治理吗?答案并不是绝对的。如果你的社区只有 5 个人,可能真没有治理的必要。但是,如果你的社区规模达到了 500 人,你就需要慎重考虑了。 +想必大家都不会对`治理`这个词感到陌生,治理是一个庞大而复杂的话题。例如,国家政府以改善基础设施、提升国民生活水平为己任。那么,社区也需要治理吗?答案并不是绝对的。如果你的社区只有 5 个人,可能真没有治理的必要。但是,如果你的社区规模达到了 500 人,你就需要好好考虑一下了。 #### 常见的三种治理模式 @@ -131,7 +131,7 @@ 1. 独裁模式:治理和决策主要由一人掌控,比如 Linux 社区。 2. 开明专制:没有正式的领导者,唯才是用。比如 KDE 社区。 -3. 委托式管理:社区的治理权被委派给一个治理机构。这种方式开放、透明,并且有利于社区的健康发展。比如 Ubuntu 社区。 +3. 委托式管理:社区的治理权被委派给一个治理机构。这种方式开放、透明,非常有利于社区的健康发展。比如 Ubuntu 社区。 #### 处理冲突 @@ -145,7 +145,7 @@ 4. 选择最佳方案:帮助冲突各方进行商讨,寻找出最有利于各方共同利益的、最能被各方接受的方案。 5. 巩固实施:总结并确认各方达成一致的内容,并实施。 -值得一提的是,虽然冲突容易引起不适,但它也不全是不好的。冲突能够帮助社区管理者发现社区内的多样性、社区成员的激情,以及社区的活跃程度。 +值得一提的是,虽然冲突容易引起不适,但它也有好的一面。冲突能够帮助社区管理者发现社区内的多样性、社区成员的激情,以及社区的活跃程度。 ## 参考资料 -- Gitee