Java released with contradictory licenses. GPL v2 contradicts the TCK.

The GPL v2, is all about giving the person who receives that license the permission to modify the original software and make derivative works, in exchange for that person being obligated to pass along that freedom to whoever uses the new work.    This is EXACTLY the opposite of what the TCK requires:

“…a Licensee Implementation that

(i) fully implements the Java Specification, including all its required interfaces and functionality;

(ii) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields, methods or constructors within the Licensor Name Space other than those required/authorized by the Specification…”

If I receive a program licensed under the GPL v2, I never in a million years would think that I can’t modify it so that I must preserve every interface and functionality!!!  That’s basically saying you can’t modify the program!

What more black and white contradiction could you possibly have?  So which license should be the one that people are required to follow?  The GPL v2 or the OpenJDK Community TCK License Agreement?

If Sun (and now Oracle) licensed Java under the GPL v2 which indemnifies Google from any patent lawsuits related to the licensed code explicitly:

Clause (7) of the license clearly says:

“If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.”

Which means, if you are going to go after anyone with patent (or copyright) claims that pertain to the software licensed by the GPL v2, then you cannot release the software under GPL v2.  However, Sun clearly licensed Java under the GPL v2, so they indemnified everyone from any patent lawsuits that are derived from the licensed software.

The purpose of the TCK was to avoid the tactic that Microsoft tried to use against java to “embrace, extend, extinguish”.  Not even the most clinically insane person would ever argue that Google, and it’s Android platform are trying to extinguish Java.  In fact the opposite is true.  They breathed new life into mobile Java, that was otherwise pretty dull when you look at Java Micro Edition.

So the wording and intent of the licenses offered by SUN indemnify Google from the action that Oracle is taking.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s