关于语言不可知:如何将代码贡献回开源项目?

关于语言不可知:如何将代码贡献回开源项目?

How to contribute code back to an Open Source project?

如果您正在关注开源项目并希望提供代码更改,那么您需要做什么?


我会花时间先了解这些人。通常他们有一个IRC聊天室,每个人都闲着。花一些时间去了解人,研究代码,查看文档,然后如果你觉得自己适合项目,那么就开始为bug补丁做贡献。首先不要尝试添加新功能。他们通常不会被接受。

还要观看谷歌技术谈论如何保护您的开源项目免受有毒人群的影响。它会教你不该做什么。


这样做的最好方法是自我介绍"嗨,这是一个错误/功能,这里是修补/实现它的补丁。"

我参与了几个开源项目,很多人都有最好的帮助,但从来没有真正做过任何事情,所以如果你出现工作代码,你会被认为更有价值。


作为几个开源项目的创建者,我正处于事物的另一面,我正在努力争取贡献者。这就是我要说的:

  • 以适合该项目的方式宣布自己:电子邮件,邮件列表,论坛等
  • 看看你的想法是否已经在实施中。如果是这样,也许可以尝试帮助而不是重复努力。
  • 找出提交代码的首选方式
  • 请务必遵循项目中使用的编码样式。 (如果您决定将所有选项卡转换为空格,则它们将无法轻松地将您的更改合并到其版本控制系统中,并且很可能会忽略您的提交。)

正如之前的海报所说,这是项目的问题。你会发现有些人比其他人更容易改变。从机械角度来看,您需要查看他们是否使用SVN(例如在谷歌代码上)或CVS(例如在sourceforge上)并确定他们是否使用补丁或其他方法。

您可能需要使用的程序的一个很好的例子可以在gimp网站上看到:http://www.gimp.org/bugs/howtos/submit-patch.html
注意他们使用Bugzilla,补丁和CVS


如果您正在寻找更小规模的参与方式(也许是为了提升自己的方式),OpenHatch有一个可搜索的错误数据库(按语言/框架排序)以及一个很好的入门教程。

另一种开始的方式是CodeTriage,它有GitHub repos寻找帮助修复也是由语言组织的开放问题。


还有其他一些要记住的事情:

  • 确保您实际拥有您想要回馈的代码,而不是您的雇主或您进行修改的客户。如果您有可能出现这种情况,请查看您的雇佣协议或服务协议。

  • 调查是否存在开发人员更喜欢贡献者的知识产权分配流程。目前,许多开源项目都有这样的任务,因此项目中代码的所有权利都可以由项目本身和/或其赞助商拥有。

当涉及到保护自己,项目以及任何想要在下游项目中使用或构建与您编写的代码相关的声明时,这两者都很重要。


这样的事情过去很简单。

有一个用户的邮件列表和一个开发人员的邮件列表。如果您发现问题并且可以修复它并修复它,然后运行Larry Wall的补丁并将生成的补丁发送到开发人员列表,并快速解释它的作用。一般来说,对CVS具有写入权限的开发人员(或者在过去的软件项目所在的真实日子里))会检查事情,如果你的补丁完成了它在锡上所说的内容,并且没有破坏它进入的任何其他东西源树本身。

现在有很多很多项目都在使用开放式开发,很多项目都是由那些从未运行过软件项目的人运行,更不用说开源项目了,所以事情可能会更棘手。通常将补丁发送给在项目的正确区域中做很多开发的人,即使在今天也能快速地看到它。浏览在线存储库会告诉你做这项工作的人而不是那些在网站首页上得到他们名字的人,先联系那些人:)


您应该做的第一件事是联系运行开源项目的主要人员。询问他们是否可以为代码做出贡献并从那里开始。

只需编写改进的代码然后将其提供给它们可能会导致代码被拒绝。


在IRC中聊天或浏览新闻组(如果有的话)。让自己知道。在您获得自己提交的帐户之前,您可能需要向新闻组提交补丁。

熟悉编码标准,补丁类型(例如统一差异)并检查其CVS或SVN的副本(如果它们允许匿名访问)。


这取决于项目,托管的方式和位置。最好的方法是找到联系人并通过电子邮件发送或查看是否有开发者邮件列表。


推荐阅读