写点什么

浅说 SQLite 的许可证模式

用户头像
Justin
关注
发布于: 2021 年 01 月 30 日
浅说 SQLite 的许可证模式

最近一个 SQLite 的流式复制工具 Litestream 公开宣传开放源码但不接受开源社区的代码贡献,引起了热议。在这一点上和 SQLite 是相似的。就是说,项目代码是开放的,用户可以自由使用,但是你要给项目提 PR 贡献代码,对不起,不接受。


Litestream 的作者采用这个模式的主要原因在于,他觉得接受和维护第三方贡献的代码,对他个人来说是负担很重的事情,代码理解的成本很高。像数据库引擎、工具这类强调正确性和性能的项目,每做一次小的改动,哪怕是一行,也可能产生很大影响,需要花很多时间去验证和测试。这个原因和 SQLite 应该也有,虽然没有公开说。


SQLite 是世界上部署最为广泛的数据库引擎,迄今已经有 20 年的开发历史。它现在的主要使用者包括了空客、博世、GE、Apple、Adobe 这样的企业,恐怕空客不会愿意在飞机的软件里有未知作者的代码。


SQLite 采用这一模式的另一个主要原因是许可证的问题。SQLite 是公有领域软件,就是说 SQLite 的所有作者和作者受雇的公司都已经签字盖章,声明放弃了所有权利,将作品专用于公共领域。SQLite 所有代码都是从头编写的,可以追溯到原始作者,而原始作者都是签了法律文件的,法律文件放在 SQLite 背后的公司 Hwaci 主办公室的安全库内。通过这样严格的链条,保证了代码的「纯洁」。


所以,你是没法像在很多开源项目里一样,向 SQLite 直接贡献代码的。如果你有代码上的建议,最多是写个原型给他们看,他们一定不会直接采用,而是会根据你的想法重写一遍。


显然,如果 SQLite 开放接受代码贡献的话,需要贡献者去签署一系列法律文件,还是非常麻烦的。


虽然 SQLite 是公有软件,不过如果你因为法律要求或者就是土豪,可以买 6000 美刀一张的担保书,Hwaci 会帮你证明 SQLite 没有版权问题。

发布于: 2021 年 01 月 30 日阅读数: 93
用户头像

Justin

关注

对世界好奇,对自己好奇 2018.04.14 加入

TGO 北京会员,乐城堡联合创始人

评论

发布
暂无评论
浅说 SQLite 的许可证模式