I am looking for an extisting license (or blend / create a new one) that would be optimal for Java projects that is nice to academic contributors AND to commercial use.
- I like the strength of the GPL
- The contagiosity of the GPL hinders commercial adoption of code
- I like the BSD license for its acknowledgement feature, academic contributors live from credits
- The problem of the BSD license is that it allows commercial parties to take the source code away and contribute little, and take away the freedom of their customers to use improved versions of the free code
- With Java (late binding), a revised definition of derivative work from the GPL would be useful to maximize impact and benefits of open source in the indusrty
The Mozilla license MIGHT be something close, but I would like to get more hints from those who have tracked the license garden for a while to see what else is growing.
Some more detail on the Java issue:
I'd like to have a license that works well for Java because of the following szenario:
Hans Hacker has written a cool YML interface suite and there is some big buzz in the Toaster industry about adopting YML. Because of Hans Hackers extraordinarily good YML code, many small Toaser vendors could just adopt it. In order to do so, they would have to write YML ToasterControl adapter classes that handles the proprietary control interface to their Toasters implementing the YML ToasterControl interface. Hans Hacker also wrote an AbstractToasterControl class that helps with some common convenience methods of the ToasterControl interface and the integration into the YML ToasterControlContainer framework. So, the small Toaster interface vendor (call it Brown eToast) has to do this:
package com.brown.etoast;
import org.hanshacker.yml.ToasterControl import org.hanshacker.yml.helpers.AbstractToasterControl import org.hanshacker.yml.ToasterControlEvent
public class EToast2001aToasterControl
extends AbstractToasterControl
implements ToasterControl
{
public void toastIt(ToasterControlEvent event) {
...
}... }
The point being that under GPL the EToast2001aToasterControl.java would be considered derivative code and Brown eToast would be forced to make their implementation open source. However, the source code would reveal strategic trade secrets about their revolutionary internal Toaster design to their big competitors, so they can't make this code open source without killing themselves.
As a concequence EToast2001a has to write their own YML interface. Brown eToast's engineers are wizzards with building Toaster hardware and embedded control software, but are actually quite bad in understanding the larger system of the Toast supply chain and other kitchen automation. It's not their business. They make great Toasters. So, the guys hastily hack some YML interface together from scratch, and it is of course less stable and less extensible (and actually quite bad.) As a result, customers will have a much harder time to integrate their Toasters with their Butter-dispensing machines or their Bread-Logistics systems.
Assume that Hans Hacker had decided to put his YML code under the BSD license. Another company, MicroToast could then take his code and spice it up with numerous extensions thus rendering it incompatible with the free version. MicroToast would, because of their cloud, resell their code and half of the Toaster industry would use the MicroToast code. Once again, the customers would be burned because they can't easily connect half of their Butter- dispensers. Also, the closed MicroToast would be praised as a "de facto" standard, starving out Hans Hacker's original free version. Users would suffer again under constant security holes and crashes of their toasters (leading to burnt toast) and could not leverage the much more stable and secure free code base.
If only Hans Hacker had chosen a license that would:
- allow Brown eToast and MicroToast to implement the ToasterControl interface and extend from the AbstractToasterControl without forcing them to open up their proprietory control implementation.
- require MicroToast to put all its modifications to the ToasterControl interface (and the AbstractToasterControl helper) back as open source so that Hans Hacker and colleagues could backport MicroToast's code
- require Brown eToast and MicroToast to notify their users of their use of the YML code base so that the users can get the source code and write their own agents in the ToasterControl network
the problem with the bad condition of the Brown eToast code and the staggering growth of MicroToast monopoly and endless burnt toast and sad users would have been prevented.
So, what is the best open source license that Hans Hacker should have used?
regards -Gunther
-- Gunther Schadow, M.D., Ph.D. [EMAIL PROTECTED] Medical Information Scientist Regenstrief Institute for Health Care Adjunct Assistant Professor Indiana University School of Medicine tel:1(317)630-7960 http://aurora.regenstrief.org
-- license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3

