如何将代码贡献回开放源代码项目?

时间:2020-03-05 18:37:44  来源:igfitidea点击:

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

解决方案

回答

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

回答

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

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

回答

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

还可以观看有关如何保护开源项目免受有毒人士的Google技术演讲。它会教你不要做什么。

回答

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

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

回答

这样的事情曾经很简单。

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

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

回答

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

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

回答

还有两件事要牢记:

  • 确保我们确实拥有要回馈的代码,而不是我们为之做出修改的雇主或者客户。如果我们有可能遇到这种情况,请检查雇佣协议或者服务协议。
  • 研究是否存在开发人员希望贡献者通过的知识产权分配过程。如今,许多开放源代码项目都具有这种分配,因此,项目本身和/或者其赞助者可以拥有项目代码的所有权利。

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

回答

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

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

回答

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

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