October 6, 2006

Konsole license violations highlight GPL confusion

Author: Joe 'Zonker' Brockmeier

In July, Konsole author Lars Doelle posted a note on the MotorolaFans.com forum about two programs that appear to violate the GNU General Public License (GPL), under which Konsole is licensed. GPL violations are nothing new, but in this case Doelle has not only put the violators on notice, he's also telling users to stop using the offending programs as well.

Doelle says that he's found two programs for use on the embedded distribution MontaVista Mobilinux, eKonsole and qonsole, that use Konsole code in violation of the GPL. Neither author was identified, except by nicknames on the MotorolaFans.com forum, and Doelle says that he's only been able to get in contact with the authors through the forum.

"I would have preferred to weed out the problems with the respective developers privately... [I] absolutely do mean [what] I wrote in the letter above. A developer clever enough to handle a delicate port can be reasonably hold to be able to cope well with licenses, too."

So far, Doelle has had no luck bringing either program into compliance. He says that he has been able to get in touch with the author of eKonsole, but the author claims to be "busy" and has not taken steps to resolve the licensing problems.

How programs go bad

In part, some of the blame for the license violation may come from the way that Konsole code has been distributed, rather than a desire to intentionally flaunt the GPL. Doelle says that Konsole code was re-used in EmbeddedKonsole, which is included in the Opie 1.2.2 distribution for mobile devices.

Then another developer, Jim Huang, created a program called qonsole (which is not the same as the program Doelle says violates the Konsole licensing).

Doelle says he did not he did not use the normal GPL header, but included a COPYING file including the GPL in an "upper directory" of the Konsole source code. "It was not assumed that files would be taken out of their context."

"Now what happened was that the COPYING file and with it the license information got lost during the generations of ports in amazingly small steps. The critical endpoint is Jim's qonsole port, which still properly gives license information, but only on the distributing Web page."

The upshot is that the COPYING file was dropped, and the licensing information was lost. Subsequent developers, if they are not paying attention, may end up releasing Konsole-based code without the license information.

In the case of the eKonsole application, Doelle says that "the violation is more of a technical issue, as the author has released sources and only the license information was missing, and this fault was inevitable to some degree." In this case, Doelle is tolerating the binary and source availability because the author has promised to come into compliance.

However, the qonsole port is another matter. Doelle says that no source has been published for qonsole and "dropping a binary and running away laughing is an absolute no-no."

According to Doelle, he's attempted to contact the qonsole author via the forum, and the forum admin has also forwarded an email to the email address used to register on the forum, "but no life signs of him yet."

Since the author has not responded, the binary has been removed from MotorolaFans.com and another forum. Doelle says that the admins have been supportive and helpful, but the binary is still available if you know where to look using Google.

Stopping distribution is not at all unusual, but Doelle has also gone a bit farther and has issued a notice revoking the right for users to run qonsole as well.

Can you forbid use?

The GPL clearly allows an author to forbid distribution if a distributor violates the GPL. What's less clear is whether the GPL allows a copyright holder to revoke the right to run GPLed code. As expansive as the GPL FAQ is, it doesn't directly address the question.

Doelle says that his interpretation is that the right to execute the program goes without saying "as long as the binary was created in compliance with the license." Since qonsole is not in compliance with the GPL, Doelle holds that users did not receive the program under the GPL to begin with, and he can revoke the right for users to run the program.

Given that the GPL does not require acceptance to run a GPLed program, and that the GPL implicitly says that the "act of running the program is not restricted," NewsForge couldn't find any direct support for the position that an author could forbid use of a program -- even if it is in violation of the GPL. Since the GPL is less than clear on that point, we wanted to get a clear ruling directly from the source. However, we were unable to get a definitive answer on the record from either the Free Software Foundation (FSF) or Software Freedom Law Center (SFLC). In some informal conversations, we were told that an author probably cannot forbid users from running GPLed code -- even when distributed in violation of the GPL.

However, no one that we spoke to was willing to go on record, or give a firm answer on whether users can be enjoined from running code received in violation of the GPL.

The reluctance may stem from a fear that a ruling in favor of allowing users to run the code would encourage even more non-compliance with the GPL. It is difficult to enforce compliance as it is, if there's no consequence for using a program that violates the GPL, it may become even more difficult.

Whether the GPL supports the restriction of use or not, Doelle's situation does provide a cautionary tale for developers of other GPLed applications.

As Doelle points out, some of the problems might have been avoided if the GPL header had been included in each file, rather than depending on a single COPYING file containing the text of the GPL. At least this would make it more obvious to developers what the requirements are for their use of GPLed code.

In the meantime, Doelle says that the existence of the infringing program "stands in the way of producing a compliant program, as it might have satiated an otherwise pressing demand. Of course I have no intention to legalise such a hurdle.

"From the user's side as well as from mine, the problem can only be solved by the emergence of a compliant binary."


  • Legal
Click Here!