有时,当改进远远超过缺点时,您需要引入向后不兼容的更改。可以轻松切换到旧行为,但用户必须了解此类更改。
因此问题是:如何宣布 future 对 FLOSS(开源)项目的向后不兼容更改,以便用户可以为它们做好准备,要么改变它们的用途,要么配置程序使用旧的行为。
由于是OSS项目,各个发行版独立打包,可能会自动升级,无需用户干预。然后向后不兼容的更改可能会扰乱某些人的工作流程(例如第三方脚本)。
目前考虑(和使用)的途径:
- 项目邮件列表
- 项目主页
- 发行说明(先是警告,然后是公告)
- 维护者的博客
编辑 1:此(向后不兼容的)更改会发生在某些主要版本中。
所有更改都是关于添加安全措施(拒绝可能会彻底混淆新手用户的命令)或将默认值更改为更合理的值。
编辑 2:在过渡期间,默认配置(即更改为默认拒绝/拒绝)更改为警告,并说明如何关闭的警告,这也将防止默认行为的向后不兼容更改。
但是如果是自动化系统可能就没用了...
有问题的项目是 Git ,分布式版本控制系统;
见Giving early warning to users在 gitster's journal (Junio C Hamano 博客)
最佳答案
- 更改主版本号
- 通过您可以使用的所有 channel 宣布它
- 在自述文件中添加醒目的公告
- 如果需要数据库或其他更改,添加新旧代码之间的转换
- 添加代码来检测折旧方法的使用、数据存储等,并在执行破坏性更改之前提醒用户
- 在主要的问答网站上提出相关的常见问题解答类型的问题,这样当人们有疑问时,使用简单的搜索就能立即得到明显的答案
但主要版本号是主要目标 - 人们预计 1.x 到 2.x 的转换会导致问题,并且在升级时会更加小心。
-亚当
关于git - 如何在 OSS 项目中宣布向后不兼容的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/556904/