Open source 如何让人们在我的开源项目上进行协作?
不久前,我启动了一个开源项目,这对我来说意味着(直到现在)我只是将我的源代码推送到一个公共存储库(Mercurial on Google code)。不过,最近我收到了其他人的请求,要求我在我的项目上进行合作。我以前从未在开源项目上合作过,我不知道如何继续:Open source 如何让人们在我的开源项目上进行协作?,open-source,collaboration,Open Source,Collaboration,不久前,我启动了一个开源项目,这对我来说意味着(直到现在)我只是将我的源代码推送到一个公共存储库(Mercurial on Google code)。不过,最近我收到了其他人的请求,要求我在我的项目上进行合作。我以前从未在开源项目上合作过,我不知道如何继续: 我是否只给他们访问存储库的权限,以便他们可以推动更改?如果他们推我不喜欢的东西,我可以随时回滚,如果他们惹我生气,我可以随时撤销他们对存储库的访问 我是否告诉他们发送补丁(通过问题跟踪程序),然后应用我喜欢的补丁,撤销我不喜欢的补丁 现
- 我是否只给他们访问存储库的权限,以便他们可以推动更改?如果他们推我不喜欢的东西,我可以随时回滚,如果他们惹我生气,我可以随时撤销他们对存储库的访问
- 我是否告诉他们发送补丁(通过问题跟踪程序),然后应用我喜欢的补丁,撤销我不喜欢的补丁
- 我不想失去我项目的所有权。这是一个很好的项目,也是很好的简历材料。我想这是我最害怕的。然而,我想给予我的合作者适当的信任
- 我知道这就是开源的全部意义:协作,所以我不想成为一个白痴,对那些想要帮助的人说不
- 最近我没有太多的时间来编写我的项目,所以它可能需要一些帮助
这通常是如何做到的?有不同程度的贡献 从每个人的补丁开始。你不必全部接受它们——如果拒绝一个补丁,请解释它被拒绝的原因以及可以做些什么来改进它 对于已接受的修补程序,请清理它们(并将清理记录在编码样式指南中) 然后,提供最多最好补丁的人可以直接访问存储库并开始自己接受补丁
在这一点上,接受这样一个事实,即项目不再只是你的,尽管你可能想继续并领导它。做OSS的方式和做项目的方式一样多。到目前为止,以下指导原则对我有效。YMMV
这里值得一提的是,其他开发人员希望为您的项目做出贡献,因为他们需要根据自己的需要对项目进行一些更改/修改/升级。如果他们没有将更改提交到您的项目中,他们将无法轻松迁移到下一个版本。 这些开发者不想让你分享信用或任何东西。他们只希望提交他们的修改/升级
开发人员投入的越多,项目能够长期存在的可能性就越高。这是你的功劳 很好的观点,特别是最后一点。谢谢,这就是我要做的。我已通过电子邮件向希望贡献的人发送了电子邮件,告诉他们欢迎使用修补程序。要在授予中级贡献者写访问权之前测试他们,请让他们设置一个远程跟踪分支,您可以从中提取。当涉及到贡献时,它比补丁更容易/更快,并且它将有助于在他们访问远程主机之前建立良好的源代码管理工作流。