放弃软件的代码是否曾经正确死亡?


10

我的印象是,随着时间的推移,将生成越来越多的开源代码,并将其添加到各种免费或部分免费的存储库中,然后通常被废弃。

是否有任何公认的废弃代码处理标准?这应该由存储库强制执行,还是由原始代码作者来决定?


2
为什么需要将其处置?如果它是开源的,那么有人可能会在某个时候想要它,并且将它保存在存储库中并不需要花费太多。
David Thornley,

您所说的“废弃代码处理标准”是什么意思?“ del ”?
Rook

@Rook:对于Unix / Linux用户,则为“ rm -rf *”。
David Thornley

@David Thornley-是的,嗯...你明白了:)
Rook

Answers:


7

这里最大的问题是确定何时丢弃某些东西。

拥有旧机器或具有保守升级策略的人(例如银行)使用软件,因此每年可能被下载10次的文件对于许多从未升级过的人仍然有用。如果他们需要重新安装,他们应该可以保留与他们的系统兼容的旧版本。

过时的软件(通过升级或替代产品替代)也可能对很多人有用。见证90年代的浏览器错误,即使面对安全补丁,也将导致不升级策略,因为其他软件依赖特定版本的错误。

因此,我要说不,只是因为没有可靠的方法来确定该软件是否仍在使用中。缺乏证据并不意味着缺乏证据:)


+1为最后一句话。您永远无法确定谁依赖该软件,这就是为什么Microsoft在向后兼容性方面几乎无限地优先。
Michael

1

对于存放无效代码的存储库,这是一个维护问题。即使没有流量到这些项目,它们也会消耗资源。提供者有两种选择:摆脱它或无限期保留它。诸如SourceForge之类的某些地方选择保留项目,直到所有者手动删除它们为止。即使那样,他们仍然有档案。

我看到的摆脱旧的库的最佳方法不再是新的,该方法是:

  • 弃用该库-将其放入等效于“阁楼”的软件中。这意味着您将通知消息发送到已知的电子邮件通讯组列表,然后关闭这些列表。“阁楼”是仅HTTP访问的位置,因此任何感兴趣的用户都可以选择下载副本。这些页面都将具有“不赞成使用的”免责声明,并且如果项目的语言支持,则API都将标记为@不赞成使用。
  • 在阁楼中指定的时间段后(根据政策,至少一个月或可能一年),请完全删除该库。
  • 删除对您网站上库的所有引用。

通常,已失效的项目之所以死亡,是因为周围没有社区,没有维护者,没有足够在意用户电子邮件发行版中的用户,没有电子邮件发行版上的活动等。最终的电子邮件爆炸将获得任何被动用户(那些正在使用这些东西但没有以任何方式做出贡献的人)获得他们将要获得的最终机会。它还告诉他们,他们必须从项目中迁移或自行维护它。


1

您可能还会问有关文学或音乐的相同问题。肯定有很多您不知道的80年代编写的“真正被遗弃”的旧软件,因为没人会再使用或考虑它了。但是没有权威机构可以处理它,因为它都是分散的。那只是网络的本质。衡量一个软件是否成功的唯一真实的衡量标准是,还有多少人仍然找到继续使用该软件的令人信服的理由。当支持者用完时,它自然死亡。

同样,我们倾向于将每一个18世纪的作曲家视为莫扎特,而将每一个16世纪的剧作家视为莎士比亚。urge鱼定律规定,现在和之后的所有事物中90%是废话,但是您对现在存在的废话更加熟悉,因为它没有足够的时间经历完全的用户衰退。

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.