Bug Status WONTFIX
WONTFIX 的含义
https://bugzilla.suse.com/page.cgi?id=fields.html#resolution
仅用非常简短的术语解释了 WONTFIX
"WONTFIX 描述的问题是一个将永远不会修复的错误。"
这意味着 WONTFIX 承认报告的错误确实是一个有效的错误。但它也表示该错误将不会被修复:不是在不久的将来(那将是 ACCEPTED 状态),也不是在未来的某个版本中(那将是 LATER),永远不会。
这意味着负责该软件的软件部分的人员已经检查了情况并评估了解决问题的可能方法。但该过程的结论是该错误将不会被修复。
当然,这对于花费时间提交错误报告的用户来说是不令人满意的。同意。但也有其他需要考虑的因素。
WONTFIX 的原因
无解决方案
根本没有解决方案。
虽然这种情况很少发生,但可能会发生。通常,这是先前有意识的决定(在软件的设计或实现中)的结果,其中选择了较小的两害。当时所做的权衡被报告为错误,并且该错误被关闭为 WONTFIX。
成本过高
可以修复该问题,但修复的成本(涉及的工作量)将是巨大的。修复将是一场经济噩梦。
这实际上是 Bugzilla 没有提供的 TOOEXPENSIVE 状态。
在理想的世界中,无论成本如何都是过高的。但我们都生活在一个不理想的世界中,因此必须考虑经济因素。这不仅对我们(SUSE/openSUSE)作为发行版制作商(或通常是需要为开发工时付费的公司)很重要,对用户也很重要:由于开发人员和开发工时数量有限,花费在修复此类错误上的工时无法用于开发新内容,甚至无法用于修复其他可能更重要的错误。
修复会增加过多复杂性
可以修复该问题,但修复会使软件更加复杂,从而更难维护,也可能更不稳定。
这部分是上面“成本过高”的重复,部分是用户受益的另一个方面:软件稳定性。您不想为了不太重要的问题而牺牲稳定性。
必须由上游修复
该问题在于软件依赖的另一个软件中,但该软件由其他地方开发和维护。修复必须由上游(该软件的作者)完成。
是的,作为发行版制作商,我们会修复其他地方开发的软件中的一些错误。但这仅限于次要修复。它显然不涉及对上游软件进行重大重写。这些重写将在下一次上游发布时被浪费。
有时我们甚至会这样做,并将补丁发送到上游,希望它能被接受并合并到下一次上游发布中。但这需要上游开发人员非常合作,并且他们没有正在处理另一个与我们的修复不兼容的解决方案。
要求对每个 WONTFIX 案例进行解释!
无论解决错误为 WONTFIX 的原因如何,都应该提供一个报告者可以理解的清晰解释。这是我们对花费时间提交错误报告的人所欠的。这是我们对错误报告者的道德义务。
如果错误被 WONTFIX 且没有这样的解释,请再次要求解释。最佳位置通常是在错误报告中。您不需要为此重新打开错误,但如果未在合理的时间范围内(请允许时区差异)提供解释,您可以并且应该这样做。
WONTFIX 与 LATER
有人提出我们是否根据我们摆脱的错误报告数量获得报酬,因此将错误关闭为 WONTFIX。答案是明确的“否”。这显然也没有意义。
但 Bugzilla 对我们来说是一个重要的工具。因此,在我们解决容易解决的问题之前将其从我们的活动错误列表中删除是有意义的。
这还涉及诚实问题。虽然我们可以积累大量的错误并假装我们会修复它们,但您宁愿我们诚实地说明某个问题在可预见的未来是否有任何修复机会吗?
当然,这种诚实有时可能会很残酷。如果有人有一个“最喜欢的错误”需要修复,听到经过考虑后决定放弃修复,当然会令人失望。
从积极的一面来看,您甚至可能会认为我们正在捍卫我们投入大量生命力的唯一事物:我们的发行版,无论它是商业产品还是社区项目。我们必须经济地思考。如果有一天因为我们在次要问题上不明智地分配了可用的开发工时而停止赚钱,那么发行版就会死亡。那时没有人会从这些次要问题得到解决。
无论您喜欢与否,我们只能将如此多的时间投入到每个版本中。我们必须不断做出决定。其中一些决定可能会导致不太完美的产品,但仍然活跃且不断发展的、定期发布的产品。
有些用户可能不喜欢我们做出的某些决定。这就是生活。您不可能取悦所有人。;-)