开源社区管理机制

二十年前,我开始使用免费和开源软件。 不久之后,我开始在专门的论坛上提问,学习了如何使用IRC与开发人员聊天,并撰写了我的第一个错误报告。 随着我贡献的增加,我的职业生涯从工业转向开源软件。

在过去的20年中,我学到了很多关于使用和贡献自由和开源软件以及与社区和开发人员合作的知识。 这是在开源项目中可以找到的10个关键领域,以及一些更好地管理它们的技巧。

1.新手

新用户将永远不会改变:他们不会搜索现有答案,而且他们的问题总是紧迫的-当然,对于他们来说。 有时他们不理解使用开源软件意味着他们对使用软件的方式负责。 他们不知道项目和产品之间的区别。 这就是为什么他们不知道社区支持,免费支持和付费支持之间的区别的原因。

在许多论坛和Q&A引擎上,您可以添加指南以及其他提示和技巧,以帮助新手编写包括所需基本信息的良好问题。 如果可能,请启用诸如重复和自动建议之类的功能,以清除队列和提供的信息。 当然,经验丰富的社区成员和项目专家可能会对初学者感到烦恼,但请不要忘记每个人也曾经是初学者。

这就是为什么下一点如此重要的原因。

2.教育

大多数人对免费和开源软件,社区以及相关主题一无所知。 不要指望大多数人会自己学习。 关键是提供教育,教育以及更多的教育

在您的材料中:

  • 弄清您的业务,项目,产品(例如,项目与产品之间的区别),并在公司内外教授开源最佳实践(是的,“内部”包括您的同事和经理)。
  • 在您的网站(公司,项目,文档,博客等)上写清晰的交流。
  • 从您的通信和内容中删除“免费”和“免费”一词,并在适当的地方将其替换为“开源”。

您的目标是帮助用户了解他们正在下载一个开源项目 ,而不是产品。 这可以帮助他们对获得支持和成为负责任的用户的期望产生准确的期望。

3.锻造

无论您使用哪种贡献系统,如何快速排序问题以及多么认真地审查代码,有些人都会抱怨—他们的问题很关键,必须立即解决, 维护人员不够友善或不够熟练,这太复杂了提交代码,依此类推。 有些人会在社交网络而不是伪造者上共享代码; 他们说他们没有时间,维护者应该这样做。

一些想法:

  • 创建自动或标准答案来管理这类用户和消息,以免浪费不必要的时间。
  • 指派项目经理,社区经理或其他人来处理困难的人和讨论。
  • 始终保持热情,礼貌和尊重; 这将显示您对人的善意。
  • 花时间指导那些对项目感兴趣并想学习和贡献的人。
  • 将更多的权利授予伪造者。
  • 编写有关如何获得权利,如何丧失权利,被禁止的原因等的明确规则,并将其包含在开发人员文档或tributing.md中。
  • 请记住,贡献者来自世界各地,具有不同的文化,血统和母语,他们的英语可能并不完美。 保持开放和宽容。

4.文件

文档永远不会是完美的,也不是最新的。 这始终是尽力而为的工作。

在某些团队中, 文档和教程是工作的一部分,这意味着如果开发人员未编写文档,则不会合并该功能。 您可能想与您的团队和项目一起尝试这种做法。

请记住,有时编写有关社区中经常出现的问题的分步教程会更容易且更有用,而不是针对特定主题的完整详细文档。

在您的文档中,您必须至少包含以下内容:

  • 项目说明,其作用,其不作用(如果需要),当前路线图和发行许可证
  • 如何安装以及必备组件列表
  • 最终用户基本说明
  • 维护人员的基本说明(运行,更新,监视等)
  • 如何从源代码构建
  • 如何在锻造上做出贡献
  • 如何编写代码(每种语言的预期标准)
  • 如何编写和运行测试
  • 依赖关系及其许可证列表
  • 所有软件扩展系统的列表以及如何将其与示例一起使用(例如,模块,主题,挂钩,API等)
  • 链接到其他网站上的教程和有趣的技术内容
  • 除代码外,还可以为项目做贡献的方式(有关更多信息,请参见下面的#8)

不要指望聪明的用户和优秀的开发人员会自己解决这些问题。 他们需要您提供这些信息,以节省时间并遵守项目的最佳实践和要求。 好的文件记录是认真的标志。 如果不可用,人们会寻找另一个项目。

5.业务

许多专家说,没有开源业务模型 。 实际上,没有人出售真正的开源代码。 公司使用开源软件开展业务并出售其周围的所有产品(经过认证的内部版本,包装,发行,服务,法律支持,技术支持,市场等)。

这使我们回到上面的第二点:教育。 管理,市场营销,销售甚至开发人员必须了解什么是开源,才能了解他们的销售,开发的内容以及公司的实际工作。

为他们创建内容是必不可少的:常见问题解答,文章,讲习班,博客文章以及其他对他们有帮助的内容。 这些文章可能会帮助:

6.巨魔

巨魔有许多不同的类型:有些在社区中活跃,有些在您的业务中使用您的软件,有些则只是在您的沟通渠道上巨魔。 但是他们都有一个共同点:他们抱怨-您的项目很糟糕,您的公司不知道如何开展业务,您的开发团队没有技能,路线图发臭,社区成员是白痴-使用攻击性语气和侮辱。 他们中的一些人具有很强的专业知识,如果他们持积极态度,可能会很有用……但是,像往常一样,“讨厌者会讨厌”。

管理巨魔很困难(几乎不可能),但是您可以学习如何很好地使用它们:

  • 当他们在投诉中提供足够的信息或提出问题或提出要求时,请多谢他们并在可能的情况下给予他们荣誉(他们会同时爱慕和讨厌这件事)。
  • 计数器在您的沟通渠道上仅带有事实,只有事实(无意见)。 但是不要花时间与它们战斗,因为您会喂饱它们,它们会获得更多对抗您的力量。
  • 永远,永远,永远,永远不要有侵略性或侮辱性; 即使他们侮辱您,也要始终保持冷静和礼貌,无论他们做什么。 社区将对此表示赞赏,并且您会因为成为好人而赢得信誉和尊重。
  • 邀请他们在活动和聚会中与您会面,认识他们的专业知识,并告诉他们他们的帮助始终受到欢迎和赞赏。
  • 有时,除了禁止它们之外别无选择。 如果一个巨魔在特定情况下有支持者,这会给社区带来非常不利的势头。 但是当事态变得更好时,人们会很快忘记。

巨魔的圣杯是要使他们成为善良的人,他们将利用他们的大量能量来获得善良。 这很困难,需要时间,但是有可能。

7.开发人员

由于开发人员很难招募且薪水很高,因此有些人认为他们统治着整个世界。 不要告诉他们,但实际上它们是由编程语言,规范的作者以及决定优先级的人员所决定的。 (谁说“用户”?)

照顾他们并花时间去认识他们; 他们是编写项目代码的技术人员,但是他们也是人。 :-)

