Kermit 45 岁:C-Kermit 时隔 15 年重磅更新

Celebrating 45 Years of Kermit with the First New C-Kermit Release in 15 Years

作为 Debian 的维护者,我接手了拥有 45 年历史的 Kermit 项目。这是 C-Kermit 自 2011 年以来首次发布新版本。面对这个古老的 C 代码库,我不仅修复了数十年的安全漏洞和 Bug,还新增了 IPv6 支持及近 2000 个测试用例。从国际空间站到 HP 48GX 计算器,Kermit 曾连接无数异构系统。如今,在 Frank da Cruz 长达 44 年的坚守后,我们将其开源并持续维护,让这位计算界的隐形支柱继续在现代系统中发挥作用。

Frank 直接参与 Kermit 项目长达 44 年,从 1981 年的最初设计一直持续到 2025 年,他是唯一一位在开源项目中如此长久地保持创始人身份的人。
  1. jonathaneunice

    我在 1989 年左右为 IBM 的 AIX 编译了 Kermit,以此研究"AIX 与其他 Unix 系统的兼容性如何"。在我的记忆中,Kermit 的源代码堪称一座丰碑,展示了单一软件能支持多少种不同、不兼容且非标准的平台。甚至比 Unix 本身还要多,因为它当时还能在 VMS 和各种非 Unix 系统上运行。我一生中从未见过如此多的 `#ifdef`,也从未见过如此复杂的"我到底是在这个平台还是那个平台上运行?它有这个功能还是那个功能?不对,那另一个功能呢?难道是 HP-UX?HP-UX 6?不对,是 7?不对,是 8?不对,那 VMS 呢?不对,SunOS 呢?不对,Unix System III 呢?"……如此这般,似乎永无止境。

    Kermit 是那个时代可移植性的非凡丰碑。在那个年代,"可移植"往往意味着"我们已经单独适配了任何人曾经构建过、或者可能仍在使用过的每一种不兼容系统,无论其可能性多么渺茫"。

  2. chipotle_coyote

    我主要记得在 BBS 时代基本忽略了 Kermit;等到"SuperKermit"出现时,它的性能已经能与 ZMODEM 相抗衡,但那时它看起来已经相当古老了。

    后来,大约在 1991 年,一位朋友给了我他的大学 Unix 账号,让我可以玩玩 Gopher、Archie 和 TinyFugue(也就是 MUD/MUCK 等世界)。但有个前提:要从我的家用电脑连到他的账号,我得先拨号进入一个佛罗里达州的州级网络,该网络允许拨号接入并连接到各个大学校园的机器。这个网络运行在一台 IBM 小型机上。而且,它并没有直接连接到那台 Unix 机器,哦不。它连接到的是一台 VAX,而这台 VAX 与那台 Unix 机器处于同一个局域网中。

    所以我得先拨号连到那台 IBM 机器,再从它连到 VAX,最后从 VAX 通过 telnet 连到 Unix 主机。

    令人难以置信的是,这一切居然都能跑通,只是延迟有点烦人……但后来我试图从 Unix 机器往我的个人电脑传文件时,ZMODEM 不行,XMODEM 也不行。我想我还试过一两个别的方案,但已经忘了。

    然后我想起了 Kermit,以及它那能搞定各种棘手连接的名声。它第一次尝试就成功传过去了。

  3. compiler-guy

    Bill Catchings(那位协助 Frank da Cruz 制定原始规范并进行编码的本科生)至今仍在写博客。虽然他已经有一段时间没专门谈论 Kermit 了,但他有一两篇关于 Kermit 40 周年的有趣文章。

    https://www.billcatchings.com/2012/04/frog-from-my-past.html

    https://www.billcatchings.com/2013/11/kermit-oral-history-pa...

    这里还有一个他提到的口述历史链接:

    https://www.computerhistory.org/collections/catalog/10274641...

  4. donflamenco

    一个很酷的功能是,你可以利用 C-Kermit 在开放的 SSH 会话中进行内联文件传输。虽然它无法在 screen/tmux 这类终端复用器上工作,但对于在客户端和远程主机之间快速传输文件来说非常实用。

    远程主机只需要安装 kermit 或 zmodem(sz/rz),因为至少从 K95 版本开始就支持 zmodem 了。

    有些付费的 SSH 客户端(如 SecureCRT)也具备基于 Zmodem 的这一功能。能在免费软件里拥有它真是太好了。

  5. rickydroll

    天哪,这让我回忆涌上心头。我曾将 Kermit 移植到 Computervision 的 CGOS 环境中。它在用户社区中非常流行。在内部,它被用于通过终端集中器在系统间传输文件,当你不想走到机房、去翻找磁带、还要忍受 FUTIL 的时候,它就派上用场了。

同日更多故事

2026-08-03