为什么某些大型项目(例如Git和Debian)仅使用邮件列表而不使用问题跟踪器?


65

对于任何规模合适的项目,Bug跟踪器对我来说似乎都不是一件容易的事-它使组织数百或数千个问题变得非常容易,而不会发生问题冲突或混淆的情况。

因此,当我看到一些非常大的项目(例如Git)使用邮件列表作为协调维护和开发的主要方法时,我就有些震惊。例子:

  • Git-社区页面:

    ...错误报告应发送到此邮件列表。

  • Debian错误跟踪系统,根据Wikipedia:

    ...它的独特功能是它没有任何形式的Web界面来编辑错误报告-所有修改都是通过电子邮件完成的。

许多现代的错误跟踪器与电子邮件(可以接收有关正在查看的错误或已分配给您的错误的评论或通知)以及版本控制系统(可以将提交标记为解决问题等)都具有很好的集成性。 )。其中大部分必须通过邮件列表手动完成,并且您会收到大量关于不感兴趣的错误的电子邮件。

那么,与基于Web的错误跟踪器相比,邮件列表的主要优点是什么?为什么某些大型项目仅使用邮件列表?


2
是的,不,我同意您的意见,Git使用邮件列表:)我的意思是,您将其与“一些非常大的项目”结合在一起,而我只是在想,如果您这样做,您应该付出更多那些真正大项目的例子。否则问题归结为“ Git使用邮件列表,那是为什么?” 在这种情况下
JörgW

1
嗯,我的印象是还有更多……Debian使用基于邮件的系统,尽管比邮件列表更复杂。好的,但是要点是“使用邮件列表而不是错误跟踪器有什么好处?” 除非答案是“什么都没有,否则git开发人员只是轻浮”。
naught101 2013年

@ naught101:为什么看到后会被吓到?无需安装任何远程根漏洞补丁程序,也不需要六个月的重新启动操作,即可安装和使用Debian stable。那是针对不稳定版本的Debian的。我已经将Debian服务器锁定了,这些服务器的正常运行时间达到了4位数天(没有一个远程根漏洞利用程序需要重启才能影响我的设置)。这些家伙可能没有使用最新的技术潮流,但显然他们做的很好。我会为Debian稳定性而随时放弃网络错误跟踪器。
Cedric Martin

2
@CedricMartin:我知道,我同意。邮件列表错误跟踪对于某些团队来说显然可以正常工作,但是对我来说,这似乎还不如错误跟踪器那么容易。但是我一直在思考,对于核心项目开发人员而言,差异似乎很小:他们几乎遵循所有正在进行的工作。但是对于新来者来说,发送邮件列表几乎是不可能的,因此不能简单地概述项目的适用性。通过错误跟踪器,新用户/开发人员可以快速确定项目的运行方式,并了解核心团队认为哪种改进很重要。
naught101 2013年

Greg Kroah-Hartman对此进行了探讨,因为它与Linux内核有关,是本次讨论的一部分。特别是:“有办法GitHub的/格里特/ gitorious模型将在所有的工作为核心,在我们工作的规模是一个完全不同的水平比可以通过这些工具来处理......实在没有其他。已知的方法是每2个月以稳定的版本发行10,000个补丁,并经过同行评审,与3000多名开发人员进行合作,这不是我们今天要做的事情。”
naught101

Answers:


45

您观察到的偏好看起来像是GNU编码标准中明确规定的推荐的自然结果。建议您通过电子邮件报告错误,如您在下面的引言中所见(我将加粗的部分直接用于您的观察):

4.7.2 --help

standard --help选项应在标准输出上输出有关如何调用程序的简要文档,然后成功退出。一旦看到其他选项和参数,则应将其忽略,并且程序不应执行其正常功能。

