语义版本控制 - 向后兼容性和版本 0.x.y
Posted
技术标签:
【中文标题】语义版本控制 - 向后兼容性和版本 0.x.y【英文标题】:Semantic Versioning - Backward compatibility and version 0.x.y 【发布时间】:2020-05-25 11:31:24 【问题描述】:这里是关于IBM mainframes的摘录:
IBM Z 系列保持完全的向后兼容性。这意味着当前系统是 1964 年宣布的 System/360 和 1970 年代 System/370 的直接、直系后代。为这些系统编写的许多应用程序仍然可以在 50 多年后在最新的 IBM Z 系统上运行而无需修改!
我确信,关于向后兼容性的声明,会有免责声明、“如果”、“但是”。但是,为了争论,如果 IBM Z 支持语义版本控制,它会超越0.y.z
吗?因此,如果发布了主要功能并且完整版本仍然向后兼容,是否可以增加主要整数?
【问题讨论】:
【参考方案1】:我确信,关于向后兼容性的声明,会有免责声明、“如果”、“但是”。但是,为了争论,如果 IBM Z 支持语义版本控制,它会超越 0.y.z 吗?
是的,但他们为什么要这样做?他们自己的宣传声称向后兼容,0.y.z
形式明确地没有这样的声称。来自SemVer 2.0.0:
[4](https://semver.org/#spec-item-4) Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
不完全是 IBM 正在传达的信息。
...如果发布了主要功能并且完整版本仍然向后兼容,是否可以增加主要整数?
是的。规范中没有任何内容表明您不能出于任何任意原因修改主要版本。规范说,如果您做出重大更改,则必须修改它,而不是只能因为这个原因而修改它。
我要补充一点,Z 机器自 60 年代以来就没有出现过。 IBM 声称它与过去制造的其他机器向后兼容。说到跨不同产品的语义版本历史,真的没有任何意义。他们真正想说的是,这些早期产品中的每一个都有一个接口(机器语言),今天的 Z 机器能够执行。
【讨论】:
以上是关于语义版本控制 - 向后兼容性和版本 0.x.y的主要内容,如果未能解决你的问题,请参考以下文章