Some terse thoughts on compatibility:
* Compatibility with previous Java releases is critical.
* Multiple implementations of an open source JDK is a present reality (ie. Classpath & Harmony), even though none are fully complete yet.
* Multiple implementations increase the chance for incompatibility.
* Licensing Sun's JDK in such a way as to provide synergy with the existing efforts will build community and allow the possibility of moving toward fewer implementations.
* In any case the poorly specified portions of the SDK should be licensed the most liberally so they can be shared (ie. HTMLEditorKit).
* The TCK should be liberally licensed so that everyone can aim for the same compatility goals using the same measurements (currently there is also mauve and intel's test suite).
* Most restrictions should be done through trademark licensing and community/market forces. Code is a poor place to build community by legal fiat.
* Java trademark guidelines should be licensed so that there is a concept of a "java distributer/packager" who has certain responsibilites to ensure that if they package and distribute a JDK as java it has certain guarentees. The end goal should be for distributed packaging and distribution of java. ie. sun on solaris, freebsd people package java on their system, ubuntu on their's, fedora on their's, etc ... This can be flshed out much more.
* As part of building community communication is critical. A clear and focused website on just java compatibility/brand issues would be worthwhile. ie. describing in detail what constitutes standard java, a downloadable TCK, a process of resolution for questionable areas that are poorly specified, a list of recognized java distributers/packagers (see above), a process for applying to be a java distributer, etc... End goal: if you have any questions on "is this java", this website could answer it.