在该‘--help’选项输出的末尾附近,请放置以下行,这些行给出了错误报告的电子邮件地址,软件包的主页(通常是‘http://www.gnu.org/software/pkg’,以及使用GNU程序的常规页面)。格式应如下所示:

    Report bugs to: mailing-address
    pkg home page: <http://www.gnu.org/software/pkg/>
    General help using GNU software: <http://www.gnu.org/gethelp/>

可以提及其他适当的邮件列表和网页。

反过来,上述优先反映了电子邮件被普遍接受为电子通信形式。--help像上面建议的那样,任何阅读消息的用户都应该很容易理解如果发现错误该怎么办-邮寄很容易。

问题跟踪器可能是(我认为)一个开发项目工作的更好,但对于更多的观众也将很难提出并解释如何使用它,尤其是考虑到各种不同的差异问题跟踪系统

一个项目可以使用Bugzilla,另一个项目可以使用JIRA,第三个项目可以使用... GNATS等,依此类推,等等。根本没有办法像标准和统一那样展示所有这些“ zoo”

Report bugs to: mailing-address


上面的注释并不意味着项目不应在内部使用问题跟踪器。正如在对相关问题出色回答中所述

您的错误跟踪器是为了您的方便,而不是客户的。如果您不介意接听他们的电话或电子邮件并亲自输入,您认为他们的感觉如何?

您需要能够输入问题并将其手动分配给客户...


3
好答案!电子邮件比问题跟踪器知名度更高,并且更易于理解(并不是说每个人都“获取”电子邮件:P)
Andres F.

21
同样,GNU的建议是古老的,办法不是Web和基于Web的问题跟踪老。
罗斯·帕特森

@RossPatterson我在想。但是考虑到它包含一堆URL,它似乎不太可能比网络更旧...
naught101 2013年

6
@gnat:链接的答案如此重要的一个主要部分是“如果您觉得方便,则可以在此处输入这种内容”。这是许多开源项目的关键,因为没有电话支持资金。对于我来说,作为错误报告用户,邮件列表是关闭的,因为我不想注册响应。使用错误跟踪器,我可以看到我存在的问题已经存在于系统中,可以稍后再回来搜索它,并查看它是否已更新。对于邮件列表,很难做到这一点,除非有一个非常好的基于Web的列表跟踪器,通常情况并非如此。
naught101 2013年

1
@ naught101它可能不早于Web,但肯定比基于Web的跟踪器
更早

30

特别是对于Git,有一个简单的历史原因:Git由Linux黑客针对Linux黑客启动,并且使用与Linux本身相同的开发模型和工具。但是,Linux比WWW古老,因此,当Linux启动时,根本就没有基于Web的问题跟踪器,因为没有 Web!

结果,Linux社区开发了非常有效的工具和工作流程,用于通过电子邮件处理错误报告和代码审阅,因此当他们启动Git项目时,没有理由将所有这些工作都扔掉并从头开始。


3
我以为WWW早于Linux。略。他们几乎都是同时在不同的人群中完成的。直到90年代中期才真正起飞。
Donal Fellows 2013年

6
好的,但是linux内核现在有一个错误跟踪器:bugzilla.kernel.org。显然,这并不是一个很大的障碍。
naught101 2013年

7
-1 Git比网络严重年轻。Vintage2005。当时有很多问题跟踪器,当然包括Bugzilla。Linus只是不喜欢问题跟踪器,而他的话就是那种环境下的法律。
罗斯·帕特森

6
@RossPatterson-他说Linux比Web古老,而不是Git。我认为您的评论没有道理,因为您基本上重复了他的发言。
Beatgammit

2
@tjameson事后看来,您是对的。回到中立。
Ross Patterson

17

对于Git:

人们在邮件列表上进行了一些讨论,其中有人建议使用某种错误跟踪器。这些举措似乎都失败了,所以Git不使用bug跟踪器的原因可能仅仅是大多数贡献者认为它没有用。

邮件列表帖子中,Junio C Hamano(Git的维护者)总结了为什么他觉得Bug跟踪器不是很有用。我不想包括整个帖子(很长),但是归结为:

  • 如果您仅查找有关已解决问题的信息,则搜索列表存档和搜索错误跟踪器一样有效。
  • 如果您报告的是真正的错误,并且人们希望对其进行处理,则该列表也可以正常工作。
  • 如果没有人对解决问题感兴趣,那么即使是在Bug跟踪器中,问题也会落空。
  • 一个错误跟踪器将是一个需要维护的系统,需要定期检查是否有新错误,已修复已修复的错误等,总之,额外的工作几乎没有好处。

5
好的答案,但是我认为您的第三点是电子邮件的主要缺点:如果难以修复错误并且当前开发人员比较懒惰,那么它比问题跟踪器中的条目要多得多。这可能意味着某些错误永远不会得到修复,仅仅是因为人们不知道他们在那里
TheLQ 2013年

1
@TheLQ:是的。但是,显然这是某些项目愿意承担的风险。公平地说,即使没有bug跟踪器,git也是相当可靠的软件。
sleske

1
@TheLQ:一个简单的网页不能解决所有已知的错误(及其相关线程)吗?与类似只是链接指向存档线程。
世界Hello World

1
@HelloWorld:嗯,那将是一个(简单的)问题跟踪器。就像问题跟踪程序一样,某人将不得不对其进行管理……
sleske

但是,是否有一种很好的方法来获取我不是订户时发送的电子邮件的脱机副本?
PSkocik

6

Debian确实使用了错误跟踪器,它的默认界面是电子邮件。而且很方便。前Debian项目负责人Lucas Nussbaum 在几天前发布

debbugs是Debian Bugs跟踪系统(BTS)背后的软件。GNU项目也使用它。尽管通常被认为是过时的,但是它具有几个独特的功能,例如跟踪每个版本和程序包分支中的错误状态),或者通过电子邮件执行所有交互的功能,使工作变得非常容易脱机或连接不良的环境中。

