language agnostic -如何将代码贡献回开源项目?

Translate

如果您正在关注一个开源项目,并且想贡献代码更改,那么您需要做什么?

This question and all comments follow the "Attribution Required."

所有的回答

Translate

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

同时观看此Google技术话题如何保护您的开源项目免受有毒人士的侵害。它会教你不要做什么。

来源
Translate

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

我在几个开源项目中,有很多人有很好的意愿来提供帮助,但是他们却从不实际做任何事情,因此,如果您使用有效的代码,就会被认为具有更大的价值。

来源
Translate

正如以前的海报所说,这是项目的事。您会发现其中一些比其他人更容易改变。从机械角度来看,您将需要查看它们是否使用SVN(例如在Google代码上)或CVS(例如在sourceforge上),并确定它们是否使用补丁程序或其他方法。

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

来源
Translate

作为几个开放源代码项目的创建者,我的另一面是试图寻求贡献者。这就是我要说的:

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

这样的事情曾经很简单。

有一个供用户使用的邮件列表,一个供开发人员使用的邮件列表。如果您发现问题并可以解决,请修复该问题,然后运行Larry Wall的补丁并将生成的补丁发送给开发者列表,并简要说明其功能。通常,具有对CVS的写访问权限的开发人员(或在项目驻留于其软盘中的真实年代;))会检查所有内容,以及您的补丁是否如其所愿,并且不会破坏其他内容源树本身。

如今,有许多使用开放式开发的项目,并且其中许多都是由从未运行过软件项目的人运行的,更不用说开源了,因此事情变得更加棘手。通常,将补丁程序邮寄给在项目的正确区域进行大量开发工作的人,即使在今天,也可以让正确的眼睛快速查看它。浏览在线存储库将告诉您从事这项工作的人员,而不是告诉那些在网站首页上获得姓名的人员,请首先与这些人员联系:)

来源
Translate

还有两件事要牢记:

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

  • 研究是否存在开发人员希望贡献者通过的知识产权分配过程。如今,许多开放源代码项目都具有这种分配,因此,项目本身和/或其赞助者可以拥有项目代码的所有权利。

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

来源
Translate

如果您正在寻找更小规模参与的方式(可能会逐步提高)OpenHatch有一个可搜索的错误数据库(按语言/框架分类),以及很好的入门指南。

另一种启动方式是CodeTriage该库有GitHub存储库,可帮助您解决还按语言组织的未解决问题。

来源
Translate

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

简单地编写改进的代码,然后将其提供给他们,可能会导致您的代码被拒绝。

来源
Translate

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

来源
Translate

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

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

来源