BoD
On Apr 7, 10:15 am, Martin OConnor <marti...@gmail.com> wrote:Therefore, it follows that Sun has licensed the JCK to the OpenJDK project without a FOU restriction, because the GPL explicitly forbids such a restriction.
Yes. Sun has a dedicated license programme for code that is solely for GPL code "substantially derived from OpenJDK" - http://www.infoq.com/news/2007/08/openjdk-jck - http://robilad.livejournal.com/17156.html
"WHEREAS Licensee participates in Sun's OpenJDK Community and either: (i) has developed and seeks to distribute under the GPL License a compatibility-tested implementation of the Java SE 6 Specification that is derived from code made available to the OpenJDK Community; or (ii) wishes to verify that changes made by Licensee to the OpenJDK code base would not break compatibility;<a class="moz-txt-link-rfc2396E" href="http://openjdk.java.net/legal/openjdk-tck-license.pdfSo,therearethreechoicestogetthetestingkit:-paySunmoney-derivefromOpenJDKandreleaseasGPL-applyforthestandardJSPAsponsorshipandreleaseunderanyopensourcelicenseThethirdoptionistheoneApachewantstouse,butcan'tasthetestingkittherehasbeenrestrictedbyFOU. </pre> </blockquote> <br> </body> </html>
While that is a separate matter from their financial state, it is also a
separate matter from the openness of Java in my opinion. Sun can still
foster a rich open Java implementation community based on GPL despite a
black eye from reneging on commitments to one sub-community, ASF.
> On the broader question, I believe that having competition in the Java
> SE platform space is good for everyone. Or are we arguing that JBoss
> and Geronimo have no place as Java EE implementations given that
> Glassfish exists? I also note that Sun has taken code from Harmony
> that was performing faster than their own JDK code and reused it -
> http://blogs.sun.com/dagastine/entry/apache_harmony_thanks_for_the
> proving that competition benefits all.
>
I'd generally agree, though I'd generally see more benefit as a consumer
of the various JDKs if everything started from the OpenJDK and then
deviated from it as necessary to better meet particular requirements.
[An exception would be something truly radically different like the
Maxine project, which seems like the way a JDK really ought to be
implemented rather than the C/C++ mess that exists today. Even there,
however, I'd think the Java code behind the implementation should
deviate only as necessary/compelling.] By starting from scratch Harmony
is pervasively inconsistent with Sun's implementation, which has been a
painful thing in our experience even in IBM's J9 which does pass the
TCK. IBM's Java 6 J9 is much less compatible with Sun's implementation
than in the past and many of the incompatibilities have traced directly
to them replacing Sun implementation classes with Harmony ones.
> Finally, on the proprietary point, here is a quote with the official
> Apache position on why they believe that someone like IBM cannot use
> Harmony to sidestep paying Sun:
>
> "Q : Does Apache think that Harmony could be used by commercial
> entities to avoid paying JCK licensing fees to Sun?
> A : No. The only way that could happen is if a commercial entity
> stopped shipping their own software and started shipping the
> tested binaries that were created by the Harmony project.
> Even then, they would still need to license the Java branding
> rights from Sun, as Apache does not pass those rights
> downstream to users or redistributors of our software. Note
> that if an entity made a derivative work, or used only part of
> Harmony's source code in building their implementation, they
> would still be obligated to obtain their own JCK license for,
> and test the software themselves. Apache does not make its
> TCKs available for use outside of our projects.
> "
> http://www.apache.org/jcp/sunopenletterfaq.html
>
> As described above, it is in reality pretty impossible for IBM to use
> Harmony to 'steal' Java, as IBM could only use the binaries packaged
> and tested by Apache completely unaltered.
>
Ah. That clarifies things.
I wonder if the real issue here is that Sun's TCK is really too weak to
ensure adequate compatibility of a completely disparate implementations
and that Sun has only recently discovered that allowing implementations
that didn't start with their code and then deviate (and thus have many
of the same undocumented behaviors) to certify with it would allow an
unacceptable level of incompatibility. If so, my experience with J9
would tend to suggest that the TCK is indeed too weak. Here Sun's
finances do again become relevant -- they can't afford massive
investment in the TCK or Java specification to add sufficient teeth to
ensure compatibility if sufficient teeth are not already present.
--
Jess Holle
Personally, I am sceptical that is the only reason for preventing Harmony from obtaining the testing kit - others have speculated/ indicated financial motives: "Some off-the-record sources chatted with me about it and I now feel like I have a bit more of a sense of what it's all about. Here's the punchline: The dispute between Sun and the ASF over a Java SE implementation, which resulted in a no vote on Java EE? At its heart, it's about making an end run around Java ME." http://www.javaworld.com/community/node/2601