To read all comments associated with this story, please click here.
I can't really clarify but Java is not open source, at least not in the sense of Firefox or TeX or Linux or anything that has its roots in the open source movement, whether as seen by the FSF or predating it (TeX -and other works of Knuth?- for instance).
Second, open source doesn't equate "take it and do whatever you want with it"; open source comes with a license, with agreement terms, conditions, etc. Those terms have to be explicitly licensed under a "this is public domain, I did it for all to own" license with no restriction to be truly free of any constraint. In short, all licenses have license terms. That's including a public domain implicit license term that you may not sue others for having the same benefit that you have.
The problem here seems to be that Google violates some of the terms.
Edited 2010-10-29 12:52 UTC
For one thing, code theft is still very much an issue with open source software. Open source software still has a software license that must be abided, and in this case, open source Java is GPL, which is one of the more restrictive open source licenses (technically we call it "free software").
Furthermore it is possible that this version of the code was lifted from a non-GPL implementation of Java. Even if it was the same code that was GPLed later, the terms of the decompiled copy still apply.
No, because this code was not transferred in the typical way for source code. Instead it was generated from the machine code (well, Java byte code), which bypasses the need to have the source code to make a modified copy. Certainly if this class had been under a compatible license, it would not have been decompiled at all. Instead this is an attempt to get around whatever license applied at the time using freshman-level CS plagiarism.




Member since:
2005-07-07
People seem pretty confused over this including me. Here's what I understand, correct me if I'm wrong.
Harmony was created as a Java SE implementation, validated by the Java TCK, which only allows for desktop implementations of Java. Oracle, formerly Sun, does not allow implementations for mobile devices to be validated by the Java TCK. So Google did an end around for Dalvik by using a validated open source implementation for their base, namely Harmony. Now Google doesn't claim that Dalvik is Java and it isn't since it only includes a subset of the specification but since the code was originally a part of project Harmony which was validated by the Java TCK Oracle cannot sue Harmony because they didn't violate the license while Google did with its mobile implementation, sort of. It really isn't that clear. I believe the whole code theft thing is really a red herring considering Java is open source (or am I missing something?). The real issue is whether or not it can be transferred to Harmony and then on to Google's Dalvik in such a fashion as it has been without violating the license.
Can anyone clarify?