CUPS 是一个用于 Linux 系统的开源模块化打印系统,最初由 Michael Sweet 开发。在 2007 年,苹果公司收购了 CUPS,并聘请了 Michael Sweet 继续开发。在 2017 年,苹果决定不再根据 GPL 开发 CUPS,而是转变成 Apache 2.0 许可协议继续开发 CUPS。除了 Linux,这个开源打印系统还广泛运用于 Unix 和 macOS。
不过,随着 Michael Sweet 在 2019 年底离开了苹果后,CUPS 的开发就处于停滞状态。在 2021 年,苹果确认不再针对 CUPS 进行进一步的开发,上游功能的开发已经转移给 OpenPrinting 组织,Michael Sweet 将继续致力于该项目。
Michael Sweet 还与苹果公司签订了合约,基于合约他需要将 OpenPrinting CUPS 分支上的重要 bug 修复拉取回苹果 macOS 中的 CUPS 代码库上,也就是说,苹果的 CUPS 未来将继续从 OpenPrinting CUPS 中拉取这些错误修复,但苹果不再有兴趣对其进行功能开发。
近日 Canonical 的开发者、OpenPrinting 的项目负责人 Till Kamppeter 表示,他们计划在 Ubuntu 23.10(Mantic Minotaur)上使用 Snap 版本的 CUPS 作为其打印系统,并将 Snap 版本的 Printer Application 作为非 IPP 无驱动打印机的驱动。
Snap 相较于传统的 deb 格式有以下优势:
- 依赖性管理:Snap 包内置了所有的运行时和依赖库,因此可以在任何版本的 Ubuntu 发行版上运行,而不需要考虑依赖性问题。
- 版本控制:Snap 格式允许开发者将不同版本的软件打包成不同的 Snap 包,这使得用户可以同时安装不同版本的软件,而不会互相干扰。这对于开发者来说也非常有用,因为他们可以在不同的 Snap 包中测试不同版本的软件。
- 安全性:Snap 格式提供了一种沙箱机制,可以限制软件对系统的访问权限,从而提高系统的安全性。这种机制使得用户可以更加安全地安装和使用软件,而不必担心软件会危及到系统的安全。
- 易于维护:Snap 格式允许开发者将软件自动更新到最新版本,这使得用户可以更加轻松地保持软件的最新状态。
如果你不想等到 Ubuntu 23.10 发布时才用上,OpenPrinting 实际已经在 Snapcraft 发布了 Snap 版本的 CUPS,用户可以提前下载安装。
虽然切换为 Snap 版本的 CUPS 不一定是好消息,但 OpenPrinting 公布了一个实打实的坏消息,就是 CUPS 3.x 版本将会推迟一年发布,预计到 2024 年底才会推出。