Google Backs Out of JavaOne 344
snydeq writes "Citing concerns about Oracle's lawsuit against it, Google has backed out of the upcoming JavaOne conference. 'Oracle's recent lawsuit against Google and open source has made it impossible for us to freely share our thoughts about the future of Java and open source generally,' Google's Joshua Bloch said in a blog post. The move may signal eventual fragmentation for Java, with Google conceivably splintering off the Java-like language it uses for Android."
Re:Can't they technically fork it? (Score:2, Interesting)
Sun did open source Java, and did wind up rewriting some of the native libraries to make it possible. What would happen, however, is renaming it due to trademarks now owned by Oracle. That brings up questions such as would Google need to rename portions of the code, such as package names? The entire JFC exists in the java.* and javax.* packages. What about the sun.* classes that are used under the covers? Those would be easier, since developers aren't supposed to use them directly.
I think "open source Java" is a reality, but forking the project is not as easy as it sounds.
Re:!Good (Score:5, Interesting)
Except that Android doesn't run Java classes - it runs dalvik classes. It's like you taking a .doc file and converting it to pdf so that people don't need the Evil Word.
Java's dying anyway. It's a lot slower than dalvik, and Java simply hasn't lived up to its "write once run anywhere" claims. Just like it hasn't lived up to earlier promises to "reinvent the desktop", or before that, to "change the way we use the Internet with applets - remember them - to add interactivity.
What are they going to do when dalvik is extended to run on regular servers, and all those Java support contracts dry up? Just like is happening right now in the mobile space with the multi-fragmented JavaME? [javaverified.com]. Pretty bad when your core market tells you that the competition already raided your fridge, ate your breakfast and lunch, and took a dump on your supper.
Unintended consequences (Score:3, Interesting)
> Java's death means .NET and Windows in the server arena.
That's an interesting theory and I agree with it. .NET/Windows on the long run to avoid Java?
I'm wondering if this really is one of the consequences Oracle indended with this lawsuit.
What value would the acquired Sun be if everybody switched to
Re:Can't they technically fork it? (Score:5, Interesting)
Sun open sourced Java, and you can easily fork it. You can't call it Java unless it still implements the specification correctly, but the license that Sun released the code under means that you are safe from patent problems.
Google's problem is that they did not fork Java, they reimplemented it. This means that they have no copyright problems and do not have to abide by the Java license (GPL + runtime exemption), but they do have potential patent problems. Sun / Oracle has a patent grant that permits the use of their Java-related patents in any complete implementation of the Java spec. Android, however, is not a complete Java implementation. It implements the core language and a number of the java.* classes, but it does not provide the entire java.* class hierarchy. This means that it is not covered by the patent grant.
In summary, open source Java is fine, open source almost-Java is not.
Re:!Good (Score:4, Interesting)
Dream on if yo believe that the JIT is competitive. Even if it were able to pre-compile everything to native methods, you still lack some of the essential programming models that people have been using for decades to make things go faster.
Re:!Good (Score:3, Interesting)
I wasn't asking for proof that native code will be faster than Java, I was asking for proof of your original statement that that Java (I assume you meant the JVM) is a lot slower than Dalvik.
But yes, you're right, there's a hell of a lot of stuff that Java (be it running on a JVM or Dalvik) just won't do well, and anybody wanting to write truly high performance software had really better get used to writing in lower-level languages, or at the very least, understanding their stack right down to the hardware level.
Re:Loss of confidence (Score:2, Interesting)
It'll probably get me modded down, but I don't see this as a Bad Thing. When it comes to core Java systems (excluding GUI) it *is* write once run anywhere as long as you use the standard packages. Not only will it run on any JVM, it will also run in a predictable manner on any JVM (and I think this is one place where Google changes things - the behavior at execution time in some cases). I don't want a trusted vendor such as Google pushing a JVM implementation that is not compliant, yet still continuing to call it Java. Right now, when someone applies for a job as a senior Java developer, everyone knows what it means. When the JVM implementation is no longer standardized, developers start learning implementations instead of the platform -- quite possibly without knowing it.
If use a Java syntax with a custom JVM but called it something other than Java, I don't think Oracle would have complained.
Re:Lose-lose situation (Score:3, Interesting)
While the reputation of Oracle might mean something to yourself, myself or others on slashdot, the average joe on the streets of the world do not give a rats backend as to the "reputation" of Oracle.
All they care about is how well their phones work. Ergo, Oracle has very little to lose, since they already have inhouse lawyers anyway, and potentially something nice to gain; a nice chunk of leverage to be used in discussions with Google.
It's not the risk of pissing of slashdotters that Oracle should be concerned about. It's the possibility of pissing off other major players in the enterprise Java space. Should Google decide to move forward with going their own way with a new Java-like language, that's of moderate concern to Oracle. Should folks like IBM decide to collaborate with Google on that, and should some of the major open source projects that are Java-heavy (e.g. Apache) decide to move as well, Oracle may find itself holding rights in a language that no one else cares about.
All of that assumes that Google et al can work around or invalidate the patents Oracle holds. I'll bet that's not too hard, though. There's very little in Java that's actually novel, so I suspect that it wouldn't be hard to find prior art to invalidate Oracle's patents. Also, if IBM pitches in and brings its patent arsenal into play, Oracle could be forced into giving up its patent claims even without Google having to go to the effort of invalidating them.
Re:Lose-lose situation (Score:5, Interesting)
Having a good reputation among the slashdot crowd may be more important than you think. Oracle's name is quickly becoming mud in the minds of of a lot of developers, and while in the short term that may mean little to them, it will probably bite them in the ass down the road.
Developers dont make decisions about the use of Oracle's money stream products [oracle.com], of which Java is not among them.
Its the IT guys that make those decisions, and they pick Oracle because Oracles solutions are some of the best in the business. Oracle's revenue stream is in the same league as Google, Microsoft, Apple, IBM, Cisco, etc.. not a household name like some of them, but their revenue stream is testimonial to the quality of their products and the loyalty of those who do make purchasing decisions relevant to Oracle.
Oracle did not buy Sun for Java. Java was just a bonus. Sun was a direct competitor with some unique IP in the storage solutions space that Oracle was and will continue to be the #1 player in. You see Sun Server prominent on that products/services page, while Java is relegated to only footnote status in the "Related Technologies" section.
Java is a fine language for what its primarily used for, and Oracle certainly uses a lot of Java code, but they barely marketing Java itself. They couldn't give a rats ass as to what developers feel about Java. They sell solutions, not platforms.
Re:I'm glad (Score:3, Interesting)
Don't get me started on the platform.
Okay, I'm game. What's wrong with the platform?
Re:Lose-lose situation (Score:5, Interesting)
Am I missing some great strategic outcome Oracle is hoping for?
Yes, they need Google patents for their database product to not become obsolete in the next few years. Buying Sun got them two things - a) hardware fast enough to get them over the gap b) leverage for patent cross-licensing agreements.
This is a [software] patent (government) problem.
Re:!Good (Score:3, Interesting)
The C version is easy to understand when you are in total control and total understanding of the program flow. However, it's a nightmare for people trying to enhance or restructure the code because they can so easily cause the free() to not get called, get double called or to simply not realize all the places cleanup code is required. This is particularly true for all kinds of exception-like flows, that everything is cleared up in all varieties.
If you strictly adhere to RAII in C++ then things are fairly ok, but I honestly think that in this case C++ is too C-ish and not object oriented enough. Personally if I was designing a new language from scratch I would not do it like Java, but rather a resource tree where every object has a list of children and explicit keywords to pass and share ownership, where the latter would cause automatic ref-counting pointers. For those of you who have worked with C++/Qt, something like QObject but much deeper integrated into the language itself and with safeguards to not lose pointers so every bit of memory used can be explored from one root node and will be deterministically deleted when its owner goes out of scope or is deleted.
Re:Java won't die anytime soon. (Score:3, Interesting)
Java is an interpreted scripting language.
Wow, your ignorance of Java is astonishing.
Java is no more compiled than converting a word doc to a pdf is "compiling" it. You cannot execute the resulting class files directly
It's compiled for the virtual machine. Your choice of PDF as an example is rather interesting. Had you instead chosen PostScript, you'd have had greybeards provide countless counterexamples.
But no matter how you want to look at it, it's absurd to maintain that Java isn't compiled.