如果可能的话,为他们创造机会,让他们每年现实生活一次或两次。

好东西:最好的开发人员通常是和nice,谦虚的人,并且喜欢用优雅的解决方案解决问题。 这是我可以提供的最好的线索,可以帮助他们在同行中找到最好的。

8.贡献者

很难让人们参与开源项目来完成真正想要或需要的事情:他们参与并为自己的利益和技能提供贡献。

他们的兴趣可能包括:

  • 通过代码审查和指导为项目贡献代码以提高其技能
  • 在简历中添加行以查找工作
  • 修复和改进项目,使其对他们的特定用途(他们的客户,他们的雇主等)更好
  • 成为项目生态系统专家的知名度并提高其平均每日费用

如果您有特定需求,则可以尝试创建赏金计划,是的,这意味着要提供一些金钱或令人兴奋的奖励,以激励人们解决问题。

不要忘记,有多种方法可以为开源项目做出贡献:

  • 使用和传播有关您的项目的信息
  • 计划活动(例如聚会,公约)
  • 设计(例如,模型,规格)
  • 写作(例如,文档,教程,视频教程,博客)
  • 园艺(例如,排序问题和请求请求,主持论坛)
  • 在论坛,聊天或其他交流渠道上提供帮助
  • 最后,编码(是的,通常社区中只有少数人足够熟练以提供良好的代码)

提示:

  • 了解人们为您的项目做出贡献的原因将有助于您了解您的社区和用户。 在活动和聚会中与他们见面,在社交网络上与他们聊天,然后问他们为什么参加。
  • 轻松以不同方式做出贡献
  • 您博客上的功能贡献者和社区领袖

9.知识产权(IP)

人们通常对版权,许可,发行兼容性,品牌管理,专利和IP一无所知。 甚至大多数开发人员都不知道他们是作者,他们的雇主拥有他们所写内容的权利,或者他们需要关心许可证。 我认为在工科学校应该更多地教授这个话题。

IP与源代码管理有关,但它还包括品牌管理(例如,名称和徽标),项目依赖性和许可证兼容性,贡献者等等。

使长话短说:

  • 编写软件就像编写一本书,包括作者,编辑,发行,版权管理等,并且您的项目许可是项目作者/编辑者与用户/贡献者之间的合同。
  • 公司将使用您的项目为他们或他们的客户解决与业务相关的问题。
  • 自由职业者和小型企业可能对IP不太谨慎,他们会测试您的软件,如果喜欢,他们会使用它。
  • 如果大型公司对您的软件项目感兴趣,他们将首先检查IP是否干净。 如果得到律师的批准,公司将开始使用它并最终雇用开发商。 如果您足够幸运,他们甚至可以贡献一些功能和改进。

注意事项:知识产权对于开源项目非常重要,但是却被低估了。 通常,它由基金会或托管项目的公司管理。

10.社区

像知识库一样组织您的沟通渠道和资源:它们必须易于编写,易于改进并且易于查找。

您需要在社区中管理两类信息:

  • 关于项目和软件
  • 关于社区成员

第一个很明显。 使用Wiki(文档),论坛,错误跟踪器和Git之类的代码管理工具,您将收集有关项目的很多信息(是的,很多)。 这里的关键是考虑类别,审核,链接和一些SEO。

关于社区成员和项目用户的第二个问题被大大低估了。 您必须非常小心地使用个人信息,但是要为参与者提供一种显示他们是谁以及他们对软件的用途的方法。 一个好的开始是在论坛上启用用户配置文件,其中包含有趣的字段和有关您的项目的信息。 然后,尝试添加一些游戏化方法以识别社区中的领导者。 在某个时候,考虑使用客户关系管理(CRM)解决方案来跟踪您与人之间的互动,例如您在现实生活中遇到的人,主要贡献的作者等。

这样,您将增加对项目及其贡献者的了解。 这将帮助您创建更好的项目,并成为更好的社区经理或项目所有者。


如果您是开源项目经理,贡献者或用户,那么您必须将哪些技巧添加到此列表中? 请在评论中分享您的想法。

翻译自: https://opensource.com/article/19/5/tips-managing-community

开源社区管理机制

Logo

为开发者提供按需使用的算力基础设施。

更多推荐