Questions tagged «software-patches»


4
升级时无法修补开源软件吗?
最近,我在集成到应用程序中的开源软件包中遇到了一个令人讨厌的(已确认)错误。根据公共问题跟踪工具,此错误已在该软件的最新版本中得到解决。 有时您需要该错误修复程序来避免对特定模块进行昂贵的重构,但是由于技术和/或政治原因,您将无法升级到最新版本。 在检查所做的代码更改时,此修复程序似乎很简单,我认为可行的选择是自己修补代码并重新编译我当前批准的软件版本,但是批评者希望证明这种情况几乎总是一个坏主意。这是有风险的,并且会带来麻烦的复杂性。 在他们眼中,因为此代码更改仅由我们完成,仅供我们使用,所以它必须是代码库的一部分,这意味着,与其将开源软件作为第三方依赖项引入,我们还必须将其作为一个新项目引入并纳入将其自动构建到我们的构建过程中。 对我来说,我认为这是错误的做法,因为我们会将他们的代码从其源代码控制存储库中提取到我们的代码中,并且在此之前发生的任何代码更改背后,我们都失去了历史。同样,对于需要进行如此小的代码更改而言,这似乎太复杂了。 在这种情况下执行上述操作会不好吗?如果是这样,那么当开源需要改变但仅出于内部利益而改变时,理想的情况是什么?

6
谁负责修复漏洞?
开源项目中出现过几次这样的情况: 我注意到我们的部署中存在一个错误,并找出了一个快速的补丁程序。(例如,仅注释掉我们实际上不需要的代码。) 我花了一些额外的精力来找出真正的错误,提出一个补丁,然后通过Git pull请求或类似的方式提交它。 我的拉取请求被拒绝。补丁可能是不完善的(例如,本来不应该包含的行),也许违反了编码风格,也许还有其他影响。也许我在Git中做错了-拉取请求应该已经重新设置了基础。维护人员提供有关如何改进补丁程序的反馈,并要求我重新提交它。 在这一点上,我对应该走多远感到困惑。就我而言,我没有问题:我已在步骤1中修复了该问题。我已经报告了该问题,甚至还采取了措施将其修复。但是我不认为这是“我的”请求请求,因此我不认为应该负责改善补丁。 让我烦恼的一种特殊情况是,在讨论了我的补丁程序的失败之后,我们在邮件列表中就正确的补丁程序达成了共识(即,它的行为方式,有时包括每行阐明的代码)。然后,我仍然有责任实际生成并提交补丁。 在这些情况下是否有标准礼节?他们如何解决?我的反应异常吗?您需要多长时间才能接受错误修复? (请注意,当我说“开放源代码项目”时,其中一些很小,但可能不是业余爱好-只是几个组织使用的小型软件项目,这些组织将开发人员的资源投入到他们的工作中。是“修复补丁并重新提交”,请理解我对雇主有​​责任从事对他们有利的工作。花时间修复不影响我们的错误是错误的……)
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.