World Library  
Flag as Inappropriate
Email this Article

Kermit (protocol)


Kermit (protocol)

Kermit is a computer file transfer/management protocol and a set of communications software tools primarily used in the early years of personal computing in the 1980s; it provides a consistent approach to file transfer, terminal emulation, script programming, and character set conversion across many different computer hardware and OS platforms.


  • Technical 1
  • History 2
  • Naming and copyright 3
  • See also 4
  • References 5
  • External links 6


The Kermit protocol supports text and binary file transfers on both full-duplex and half-duplex 8 bit and 7-bit serial connections in a system- and medium-independent fashion, and is implemented on hundreds of different computer and operating system platforms. On full-duplex connections, a Sliding Window Protocol is used with selective retransmission which provides excellent performance and error recovery characteristics. On 7-bit connections, locking shifts provide efficient transfer of 8-bit data. When properly implemented, as in the Columbia University Kermit Software collection, Columbia University's Kermit group claim performance is equal to or better than other protocols such as ZMODEM, YMODEM, and XMODEM, especially on poor connections.[1] On connections over RS-232 Statistical Multiplexers where some control characters do not transmit, Kermit can be configured to work, unlike protocols like XMODEM that require all 256 bytes be transmittable.


Kermit was developed at Columbia University[2][3] in 1981 to allow students to transfer files between IBM or DEC DECSYSTEM-20 mainframe computers and removable media on microcomputers (initially Intertec Superbrains running CP/M). IBM mainframes used an EBCDIC character set and CP/M and DEC machines used ASCII, so conversion between the two character sets was one of the early functions built into Kermit.

Kermit can be used as a means to load boot software. For example CP/M machines used many different floppy disk formats, which meant that one machine could not normally read disks from another CP/M machine, and Kermit was used as part of a process to enable the transfer of applications and data between CP/M machines and other machines with different operating systems. PIP with a very low baud rate (because it had no built-in error correction) could be used to transfer a small simple version of Kermit from one machine to another over a null modem cable, or failing that, a very very simple version of the Kermit protocol could be hand coded in binary in less than 2K using DDT, the CP/M Dynamic Debugging Tool. Once that was done the simple version of Kermit could be used to download a fully functional version. That version could then be used to transfer any CP/M application or data.[4]

The Kermit protocol evolved through the 1980s into a de facto data communications standard[5] for transferring files between dissimilar computer systems. Kermit software has been used for tasks ranging from simple student assignments to solving compatibility problems aboard the International Space Station.[6] It was ported to a wide variety of mainframe, minicomputer and microcomputer systems. Most versions had a user interface based on the original TOPS-20 Kermit. The MS-DOS version of Kermit was developed in 1983. Later versions of some Kermit implementations also support network as well as serial connections.

Implementations that are presently supported include C-Kermit (for Unix and OpenVMS) and Kermit 95 (for versions of Microsoft Windows from Windows 95 onwards and OS/2), but other versions remain available as well.

Kermit was initially developed by and distributed for free by the Columbia University, until 1986 when Columbia founded the Kermit Project, which took over development and started charging fees for commercial use. The project is self-sufficient.[6] As of 1 July 2011, the Columbia University ceased to host this project and released it to open source. In June 2011, the Kermit Project released a beta version of C-Kermit v9.0 under an Open Source Revised 3-Clause BSD License.[7]

Naming and copyright

Kermit was named after Kermit the Frog from The Muppets.[8] The program's icon in the Apple Macintosh version was a depiction of Kermit the Frog. A backronym was nevertheless created, perhaps to avoid trademark issues, KL10 Error-Free Reciprocal Microprocessor Interchange over TTY lines.

Kermit is an open protocol—anybody can base their own program on it, but some Kermit software and source code is copyright by Columbia University.[9][10] As of version 9.0 (starting with the first test release after Alpha.09), C-Kermit has an Open Source license, the Revised 3-Clause BSD License. Everybody can use it as they wish for any purpose, including redistribution and resale. It may be included with any operating system where it works or can be made to work, including both free and commercial versions of Unix and Hewlett-Packard (formerly DEC) VMS (OpenVMS). Technical support was available from Columbia University through 30 June 2011.[11]

See also


  1. ^ Some of the sentences in the Technical section are based on text copied, on 30 October 2004, from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
  2. ^ da Cruz, Frank; Catchings, Bill (June 1984). "Kermit: A File-Transfer Protocol for Universities / Part 1: Design Considerations and Specifications". BYTE. p. 251. Retrieved 23 October 2013. 
  3. ^ da Cruz, Frank; Catchings, Bill (July 1984). "Kermit: A File-Transfer Protocol for Universities / Part 2: States and Transitions, Heuristic Rules, and Examples". BYTE. p. 141. Retrieved 23 October 2013. 
  4. ^ Gianone, C. (23 April 1991). "CP/M-80 KERMIT VERSION 4.11 USER GUIDE". New York, New York 10027: Columbia University Center for Computing Activities.  See "Figure 1-1: Bootstrap program for Kermit-80 and CP/M Version 2.2"
  5. ^ Good, Robin (23 December 2003). "Standards: Do We Really Need Them?". Retrieved 27 April 2009. 
  6. ^ a b International Space Station Incorporates Kermit (December 2003)
  7. ^ "C-Kermit 9.0 Beta Test". Columbia University's Kermit Project. 21 June 2011. Retrieved 22 June 2011. 
  8. ^ "Kermit - What is it?" The Kermit Project. 26 October 2006. Columbia University. 11 July 2007
  9. ^ "Frequently Asked Questions". The Kermit Project. Columbia University. 11 July 2007
  10. ^ The preceding sentence is based on text copied, on 30 October 2004, from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
  11. ^ "LICENSING". The Kermit Project. Columbia University. 7 April 2011

External links

  • The Kermit project at Columbia University (canceled and website frozen in 2011)
  • The complete Kermit software archive at Columbia University 1981-2011 (frozen)
  • The New Open-Source Kermit Project, successor to Columbia University development
  • About Kermit, overview of Kermit protocol and software
  • Kermit bibliography
  • The DECSYSTEM-20 at Columbia University, section on History of Kermit
  • Kermit Project Oral History Panel, Computer History Museum
  • Oral History of Joe Doupnik (MS-DOS Kermit), Computer History Museum
  • Kermit Project Document Archive, Computer History Museum
  • experimental open-source port to Win32
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.