维护开源软件项目

介绍

当您维护开源软件存储库时,您将扮演领导角色。无论你是一个项目的创始人,它发布给公众使用和贡献,或者你正在一个团队工作,并保持项目的一个特定方面,你将提供一个重要的服务,更大的开发者社区。 虽然开源 通过引入请求的贡献是确保软件的关键是有用的,因为它可以为最终用户,贡献者通常比维护者谁能够真正塑造整个项目投资少。存储库维护者非常参与他们管理的开源项目,从日常的组织和开发,到与公众的接口,并向贡献者提供快速有效的反馈。 本教程将向您介绍一些维护开源软件公开存储库的提示。作为开源项目的领导者,有技术和非技术责任,有助于围绕您的项目建立一个用户群和社区。承担维护者的角色是一个机会,从他人学习,获得项目管理经验,并观察您的项目成长和变化,因为您的用户成为投资的贡献者。

编写有用的文档

易于使用的文档 - 这反过来使您的软件易于使用 - 将扩大您的用户群。随着时间的推移,您的用户群将成为您的开源项目的贡献者。 因为你会考虑你正在创建的代码,甚至可以记下笔记,很容易在开发过程中结合文档编写。你甚至可能想考虑在代码之前编写文档,遵循文档驱动的开发方法的哲学,它首先记录特性,并在写出它们将要做的事情后开发这些特性。 与您的代码一起,有一些文件的文件,你想保留在顶级目录: 您的文档可以采用多种形式,因此您可能需要考虑您预期的用户群和项目范围。文档可以有多种形式,可以针对不同的受众。作为文档的一部分,根据您的工作范围,您可以决定执行以下一项或多项操作:
  • 一般指导 用户引入项目
  • 教程 通过不同的使用情况走路的人
  • 常见问题 解决常见问题的用户可能会有
  • 故障排除指南 ,以帮助用户解决问题
  • API参考 ,以向用户提供一个快速的方法来查找信息的API
  • 发行说明 已知的bug,让用户了解每个版本期待什么
  • 计划中的功能 来跟踪并解释什么是未来来了
  • 视频演练 ,为用户提供多媒体的方法了解软件
您的项目可能比其他文档更适合某些类型的文档,但提供多种方法的软件将帮助您的用户更好地了解如何与您的工作进行交互。 在撰写文档或录制视频的语音时,尽可能清楚地显示重要信息。最好不要假设观众的技术能力。您还需要从上到下解释文档 - 也就是说,在详细介绍之前,先解释一下软件在一般方面的工作(例如,自动化服务器任务,构建网站,制作游戏开发的动画片)。 虽然英语已经成为技术领域的通用语言,但你仍然需要考虑你的预期用户是谁,以及如何接触他们。英语可能是访问广泛用户群的最佳选择,但是您需要记住,许多人将您的文档作为非母语的用户,所以工作倾向于直接的语言,不会混淆您的读者或观众。 尝试写文档,就像你正在写给一个需要提高速度的当前项目的协作者;毕竟,你想鼓励潜在的贡献者向项目提出请求。

组织问题

问题通常是跟踪或报告错误,或请求被添加到代码库的新功能的一种方式。像GitHub,GitLab和Bitbucket这样的开源存储库托管服务将有一些方法来跟踪您创建的问题,以及用户在您的存储库中提出问题。当向公众发布开源代码时,您应该预期会有用户社区打开的问题。组织和确定问题的优先顺序将为您提供一份有关您的项目即将开展工作的良好路线图。 因为任何用户都可以提出问题,并非所有问题都会报告错误或功能请求;您可能会通过问题跟踪器工具收到问题,或者您可能会收到对用户界面的小增强功能的请求,例如。最好尽可能地组织这些问题,并与创建这些问题的用户交流。 问题应该代表需要对源代码执行的具体任务,您需要相应地确定它们的优先级。您和您的团队将了解您或贡献者可以投入提出问题的时间和精力,并且您可以共同协作做出决策并制定可操作的计划。如果您知道自己无法在短时间内处理特定问题,您仍然可以针对该问题发表评论,让用户知道您已阅读该问题,并且您可以尽快处理,如果你能够,你可以提供一个预期的时间,当你可以再次看到的问题。 对于功能请求或增强功能的问题,您可以询问提出问题的人员是否能够自己贡献代码。你可以引导他们到 CONTRIBUTORS.md文件及任何其他相关文件。 由于问题通常不代表具体的任务,所以评论这个问题以礼貌地引导用户到相关文档可能是一个不错的选择,保持你的互动专业和善良。如果此问题的文档不存在,现在是添加相关文档的好时机,并表示感谢用户识别此监督。如果您通过问题收到很多问题,您可以考虑为您的文档创建一个常见问题解答部分,或者为其他人参与问答的wiki或论坛。 每当用户报告问题,尽量做到同样亲切。问题是用户喜欢你的软件的指标,并希望使它更好! 尽可能最好地组织问题,将使您的项目保持最新,并与其用户群体相关。删除项目范围之外的问题或变得过时,并优先考虑其他问题,以便您能够持续进展。

贡献奖励

您欢迎对您的项目的贡献者和奖励他们的努力,您更可能鼓励更多的捐款。为了让人们开始,你要包括 CONTRIBUTING.md在你的仓库的顶层文件,并在一个指向该文件 README.md文件。 一个良好的文件将贡献将概述如何开始作为开发人员的项目工作。您可能需要提供分步指南,或提供一个清单供开发人员参考,解释如何通过拉取请求成功将代码合并到项目中。 除了关于如何为项目做出贡献的文档,不要忘记保持代码一致和可读性。通过评论和清晰一致的使用方式易于理解的代码将大大有助于贡献者感觉他们可以参与项目。 最后,你应该保留一个贡献者或作者的列表。您可以邀请参与者将自己添加到列表,无论他们的贡献(即使修复拼写错误是有价值的,并可以导致在未来的更多的贡献)。这提供了一种方式来认可贡献者为他们在项目上的工作,他们可以指向的公众面对的方式,同时也让其他人知道贡献者的待遇。

构建您的社区

通过文档授权,响应问题并鼓励他们参与,您已经在开发您的开源项目周围的社区。您保持快乐的用户和您作为协作者的用户将反过来宣传您的软件。 此外,您还可以通过以下各种途径来宣传您的项目:
  • 写博客
  • 发布概述或演练视频
  • 维护邮件列表
  • 在社交媒体渠道上活跃
  • 与类似或相关项目合作,交叉推广
您需要根据您的项目范围和您与您合作的活跃团队成员和贡献者的数量来调整您的宣传活动。 随着您的社区发展,您可以为贡献者,用户和维护者提供更多空间进行互动。您可能会考虑的一些选项包括:
  • Wiki可以提供在社区级维护的文档
  • 讨论可能的功能和回答问题的论坛
  • 用于基于电子邮件的社区参与的列表服务器
在推出这些潜在空间之前,考虑您的核心用户群和项目范围(包括维护项目和可用资源的人数),并从社区获取有关适用于他们的反馈。 首先,重要的是要善良,并在与您的社区的所有互动中展示。作为一个亲切的维护者并不总是容易,但它会偿还您的项目下线。

结论

作为存储库的维护者是更大的开源社区中的重要角色。虽然它需要大量的投资和艰苦的工作,但它通常是一个有益的经验,让你作为一个开发者和贡献者成长。作为一个平易近人和善良的维护者,可以大大促进您关心的项目的发展。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