发起你自己的开源项目
即使你没有很好的时间来开源你的工作。你也可以开源一个想法,正在进行中的工作,或是关闭了多年的源码。
一般来说,如果你乐意于他人对你工作的查看和反馈,你就应该开源你的项目。
无论您决定开展项目的哪个阶段,每个项目都应包括以下文档:
作为维护者,这些组件将帮助你交流你的期望,管理贡献并保护每个人的合法权益(也包括您自己的)。他们能够大大增加你积极体验的机会。
如果您的项目在 GitHub 上,则将这些文件放在您的根目录中,并使用推荐的文件名将有助于 GitHub 识别并自动将其显示给读者。
选择一个许可证 (license)
开源许可证保证其他人可以使用,复制,修改和贡献给您的项目,而不会产生不良后果。 它也可以保护您免受繁琐的法律影响。启动开源项目时,请务必包含许可证。
法律工作是非常无趣的。但好消息是,您可以将现有许可证复制并粘贴到存储库中。只需要花这么一点时间,就能保护你的辛苦工作。
MIT , Apache 2.0 , 和 GPLv3 都是非常流行的开源许可证, 但你可以选择其他选项 .
当你在GitHub上创建新项目时,你可以选择许可证。包括开源许可证将使你的GitHub项目成为开源。
如果您在管理开放源码项目的法律方面有其他问题或疑虑,我们已经在这里 介绍了。
撰写自述文件
自述文件不仅仅是用于说明如何使用你的项目。他们还可以解释你的项目为什么重要,以及它可以为你的用户做什么。
在您的自述文件中,尝试回答以下问题:
- 这个项目做什么?
- 为什么这个项目有用?
- 如何开始?
- 如果需要,我可以在哪里获得更多的帮助?
您可以使用自己的 README 回答其他问题,例如处理贡献,项目的目标以及许可证和归属信息。 如果您不想接受他人的贡献,或者您的项目尚未准备好作为产品提供使用,请将这些信息写下来。
更好的文档意味着更多的用户,更少的求助和更多的贡献者,等等。要记住你的读者不是你自己。来到项目中的每个人可能有着截然不同的经历。
— @tracymakes , “这样写给他人看(视频)”
有时,人们会因为觉得项目未完成而不愿意撰写 README,或者他们不希望做出贡献。这些都是写一个 README 的很好的理由。
想要获得更多灵感,请尝试使用 @18F 的 “让 README 可读” 或者 @PurpleBooth 的 README 模板 来撰写一个完整的 README。
当你在根目录中包含一个 README 文件时,GitHub 会自动将其显示在存储库的主页上。
编写你的贡献指南
贡献文件 (CONTRIBUTING file) 告诉你的受众如何参与你的项目. 例如,你可以包括一下信息:
- 如何提交错误报告(尝试使用issue 和 pull request 模板 )
- 如何建议一个新功能
- 如何配置你的环境和运行测试
除了技术细节, 贡献文件也是一个供你传达对贡献期待的机会, 例如:
- 你在寻求的贡献类型
- 你项目的路线图或者版本
- 贡献者应该(或者不应该)如何与你取得联系
使用热情友好的语气并提供具体的贡献建议(例如编写文档或者搭建网站)可以大大提高新人的参与度。
例如,Active Admin 以这样的方式开始它的贡献指南 :
首先, 非常感谢你考虑为 Active Admin 贡献帮助。正是你这样的人使 Active Admin 成为一个很棒的工具。
在你项目开始的初期,你的贡献文件可以很简单。你应该经常解释如何提交错误和文件问题,以及关于如何作出贡献的技术问题(例如测试)。
随着时间的推移,你可以将其他常见问题添加到贡献文件中去。写下这些信息意味着问你相同问题的人会越来越少。
想要获得更多有关编写贡献文件的方式,请查阅 @nayafia 的 贡献指南模板 或者 @mozilla 的 “如何构建 CONTRIBUTION.md” 。
在你的 README 中链接你的 CONTRIBUTING,这样更多人就能看到他。如果你在你的项目中放入了 CONTRIBUTING 文件 ,当一个贡献者创建 issue 或者开启一个 pull request 时,GitHub 会自动链接你的文件。
建立行为规范
我们都有过这样的关于重复劳动的经验,无论是维护者试着解释为什么某些事物必须通过某种明确的方式执行,或者是用户…提出一个简单的问题。行为规范成为一个便利的参考和可链接的文档标明你的团队会认真对待具有建设性的讨论。
最后,行为准则有助于为项目参与者的行为设定基本规则。这在你为社区或者项目推出一个开源项目的时候尤为有价值。一份行为帮助你促进健康,有建设性的社区行为,这也会减轻你作为维护者的压力。
更多信息,请参见 行为规范指导 。
除了传达你期待参与者如何行动,行为规范也倾向于描述这些期待针对谁,适用于何时,以及对于违规行为的处理方法。
就像开源许可证一样,有现成的行为规范,所以你不必自己编写。贡献者公约 是一个行之有效的行为规范,已经被用在超过4000个开源项目 ,包括 Kubernetes,Rails,以及 Swift。无论你使用哪一种,你都应该准备好在必要时执行行为规范。
将文本直接粘贴到项目存储库中的 CODE_OF_CONDUCT 文件中。将文件保存在项目的根目录中,以便轻松找到,并从 README 中链接到它。