最后一部分是此处的杀手级功能-只需将这些报告排入本地邮件队列,直到下飞机!


4
  • 禁止9岁儿童入内。
  • 无需为每个论坛创建单独的帐户。
  • [次要]订阅新列表时,跨不同邮件列表的用户体验一致,学习曲线为零。
  • 脱机工作。您可以连接到Internet并下载一批邮件,然后去远足,在享受大自然的同时写下您的回复,然后再发送。
  • 允许通过GPG对邮件进行加密和/或签名。
  • 去中心化-如果论坛崩溃,您仍然可以拥有一个副本,它还可以防止篡改,邪恶的主持人/黑客无法轻易篡改您的发言。没有人可以撤消历史。
  • 允许过滤器,文件夹以及电子邮件客户端的所有高级组织功能。
  • “推送通知”-您可以将您的电子邮件客户端保持打开状态,并获取有关新回复的通知。
  • 一统天下-无需在不同站点之间跳转。
  • 免疫涉及网络的所有安全漏洞(html / javascript / injections等)
  • 没有膨胀-没有徽章,花哨的移动签名,广告,网络信标,JavaScript膨胀。一切都很简单,而且很重要-讨论。
  • 与LAMP设置相比,服务器负担更少。

想到的邮件列表的一个缺点是,论坛可分为多个类别和子类别,而邮件列表则不能。可以通过将邮件列表划分为多个邮件列表来进行模拟,然后用户可以使用适当的过滤器将每个邮件及其对应的文件夹(每个文件夹都是一个类别)放入其中。在网络论坛中,这是自动的。


为什么人们坚持要创建基于Web的版本来跟踪问题(顺便说一句,这个问题并不关乎所有问题)在另一个问题中进行了讨论:让用户编写体面而有用的错误报告 “用户可编辑的在线错误报告是最有效的教学方法用户改善...”
gnat 2014年

谢谢。但这是否证明了反对意见?该答案的主要主题是ML的优点,它可以很好地回答原始问题。我已经删除了“网络论坛”咆哮。
Hello World

2
实际上,此答案中提到的缺点从根本上使我无法使用大多数开发人员邮件列表。它们会传送所有内容,因此在报告错误后,我通常仅在两周后退订。Bugtrackers让我订阅特定的Bug报告很好地解决了这个问题。
罗曼·斯塔科夫

6
校正:保持25岁。直到最近,我才了解到这些邮件列出的内容如何为某些实际项目做出贡献。我讨厌它!
Ciro Santilli新疆改造中心法轮功六四事件

2
“无需为每个论坛创建单独的帐户。” -通常为防止垃圾邮件,您需要注册列表。但这订阅了所有电子邮件。因此,您需要订阅并选择退出“垃圾邮件”并添加请求,以使您处于CC或TO状态。与bugzilla相比,它还有很多工作要做。
Maciej Piechotka
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.