不编写代码也可以为开源项目做出贡献
如果你想通过非代码贡献成为一个提交者，或者没有时间做代码贡献，那么第一步就是加入社区。对于不同的人来说，开源“社区”意味着不同的东西。我认为开源有点像“爱情”，因为它是关于人和关系的。把开源当作一个社区，因为没有人，就没有源代码，无论是开源还是闭源。我是 Apache DolphinScheduler 社区的成员。由于该项目有意保持低代码，因此它吸引了许多 非软件开发人员。有时，那些不编写代码的人不确定是否有一种有意义的方式来为主要由源代码组成的开源项目做出贡献。我的经验告诉我，有，我将在本文中解释原因。向社区做出贡献在 Apache DolphinScheduler 项目中，我主要负责全球运营、影响力和社区关怀。一些人会说项目是树而开源是土壤。这是一个恰当的比喻，它说明了积极培育你想要帮助成长的东西的重要性。我有一个更简单的想法：尽一切可能使其变得更好。一个社区需要不断的关注，不是因为它很贪心，而是因为它是生活的一部分。社区是你身边的人，无论是物理空间还是在线空间。自从加入开源社区以来，我已经独立发起并组织了一些活动，包括：平均每月在中国举办一次会议。建议社区参与大数据领域内的技术分享。协调了中国“大数据”领域几乎所有的开源项目，与这些社区进行了个别访问和交流。在我看来，一个优秀的项目应该在一个良好的生态系统中成长。社区需要走出去，交换想法，分享资源，并与其他优秀的社区合作。每个人都应该感受到社区在工作中带来的好处。我的海外扩张遵循相同的模式。当然，由于文化和语言的差异，这样做很困难。这需要耗费精力，但这是值得的。到目前为止，我们已经在包括美国、印度、新加坡、德国、法国、芬兰等国家成功举办了会议。所以我如何为 DolphinScheduler 做出贡献？我是否向项目提交代码？我是社区经理吗？我有正式的职称吗？我认为自己是一个助手。我促进沟通和联系，这与任何代码贡献一样，都是 “Apache Way” 的一个例子。从 DolphinScheduler 开始我第一次接触开源是在开放原子基金会工作时，担任开源教育运营经理。作为中国第一个开源基金会，开放原子运营了以 OpenHarmony 为代表的许多项目。我加入了 DolphinScheduler 社区并发现了一群热衷于分享知识、提供指导和支持，并热衷于帮助其他人发现对他们自己的生活有用的工具的人。DolphinScheduler 旨在成为一个拥有全球影响力的调度系统，帮助团队以 敏捷 和高效的方式工作。对社区的第一印象听到社区对项目开发的抱怨是一件常见的事情。我们都会时不时地抱怨。也许你报告了一个错误，但开发人员没有解决你的问题。或者，也许你有一个很棒的功能想法，但团队忽略了它。如果你是一个开源社区的成员，你以前就听到过这些不满，如果你没有，你最终会听到。我了解到，这些声音对于开源社区来说都很重要。这是一个好现象，因为当你听到这些反馈时，这意味着社区愿意发现错误，报告它们，提出问题和回答问题。听到这些抱怨可能会揭示项目结构中需要改进的地方。社区中是否有志愿者可以回应错误报告并对它们进行分类，以便它们能够被分配给正确的开发人员？是否有一个志愿者组等待成立，以便迅速回应项目论坛或论坛中新人的问题？开源项目的门口有一个招待员可以帮助邀请犹豫不决的社区成员。招待员还可以确保没有“门槛”。每个人都受欢迎，每个人都有自己的贡献，即使他们能提供的只是互相帮助的氛围。尽管你我都希望能为每个人解决技术问题，但这是不现实的。但任何人都愿意帮助找到解决方案，这是社区的一个伟大优势。这些用户自发地充当了社区的“客户服务”部门。在 DolphinScheduler 项目中，我们有很多人（Yan Jiang、Xu Zhiwu、Zhang Qichen、Wang Yuxiang、Xiang Zihao、Yang Qiyu、Yang Jiahao、Gao Chufeng 和 Gao Feng，顺序不分先后！）。即使他们不开发解决方案，他们也不遗余力地寻找能够开发解决方案的人。给社区的话如果你希望通过非代码贡献成为提交者，或者没有时间进行代码贡献，那么第一步就是加入社区。没有注册表格或批准流程，但也没有快速通道。你通过参与加入社区。你通过可靠且持续的参与与其他人建立关系。我随时都可以聊天，总是渴望谈论全球活动组织、文档、反馈等。成为提交者Apache DolphinScheduler 面临着许多挑战。大多数公司，即使是支持开源的公司，也会选择非开源的商业工具。我希望与社区合作伙伴一起，使 DolphinScheduler 成为世界级的调度系统。我希望每个人都可以收获他们想要的技术成果，而 DolphinScheduler 可以帮助他们实现这一目标。加入我们的社区，帮助我们推广开放和敏捷的工作方式。或者找到一个需要你非编码技能的项目。发现让你的同龄人社区获得力量是多么酷和有趣！via: https://opensource.com/article/23/3/non-code-contribution-open-source作者：Debra Chen 选题：lkxed 译者：Cubik65536 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
不管怎么说，好的交流是一个活跃的开源社区的必备品。我通常不会定下大的新年决心。当然，我在自我提升方面没有任何问题，这篇文章我希望锚定的是这个日历中的另外一部分。不过即使是这样，这里也有一些东西要从今年的免费日历上划掉，并将其替换为一些可以激发我的自省的新日历内容。在 2017 年，我从不在社交媒体上分享我从未阅读过的文章。我一直保持这样的状态，我也认为它让我成为了一个更好的互联网公民。对于 2019 年，我正在考虑让我成为更好的开源软件维护者的决心。下面是一些我在一些项目中担任维护者或共同维护者时坚持的决心：1、包含行为准则Jono Bacon 在他的文章“7 个你可能犯的错误”中包含了一条“不强制执行行为准则”。当然，要强制执行行为准则，你首先需要有一个行为准则。我打算默认用贡献者契约，但是你可以使用其他你喜欢的。关于这个许可协议，最好的方法是使用别人已经写好的，而不是你自己写的。但是重要的是，要找到一些能够定义你希望你的社区执行的，无论它们是什么样子。一旦这些被记录下来并强制执行，人们就能自行决定是否成为他们想象中社区的一份子。2、使许可证清晰且明确你知道什么真的很烦么？不清晰的许可证。这个软件基于 GPL 授权，如果没有进一步提供更多信息的文字，我无法知道更多信息。基于哪个版本的GPL？我可以用它吗？对于项目的非代码部分，“根据知识共享许可证（CC）授权”更糟糕。我喜欢知识共享许可证，但它有几个不同的许可证包含着不同的权利和义务。因此，我将非常清楚的说明哪个许可证的变种和版本适用于我的项目。我将会在仓库中包含许可的全文，并在其他文件中包含简明的注释。与此相关的一类问题是使用 OSI 批准的许可证。想出一个新的准确的说明了你想要表达什么的许可证是有可能的，但是如果你需要强制推行它，祝你好运。会坚持使用它么？使用您项目的人会理解么？3、快速分类错误报告和问题在技术领域, 很少有比开源维护者更贫乏的东西了。即使在小型项目中，也很难找到时间去回答每个问题并修复每个错误。但这并不意味着我不能哪怕回应一下，它没必要是多段的回复。即使只是给 GitHub 问题贴了个标签也表明了我看见它了。也许我马上就会处理它，也许一年后我会处理它。但是让社区看到它很重要，是的，这里还有人管。4、如果没有伴随的文档，请不要推送新特性或错误修复尽管多年来我的开源贡献都围绕着文档，但我的项目并没有反映出我对它的重视。我能推送的提交不多，并不不需要某种形式的文档。新的特性显然应该在他们被提交时甚至是在之前就编写文档。但即使是错误修复，也应该在发行说明中有一个条目提及。如果没有什么意外，推送提交也是很好的改善文档的机会。5、放弃一个项目时，要说清楚我很不擅长对事情说“不”，我告诉编辑我会为 Opensource.com 写一到两篇文章，而现在我有了将近 60 篇文章。哎呀。但在某些时候，曾经我有兴趣的事情也会不再有兴趣。也许该项目是不必要的，因为它的功能被吸收到更大的项目中；也许只是我厌倦了它。但这对社区是不公平的（并且存在潜在的危险，正如最近的 event-stream 恶意软件注入所示），会让该项目陷入困境。维护者有权随时离开，但他们离开时应该说清楚。无论你是开源维护者还是贡献者，如果你知道项目维护者应该作出的其他决心，请在评论中分享！via: https://opensource.com/article/18/12/resolutions-open-source-project-maintainers作者：Ben Cotton 选题：lujun9972 译者：bestony 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
5 个提升你开源项目贡献者基数的方法
许多自由和开源软件项目因解决问题而出现，人们开始为它们做贡献，是因为他们也想修复遇到的问题。当项目的最终用户发现它对他们的需求有用，该项目就开始增长。并且出于分享的目的把人们吸引到同一个项目社区。就像任何事物都是有寿命的，增长既是开源项目成功的标志，也是开源项目成功的来源。那么项目领导者和维护者如何激励贡献者基数的增长？这里有五种方法。1、 提供好的文档人们经常低估项目文档的重要性。它是项目贡献者的主要信息来源，它会激励他们努力。信息必须是正确和最新的。它应该包括如何构建该软件、如何提交补丁、编码风格指南等步骤。查看经验丰富的科技作家、编辑 Bob Reselman 的 7 个创建世界级文档的规则。开发人员文档的一个很好的例子是 Python 开发人员指南。它包括清晰简洁的步骤，涵盖 Python 开发的各个方面。2、 降低进入门槛如果你的项目有工单或 bug 追踪工具，请确保将初级任务标记为一个“小 bug” 或“起点”。新的贡献者可以很容易地通过解决这些问题进入项目。追踪工具也是标记非编程任务（如平面设计、图稿和文档改进）的地方。有许多项目成员不是每天都编码，但是却通过这种方式成为推动力。Fedora 项目维护着一个这样的易修复和入门级问题的追踪工具。3、 为补丁提供常规反馈确认每个补丁，即使它只有一行代码，并给作者反馈。提供反馈有助于吸引潜在的候选人，并指导他们熟悉项目。所有项目都应有一个邮件列表和聊天功能进行通信。问答可在这些媒介中发生。大多数项目不会在一夜之间成功，但那些繁荣的列表和沟通渠道为增长创造了环境。4、 推广你的项目始于解决问题的项目实际上可能对其他开发人员也有用。作为项目的主要贡献者，你的责任是为你的的项目建立文档并推广它。写博客文章，并在社交媒体上分享项目的进展。你可以从简要描述如何成为项目的贡献者开始，并在该描述中提供主要开发者文档的参考连接。此外，请务必提供有关路线图和未来版本的信息。为了你的听众，看看由 Opensource.com 的社区经理 Rikki Endsley 写的写作提示。5、 保持友好友好的对话语调和迅速的回复将加强人们对你的项目的兴趣。最初，这些问题只是为了寻求帮助，但在未来，新的贡献者也可能会提出想法或建议。让他们有信心他们可以成为项目的贡献者。记住你一直在被人评头论足！人们会观察项目开发者是如何在邮件列表或聊天上交谈。这些意味着对新贡献者的欢迎和开放程度。当使用技术时，我们有时会忘记人文关怀，但这对于任何项目的生态系统都很重要。考虑一个情况，项目是很好的，但项目维护者不是很受欢迎。这样的管理员可能会驱使用户远离项目。对于有大量用户基数的项目而言，不被支持的环境可能导致分裂，一部分用户可能决定复刻项目并启动新项目。在开源世界中有这样的先例。另外，拥有不同背景的人对于开源项目的持续增长和源源不断的点子是很重要的。最后，项目负责人有责任维持和帮助项目成长。指导新的贡献者是项目的关键，他们将成为项目和社区未来的领导者。阅读：由红帽的内容战略家 Nicole Engard 写的 7 种让新的贡献者感到受欢迎的方式。作者简介：Kushal Das - Kushal Das 是 Python 软件基金会的一名 CPython 核心开发人员和主管。他是一名长期的 FOSS 贡献者和导师，他帮助新人进入贡献世界。他目前在 Red Hat 担任 Fedora 云工程师。他的博客在 https://kushaldas.in 。你也可以在 Twitter @kushaldas 上找到他via: https://opensource.com/article/17/1/expand-project-contributor-base作者：Kushal Das 译者：geekpi 校对：Bestony本文由 LCTT 原创编译，Linux中国 荣誉推出