+1 to Stefano Mazzocchi: a Reference Implementation should have an MIT- or BSD-style licence. It worked for TCP/IP, it worked for X11, or JPEG and for countless other things. It's good for interoperability, becuase it encourages people to use the RI as a base and only tinker with those things that they need to. Even if a project decides to re-implement everything from scratch (e.g. lwip) it's still good do be able to grovel through the RI to see what it does, without worrying that you may be contaminating your code with the XYZL. Of course the RI is only part of Java, but it's a big part. TCKs are special in that a particular version of the code is normative, so modified versions need to be clearly marked as such (Apache licence?). And then there are the specifications - too many of these are currently marked "it's OK to read this just as long as you don't intend to implement it". The specs should be licensed in a way that is compatible with the requirements of standards bodies such as ISO, ANSI, ECMA, even if Sun doesn't intend to head that way just yet. Copyright (C) Chris Gray 2006. The views expressed are not necessarily those of Harmony, Classpath, my company, or my cat. -- Chris Gray /k/ Embedded Java Solutions BE0503765045 Embedded & Mobile Java, OSGi http://www.k-embedded-java.com/ chris.gray@xxxxxxxxx +32 3 216 0369