Open source 如何报告开源应用程序中的错误?

Open source 如何报告开源应用程序中的错误?,open-source,Open Source,如果我认为我在一个开源应用程序中发现了一个bug呢?我可以采取哪些步骤,为程序员提供尽可能多的有用信息?我如何才能最好地报告,避免让程序员感到恼火 补充:正如这里的一些人所说,操作系统程序员会喜欢这个报告:有些项目对bug报告非常挑剔。他们说它们是非bug的,或者它是不可复制的,或者它的行为方式是有意的或者类似的。一些对bug报告的批评可能是合理的,但通常不是。我想对bug报告进行“优化”,以便从中获得最佳反馈(最好是修复)。a.他们很乐意听到你的意见,这并不烦人 B.准确描述如何重现错误、哪些

如果我认为我在一个开源应用程序中发现了一个bug呢?我可以采取哪些步骤,为程序员提供尽可能多的有用信息?我如何才能最好地报告,避免让程序员感到恼火


补充:正如这里的一些人所说,操作系统程序员会喜欢这个报告:有些项目对bug报告非常挑剔。他们说它们是非bug的,或者它是不可复制的,或者它的行为方式是有意的或者类似的。一些对bug报告的批评可能是合理的,但通常不是。我想对bug报告进行“优化”,以便从中获得最佳反馈(最好是修复)。

a.他们很乐意听到你的意见,这并不烦人

B.准确描述如何重现错误、哪些步骤、哪些操作系统以及系统上运行的其他内容


C.查看开源项目的网站-它可能有一个提交此类信息的地址。

查找应用程序的网站。那里通常有关于bug报告过程的信息,以及已经提交的bug(这样您就不会提交重复的bug)。当我试图追踪/修复一个bug时,我总是希望得到错误消息、屏幕截图和复制步骤。

作为一名自由和开放源码软件开发人员,我希望从提交bug报告的人那里获得的最少信息是:

  • 软件版本
  • 平台
  • 错误的简要描述
  • 您认为正确的示例输入
  • 您认为不正确的示例输出(以及您为什么这样认为)
确切地说,你提供信息的方式会因应用程序的不同而有很大差异。在发布bug之前,您应该先查看一下支持新闻组或邮件列表,了解如何处理此类问题

编辑:如果错误是不可复制的或预期的行为,我认为无论您如何优化报告,您都不会得到修复。但是如果你确信这是一个bug,你总是可以选择自己修复它。

查找bug系统(例如,对于firefox)。如果你在主页或谷歌上找不到任何链接,你可能必须使用其中一个项目邮件列表或论坛。随便找一找,找到最合适的

一旦你找到了应该报告错误的地方,做一个搜索看看你的错误是否已经被报告了。如果有,看看是否有什么你可以添加,这将是有益的(我也是!评论没有帮助,额外的信息是非常有用的)


当谈到报告内容时,首先列出您的环境(操作系统、您使用的版本、从何处获得的版本等)描述错误(发生了什么错误),并给出如何重现错误的详细步骤。首先,进入项目页面,查看有关如何报告错误的信息。他们可能有更喜欢的方法

大多数项目都有邮件列表。他们中的大多数都有一个用户和一个开发者的邮件列表。首先搜索列表,看看您发现的bug是否已经被讨论过。也许这不是一个bug,产品根本不支持您尝试做的事情

如果您已经在代码中挖掘并找到了错误的原因(可能还有修复),请订阅开发人员列表并发布一条描述问题的消息。包括问题的完整描述、您使用的版本(以及其他软件的版本,如果需要,例如:Web服务器、操作系统等)、测试用例、您在代码中找到的内容以及您制作的修补程序。如果是一个bug,他们会告诉你在他们的bug跟踪软件中报告(bugzilla、mantis、redmine、track等)

如果在代码中找不到任何内容,请订阅user列表并发布您的问题

避免说“请,我真的需要修理,否则我……”。开源开发者不是你的雇员。如果你想修东西,你可以自己修。避免对软件发出最后通牒和咆哮


如果这个bug已经被报告了,你唯一能做的就是观察它或者投票支持它。避免添加诸如“我也是!”或“我们需要修复此问题!”或“为什么此问题仍未修复?!”之类的评论。这很烦人。

关于报告bug的一般建议(提供什么信息等),我推荐Simon Tatham的论文:

您还可以包括您认为正确的输出。你还应该努力包含关于复制错误的说明,尽可能简化。一个程序如果不能按你所希望的方式工作,就不一定是一个错误。它可能是预期行为或不可避免的行为(如浮点精度问题)。尽可能包含重现错误的说明,以便报告阅读器可以判断它是否是错误,而不仅仅是系统上的一些随机故障。