Emergent: Oracle's behavior re Java

James Hogarth james.hogarth at gmail.com
Sat Aug 14 10:28:55 UTC 2010


On 14 August 2010 00:02, Bruno Girin <brunogirin at gmail.com> wrote:
> On Sat, 2010-08-14 at 03:12 +0530, Manish Sinha wrote:
> <snip>
>> They are going after Google as they think they can make a huge amount of
>> money since Google has deep pockets. If Google bends, then the patent
>> deals would be a huge monetization for Oracle.
>>
>> As I said, DVM is not JVM and has different instruction set. Oracle
>> needs to prove that their patents are being infringed in DVM. I don't
>> get about fragmentation. The dev end code is same, the VM is different.
>> The dev cares more about the code *if* he knows that it's
>> write-once-run-anywhere.
>
> Well no, the code is not the same: DVM doesn't ship the whole of the
> standard API and adds bits of its own, in particular the UI packages.
> Also, DVM is the only JVM for which a dev has to compile specifically
> because the byte code is different. For any other implementation of the
> JRE, the byte code is the same so you can compile your app and ship a
> jar file rather than source code and it will run.
>
> >From a development point of view, if you want to create a Java app for
> mobile, you do have to target two environments: JME and Android; hence
> the fragmentation.
>
> Anyway, I'm not saying that Oracle is right or wrong in doing this, I'm
> just trying to understand the motivation behind it.
>
> Bruno
>
>

Okay this little 'factoid' that Google have a bastardised JVM for
Android is starting to annoy me... It has become one of those things
someone hears from X and tells Y so that Z says X and Y both say so
and it must be true...

Android does *NOT* have a Java Virtual Machine. Google have never said
it has a Java Virtual Machine. Microsoft got sued  by Sun
Micrososystems before for breach of contract and trademark issues in
that they called their virtual machine Java but did not have the same
interfaces (and in fact extended as well) as Sun Java and consequently
fractured what Java meant - ie you cannot call it Java unless it has
all the same interfaces as Java... this is the same as the Firefox
(and associated trademarks) in that Mozilla will not legally let the
browser be called their Trademark 'Firefox' unless it is complilied
only from their source without modification.... this is was let to
Iceweasel etc.

Nokia etc license the J2ME runtime from Sun (now oracle) and hence you
see the standard coffee cup logo as a splashscreen when using
applications on their systems. This logo *NEVER* appears on an Android
system and no attempt is made to call it Java.

The documentation is very clear that Dalvik is not Java and at the low
level (where it counts) there are significant differences - a
registered based VM rather than stack based, very quick initialisation
of objects to seamlessly move between activities, low memory footprint
etc etc.

The Java syntax is used to write for Android in the SDK... but the
language to write in has no bearing on the Android system itself.
Android has it's own class libraries based on the work done in Apache
Harmony so no conflict there. It cannot be copyright issues given that
Harmony had the class libraries done as a clean room implementation
and Dalvik is Google's on work and not derived from other code. Oracle
have not claimed Trademark issues (and it would be silly for them to
do so goven that Google say DVM is NOT JVM). Trade secrets would not
come into this as Google made no agreements with Sun/Oracle. So that
leaves patents... something Oracle claim affects the 'java like'
language one writes in for Android but realistically cannot affect the
DVM runtime or else any Virtual Machine would be in trouble... and Sun
would never have let MS get away with .Net then...

So it's all pretty much rubbish and given we are on an 'Ubuntu'
mailing list that has the GPL'd openjdk which is a desktop
implementation and thus covered by the covenant this entire discussion
is pretty much moot - doubly so given Debian legal will no doubt be
investigating and Ubuntu will just pretty much follow them...

James




More information about the Ubuntu-devel-discuss mailing list