tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Replacing gkermit with ekermit

I would like to remove gkermit (GPLv2) and add a BSD-licenced kermit implementation such as E-Kermit (very small, see <>) or C-Kermit (much larger, see <>). Read on for details.

In 2006, we imported the "gkermit" program, which is a lightweight implementation of the Kermit file transfer protocol, with a GPLv2 licence. This was intended to be useful for transferring files over a console port to aid in system recovery. It was even added to /rescue because of its usefulness in system recovery, but was then removed due to licencing concrns. See <> for an example of a use case for a small Kermit implementation in the base system and in /rescue, and search for "gkermit" in the index page at <> to find other other messages in the discussion from 2006.

At that time (2006), most Kermit implementations had a licence that prohibited copying for commercial use, but C-Kermit had a licence exemption that allowed inclusion in a "Free UNIX" or other Open Source operating-system distribution, and gkermit had a GPL licence. The C-Kermit licence would not not have allowed inclusion in products shipped by vendors who use NetBSD, so (back in 1999 when Columbia University added the licence exemption) NetBSD chose not to include C-Kermit.

In 2011, Columbia University re-licenced most Kermit implementations under a revised 3-clause BSD licence, terminated their Kermit project, and transferred Kermit development to an open source project. See <>.

Today, gkermit remains under a GPLv2 licence, while the very small E-Kermit and the much larger C-Kermit have BSD licences.

E-Kermit (see <>) is intended as a small library for embedding in other programs or products, but it has a simple commandline wrapper. C-Kermit (see <>) has many more features and an interactive user interface.

I would like to replace the small GPL-licenced gkermit in the NetBSD base system with the small BSD-licenced E-Kermit. E-Kermit can also be added to /rescue without any licencing concerns. Users who want all the extra features in C-Kermit may install it from pkgsrc, while users who need only a minimalistic file transfer facility may use ekermit in the base system.

I have already done most of the work that would be required to import E-Kermit; it was just a reachiver Makefile and a few small patches to silence compiler warnings.

I could possibly be persuaded to import C-Kermit instead of E-Kermit, but I have not even looked at how difficult that might be.

--apb (Alan Barrett)

Home | Main Index | Thread Index | Old Index