|
Authored by: Anonymous on Monday, April 23 2012 @ 09:14 AM EDT |
I think it probably is true. Look it at logically:
OpenJDK is released under the GPL with the class path exception.
I receive the openJDK binary only. What are my rights under GPL+CE? Well
actually the GPL says I can do anything at all with this code; the GPL only
kicks in if I distribute the openJDK - specifically the Class Path Exception
says I can link run my own programs on the openJDK and they can be under any
license - even proprietary. Also the GPL is very clear that the output of a
program running on a GPL'd binary belongs to the user not RMS or linus or Oracle
(this obviously has to be true)
The Reflection mechanism is not reverse engineering or bytecode decompilation it
is a specific feature of Java since the early days where you can ask whether a
class is available, what its API is - and then call that API dynamically at
runtime - it is a runtime discovery/capabilities system - something that has no
analogy in standard c. You can not use reflection to discover the source-code
behind max(int a, int b) - only that it exists and how to call it - the API is
advertised without license and free of any restrictions - provided your program
is running on OpenJDK. Before when java was closed source there used to be
restrictions on what you were licensed to do with reflection in terms of
altering core Java libraries at runtime - but as soon as openJDK was released
under GPL+CE it was game over man; game over.
[ Reply to This | Parent | # ]
|
|
Authored by: mschmitz on Monday, April 23 2012 @ 04:52 PM EDT |
Reverse engineering in order to ensure interoperability is recognized in a
number of jurisdictions as invalidating EULA provisions prohibiting such reverse
engineering. It seems to me the reflection trick would be a classic example,
could be used in one such jurisdiction to come up with the API specification
(legally unencumbered because the EULA provision would be null and void in said
jurisdiction) and then used as input for a clean room implementation.
The only problem is Google didn't do it that way, likely because they relied on
API specs not being protectable.
-- mschmitz
[ Reply to This | Parent | # ]
|
|
|
|
|