Article: The thinking behind the Wonka Public License
Dec 14, 2001 — by LinuxDevices Staff — from the LinuxDevices Archive — 3 viewsRecently ACUNIA released Wonka, their implementation of the Java language, under a BSD-style license. In this guest column, ACUNIA Chief Technology Officer Steven Buytaert and VM Architect Chris Gray explain the reasons behind the decision . . .
The Wonka license is located here.
Buytaert: ACUNIA's flagship product is the Open Telematics Framework (OTF).
The OTF is completely Java-based, and pre-supposes the existence of terminals — dashboard computers, set-top boxes, next-generation cellphones, etc. — having a certain level of Java capability. When we were developing the OTF, we quickly found that the kind of Java capability we had in mind was not readily available in the right form factor: existing implementations of Java were too big, too expensive, too limited, or simply not ready for prime time. This led us to develop Wonka for internal use, and by making Wonka available as Open Source our aim is quite simply to raise the general level of embedded Java. Wonka embodies our ideas of what consumer-device Java should look like, and acts as a reference: we show not only what can be done, but even how to do it.
Gray: For this strategy to work it was essential that the license not pose a barrier to using Wonka in embedded devices. Had we released Wonka under the GNU General Public License (GPL), we would immediately have run into problems, both with the way that embedded systems are generally built, and with the use of Java as a medium for delivering executable content. In the first place, most embedded devices use an RTOS which is statically linked with the application code to create a single binary module. Few if any RTOSes are distributed under a license which is compatible with the GPL, so there is no way that the resulting binary could be legally packaged and sold (or even given away). Secondly, a system such as ACUNIA's OTF makes considerable use of the dynamic loading features of Java: when a user signs up to use a service, the Java code needed to use that service is automatically “pushed” to her terminal. Is it legal to link proprietary code which has been “pushed” in this way into a GPL'd Java system? “Probably” is not the kind of answer you want to give to a bank, publisher, or car manufacturer. And lastly, there are some practical difficulties: normally a device such as a cellphone does not offer a way to reprogram its internal ROMs, but the language of the GPL seems to imply that this should be possible.
Buytaert: Some companies solve this problem by making the same software available under both the GPL (for free) and another license (for paying customers). Sometimes this is even cited as an advantage of the GPL: that you can issue something as Free Software and still charge companies money for using it. We decided against this approach because to us it seems like an abuse of the Open Source idea: it reduces the GPL to a kind of “free for evaluation and private use” license. That's not our idea of contributing to the Open Source community.
Gray: We could have gone with something like the LGPL or the GPL with an “exception” clause of some kind, but we felt we could achieve the same end result more simply by going for a BSD-style license. At first we included a clause (modeled on the Apache license) which required written permission from ACUNIA to use the name “Wonka” for a modified version, but later we realized that this was not necessary: ACUNIA can defend its trademarks without having to mention this explicitly in the license. And a technical incompatibility between this clause and the GPL would have made it impossible to combine our work with some GPL'd stuff to make a larger whole. Even though we don't think that GPL is the right model for embedded software, we wouldn't want to prevent Wonka from being used together with GPL-ware in research work, or in projects like the Simputer.
Buytaert: This issue reinforces our belief that in an open-source software license, simplicity is a virtue. Recently many companies have brought out software under complicated licenses which claim to provide all the benefits of Open Source without the alleged disadvantages such as “forking” of the project. Unfortunately the cure is often worse than the disease: the more licenses proliferate, and the more clauses in each license, the greater the chance that some clause of license “A” will clash with a clause of license “B”, without either company having intended such a conflict. The Open Source community is also rightly suspicious of such licenses, and in more than one case the license has had to be rewritten to meet the legitimate concerns of the community. By basing the Wonka license on a tried-and-tested formula, we avoid the need to go through such a cycle and can be confident that the Wonka license meets the needs of embedded source developers and complies with the OSI's Open Source Definition.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.