Kermit: more than a file transfer program, a tangible link to the past

Thirty years ago today, the first file transfer was made using the Kermit protocol, the brainchild of the Kermit Project. Originally designed to link workstations to mainframes, the Kermit Project grew to encompass software for dozens of platforms. The main versions of Kermit today, C-Kermit and Kermit 95, do more than just transfer files; they also function as terminal emulators with advanced scripting capabilities. But the Kermit Project will not see the end of its thirty-first year, for it has been terminated by Columbia University, effective July 1, 2011.

Some may consider this to be a small loss—after all, the Kermit software may seem like a relic of days past, when TCP/IP was not the common denominator it is today, and SSH did not yet even exist. But I think the real value in Kermit is not just the software itself, but in what it stands for. In an industry that seems to forget its history and tries to reinvent everything every few years, the Kermit Project has managed to keep the software up-to-date and relevant without losing touch with its roots. Kermit today will happily communicate with older systems, a fact taken advantage of by retrocomputing enthusiasts and technologists needing a way to migrate data off of dinosaurs. You may have a hard time making the physical connection—after all, serial ports have become awfully hard to find lately—but if you can, you’ll find that Kermit will happily communicate with a decades-old computer just as well as one from today.

At the same time, modern Kermit clients are also perfectly capable of working in today’s networked environment; Kermit clients today support network links over Telnet, FTP, HTTP, and SSH. And all of these features can be scripted using Kermit’s built-in scripting language. The scripting language takes some getting used to, but once you get the hang of it, it’s really quite useful.

My experience has shown that many technologists—especially members of the younger generation—assume that everything is linked to a network, and that that network will use TCP/IP. The reality is that that is not always the case; serial links still exist in plenty of places. The Kermit website is rife with examples of Kermit being used everywhere from industrial automation applications to the world’s oceans to the International Space Station. That Kermit remains available for even old and esoteric operating systems can be a real boon at times; I personally benefitted from the availability of Kermit for QNX (which I ran on a 3Com Audrey) as well as MS-DOS Kermit (still available and still working just fine in 2005).

Columbia University has arranged a very sensible transition plan for the Kermit Project, the essence of which is that the code will be open-sourced (under the BSD license) where possible, and where that is not reasonably possible, a blanket license will be provided “allowing free access and use”. I am confident that the open-source community will sustain Kermit going forward. The oldest versions of Kermit, for platforms long obsolete, require little maintenance going forward—although, as noted before, they may be of interest to the retrocomputing community. For users of more up-to-date operating systems, even if Kermit is of little use for file transfer over serial links, Kermit remains a very capable and highly scriptable Telnet, FTP, and SSH client.

That said, I do have one area of concern: the Kermit documentation. Historically, the Kermit project has not released electronic documentation for Kermit software, preferring instead to document Kermit in a series of books. It is my understanding that proceeds from the sale of these books, while they were in print, were used to fund the Kermit project (which, in the later years, did not receive direct support from Columbia University and was thus required to be self-funding).

However, a number of these books are out of print and are becoming hard to find—a situation I encountered a number of years ago while trying to obtain the manual for MS-DOS Kermit. Accordingly, I would implore the Kermit project to take the necessary steps to try to free these books—at least the ones that are out of print. Being out of print, neither Columbia University nor the Kermit Project profits from their sale at this point. It would be particularly nice to be able to get a copy of whatever electronic sources may exist, but if nothing else, a scan of the book would do, and ensure that the knowledge contained therein will be preserved for posterity. I am sure that there are a few copies of the Kermit books stashed away in libraries around the world, but interlibrary loan is a tedious and unreliable process, and there is the risk that some day those books might just be deaccessioned. From the perspective of preserving knowledge about Kermit and the history of the Kermit project and software, it would be better for all concerned if the books were released electronically, preferably under suitable free-content licenses. This has been done in the case of the Kermit 95 manual, but there are others left which might prove to be useful references for the future.

2 thoughts on “Kermit: more than a file transfer program, a tangible link to the past”

  1. Hi, Kurt. Wasn’t Kermit first used in 1981? I’m pretty sure Ward Christensen’s MODEM / CMODEM / XMODEM protocol dates from 1977, even before the blizzard in February 1979 that launched its popular use in CBBS.

    1. Indeed, per the Kermit Project’s own history of the project, the project was launched in 1981 (thirty years ago now) to provide a more resilient, cross-platform alternative to XMODEM. XMODEM worked well over clean lines between homogeneous systems, but Columbia needed a cross-platform solution which would work even over unreliable links, connections through protocol translators which tended to mangle binary transfers, etc.

Comments are closed.