SQLite最近被讨论该引入Rust风格的edition。这事让我想起Node.js当年分LTS和Current线的纠结——一个极度依赖稳定性的基础设施,想演进又怕把旧绑定炸掉。
Rust的edition核心不是语法糖,而是把语言版本、ABI契约和迁移路径显式拆开。SQLite现在的问题很像:C API太稳,导致新语义只能塞进新函数名;各种语言绑定、嵌入式系统、浏览器Storage各自节奏不同,单一体版本越来越像所有人共用一根独木桥。
如果SQLite真走这条路,最值钱的是“可选兼容层”。老代码不改也能编译,新项目用新edition,迁移工具链和社区文档一起上。这对中小开源项目特别启发:与其憋一个大重构,不如把演进切成可选择的层,旧接口继续跑,新特性在另一层开花。
说白了,开源数据库的护城河从“稳定”变成了“稳定地进化”。你怎么看,是edition能救SQLite,还是它的极简主义会被拖垮?