The Case For Oracle
An anonymous reader writes "In a lucid writeup, InfoWorld's Neil McAllister takes a different angle on the Oracle-Google lawsuit, giving an explanation why Oracle was right to sue Google. McAllister argues that Google is splintering the Java platform, just like Microsoft was doing back in the 90s, and should be held up to the same standards. He further cites Google's Josh Bloch calling for Oracle to take a lead role in steering Java, concluding that Bloch maybe 'should have been more careful what he wished for.'"
..before someone calls for an raid of McAllisters property saying he's been paid off by Oracle?
Block all searches for Oracle and Java on its search engine, until this issue is resolved
problem solved
how long until
By this logic SCO was also right to sue IBM or whoever. Those bastards splintered SCO's "property" after all!
Problem is, if they can do it to Google, they can do it to any distributor of a free software JVM.
To be safe, you have to either follow the Java Language Specification exactly (no subsets or supersets), or build your software on the OpenJDK software that Oracle distributes under GPLv2. Here's what info swpat.org has gathered so far about this case and its implications:
Expert in software patents or patent law? Contribute to the ESP wiki!
Java is their language. Don't like it? Don't use Java.
Myself, I never use Java because I don't like the language, that's my personal choice. But if Google wanted to use Java in a different way they should create their own derivative like Microsoft did with C#.
It feels kinda strange to defend Microsoft, but that's the way it is.
Google isn't advertising Android as a Java platform. It's a platform that you can write code for in the Java language, yes, but this is a world away from claiming you're shipping "Java", and virtually no end users are under the impression Java has anything to do with the Java platform. Be very clear about this: no applications shipped as .jar (or .class) files for J2ME, J2SE, or J2EE, will run under Android, and nobody thinks they will.
By comparison, Microsoft was shipping a supposedly compliant, but actually semi-incompatable, JVM with Windows that gave users and developers the idea it was a full implementation, which caused programs supposedly written for Java to often fail if either written for the Microsoft JVM and run under a standard stack, or vice versa.
If this is the crux of the author's argument, he's an idiot. If Google is "fragmenting" Java by allowing you to write programs in the language for its platform, then I suppose every operating system author, from Microsoft to Commodore, has been "fragmenting" Unix by allowing you to write code in C for their non-Unix operating systems.
You are not alone. This is not normal. None of this is normal.
And this won't cause more splintering? Really?
While I can definitely see the value of non-fragmentation for Java, which is why something like Microsoft's "mostly java + some MS stuff" pissed them off back in the day; it is my understanding that Sun themselves had several variants of java for different environments, with Java Card on the low end, for SIM-level embedded environments, up to Java EE. I am told that these are not entirely identical, nor is something like the Java ME on different phone models entirely similar between devices.
To what degree is Android basically a "Java, Smartphone Edition", produced by Google because Sun never got around to producing something other than Java ME for phones vs. being a "Java + proprietary bits" in the MS java mold?
McAllister argues that Google is splintering the Java platform, just like Microsoft was doing back in the 90s, and should be held up to the same standards.
What the hell does that mean? Microsoft got sued because it failed to live up to a contract (huge surprise there.) There are no contractual issues here, so far as I'm aware (if I'm wrong someone please correct me.)
Java isn't some religious manuscript that needs to be kept "pure" so the true believers won't rise up and slay those who would adulterate it. It's a goddamn PROGRAMMING LANGUAGE. If Oracle is suing Google, it has nothing whatsoever to do with Java being held to some standard (I could believe that of Sun, who held a certain vision for their progeny and a justifiable pride in their work) but is part of a some strategic plan. Matter of fact, that was Sun's strategy: keep Java consistent across all platforms so that "write once, run anywhere" would work. Do you really think that is a part of Oracle's planning? Is it even of the slightest concern?
Larry Ellison is a lot of things (I've heard appellations such as "real son of a bitch", "bastard", and "prick" applied to him on a regular basis) but he's not exactly a visionary. This is about money and access to specific markets, and trying to spin it as being about the welfare of the Java programming language is ridiculous. If I were a real conspiracy theorist I would have to wonder if one of Google's real competitors in the advertising space were behind this, but I'm not. I leave that to other posters.
The higher the technology, the sharper that two-edged sword.
I wish that I had mod points left. I would modded you up. The fact is, that if Google were to do what the GP did, well, that would make them JUST LIKE MS. That is why MS was sued, and lost. The last thing that Google needs to do is something that stupid. It helps in the short term, but kills in the long.
However, Google does not have to help Oracle either. And if I were Google, I would start exploring, along with the other phone companies, another VM. And let it slip that they are now exploring a different route for ALL OF THE SMART PHONES AND PHONES. At that point, Oracle will become VERY concerned about the idea of losing that market. Sun had the same issue. Wanted to make LOTS of money, and they were not content to simply control it as well as be the top money maker. They wanted the largest profits possible in the shortest time. That approach is what Oracle is doing.
I prefer the "u" in honour as it seems to be missing these days.
But hasn't Java been doing a good enough job splintering and fragmenting the platform with J2EE, J2SE, J2ME MIDP 1.0/2.0/3.0, JavaFX on its own?
http://twitter.com/object404
The lack of good games on the Android platform speaks for itself.
I have to disagree.
The people who learn and write Java are humans. Writing Java is part of their life and they have a right to continue doing it.
Much like culture. I think copyright should be limited to 10 years because it's not only *their* music, it's also *my* music. It's my childhood, and it's my culture. I want to re-live it whenever I choose, and I want to pass it on to friends and family if and when I choose.
Java would have no value if people didn't use it. When people use it, they're investing themselves in it. Java's value thus comes from the users, not only from Sun/Oracle, so the users should have rights to use that thing they contributed to.
Expert in software patents or patent law? Contribute to the ESP wiki!
Now go read what I wrote and then the replies that refute my position.
http://slashdot.org/comments.pl?sid=1760290&cid=33311026
The problem with the logical and technical reasons and why they don't apply to what I am guessing Oracle is thinking is that this stuff ends up in a court to be judged by people who have no idea what all of this means.
While I like to feel that Google is somehow better than Microsoft in all ways, I know this is clearly not true. The problem I do have with Google and their Java VM is that they aren't really contributing back to the core Java platform, and their choice of a different VM byte code makes me think of some of the things that hurt Smalltalk. In the case of Smalltalk none of the differing VM implementations were compatible, so it meant the you lost of the ability of 'compile once, run everywhere'. In many way what Oracle should be pushing for is:
- getting Google to use the standard Java byte code
- working with Oracle to contribute their work back to the core
J2ME is in many ways a dead platform, for GUI based devices, (at least, I am not aware of places proudly taking it forward), and Android is the best chance for seeing Java on low resource mobile platforms.
If Google does end up taking the same road as Microsoft with J++, then is could hurt very much what makes the Java appealing and even hurt the long term viability of Java as a cross-plaform language.
Jumpstart the tartan drive.
I stopped reading right where it said Dalvik is Java based. It doesn't even run Java byte codes...
Is it a requirement for a tech reporter to be completely clueless? Is not doing basic research part of the job requirement?
Following this logic Google Web Toolkit is "Java-based" too. Nevermind that the whole thing compiles to HTML and JavaScript.
Just because Google provides language bindings in Java (and is able to cross-compile the Java class libraries to another runtime), does not make Dalvik runtime "Java-based". It does mean Google is able to leverage existing developer base on their new platform though. Smart move.
What's next, Oracle going to sue GCJ for compiling Java to native?
That being said, mobile developers would be a heck of a lot happier if Android devices would run J2ME/JavaME apps out of the box instead of needing to port & recompile apps for Android/Dalvik.
How much would it cost for Google to pay Oracle a license to bundle the JavaME VM on Android? If anything, hopefully that's one thing that comes out of this as porting for different platforms is a $%@#$^. The less steps needed, the better.
http://twitter.com/object404
But that still doesn't explain why one of oracle's demands is for all copies of android to be destroyed. That demand just reeks of evil power trip. I would prefer it if my very nice phone continued to work and it needs android to do that. Oracle need to back off a bit.
"Welcome to our world. We are the wasted youth. And we are the future too." Yes, I know these are stupid lyrics.
If I want to make 25 different soups, that's my right. But nobody can have my recipes!
NEXT!
Face the truth why didn't Google use a full implementation of java as they are required by the patent grants. Because they wanted people to write for there platform and not simply port software. Just like Apple not wanting Flash for the same reason.
and doesn't pretend to be. Using a language inspired by Java and a library along the lines of Java's library should be legally OK, right?
As the dominant search engine, Google has an obligation to treat everyone on a fair, reasonable and non-discriminatory (FRAND) basis. Anything else would be an antitrust violation. That's why it won't happen. (If it theoretically did, it would just lead to the next lawsuit, plus potentially hefty fines levied by regulators around the globe, particularly the US Dept. of Justice and the European Commission.)
I assume we all want the rule of law, not the law of the strong.
Complaints against Google for unfair and discriminatory rankings of certain competitors on SERPs (search engine results pages) have already been lodged in several countries. I don't mean to comment on whether those complaints are credible or not, but one way or the other Google can't take any chances in that area.
There are reasons for which I increasingly believe this case isn't all about "evil Oracle vs. the good guys at Google". I oppose software patents and particularly the use of patents against free and open source software. In Google's case, we are however talking about a company that is very much pro-patent as far its own patents (especially the search engine patents) are concerned and just despises everyone else's when used against it. Now Google effectively calls on the community, but Google doesn't support the community in the fight against software patents. It's a typical case of wanting to have its cake and eat it.
There are also other reasons for concern, but this was just one important example and it has to do with the search engine.
When Microsoft was sued, Java was not yet open source. Microsoft had to buy the right to distribute Java. They were sued for breach of contract. Now that Java is open source, a whole new set of issues come into play. There are significant aspects of open source licensing that have yet to be decided in the courts. Those precedents may finally be set.
"To those who are overly cautious, everything is impossible. "
for violating their patent on "Embrace, Extend, Extinguish"?
Scott Meyers could sue Google's Josh Bloch for his "Effective Java, 50 items" thing.
McAllister argues that Google is splintering the Java platform, just like Microsoft was doing back in the 90s
So what? Companies don't have a right not to have their platforms "splintered".
Besides, Google isn't "splintering the Java platform", they created a new platform that happens to use the Java language.
Furthermore, Sun/Oracle's mobile efforts are largely dead, so Google isn't "splintering" anything, it is replacing them with something actually viable.
Actually there are a number of similarities. I'm not taking sides here - I don't write Java and don't care about it myself. However, I do care that licenses are upheld as I've personally been bitten by people ripping off my code for their profit.
When Google decided to use Java they had full access to the Java license, and they had full knowledge of the very public lawsuit between Sun and Microsoft. They still chose to do what Microsoft did and ship an incompatible version of Java. I suspect that (like Microsoft) they feel they are above the rules that govern other developers.
Google knew what they were doing. Why they did it, I don't know - did someone decide to ignore the license, or did they forget to involve the legal folks, or maybe they didn't think the license applied to them. The point is that they did use a great deal of the Java code, but then they discarded the bits and pieces that they didn't need. Can't blame them for that - why do work that you don't need to do. One answer: because the license says you must. Same with the executable format - you can come up with a better one, but it clearly breaks the Java license and the whole spirit of Java (as I understand it) if you make it the only way to execute code on your system.
I like Google, I really do. Google has done great things in the last few years, but they are starting to do some really boneheaded stuff also (net neutrality comes to mind immediately). Their corporate attitude seems to be "we're changing the world, get out of our way." Which is fine provided that you don't trample on other people and their rights in the process. I also worry about all the free stuff they give away - Microsoft used to do a bunch of free stuff in the early 80s, and look how that changed - will Google's shareholders eventually demand that they monetize everything?
I suspect this is just a ploy by Oracle to monetize Java by making Google pay for a new and special license for the Android platform. Nobody ever accused Oracle of being a philanthropic institution. I don't think this has any negative sides for FOSS - it's just a case of getting companies to follow the license that goes with the code they use, otherwise they have no license to use the code. It's no different than suing companies who don't follow the terms of the GPL license, and I don't see people up in arms about that.
One difference, Oracle has a pile of money and can afford to the best lawyering around. But so can Google. It will be interesting to see how this goes.
Face the truth why didn't Google use a full implementation of java as they are required by the patent grants. Because they wanted people to write for there platform and not simply port software.
Google didn't use a "full implementation of Java" because J2SE is extremely bloated and unsuitable for mobile phone use. And they couldn't use Sun's implementation because that wasn't even open sourced when they started. J2ME doesn't have a patent grant, so making a cleanroom implementation of that wouldn't have helped them either.
Of course, Google didn't use "an implementation of Java" at all, they implemented something completely different that happens to use Java syntax. Oracle's lawsuit is not based on the parts that Android happens to share with Java, because those are not covered by any patents.
Buy enough U.S. Congress votes to legislatively do away with software patents here. Hey, I can dream...
Maybe this would be a good time for Google to cut ties with the Java language altogether, by coming up with a new, better language that compiles to Dalvik. The Java language has too many problems anyway.
Those editions are supposed to be standardized by the Java Sham Community Process, but when it comes to Android Google didn't participate in the JCP.
What Oracle are objecting to, regardless of the legal mechanisms they're using, is the *their* developers are being diverted onto a platform they don't control. Google don't use any Java source code, trademarks and so on, but once they have a community of programmers using the Java language (without the current Java leadership in control of the platform) Oracle may find "their" developers wanting future "Androidisms" porting back to the JDK. Imagine a Java with unsigned integers, a quicker/dirtier native code layer ... Google are free to add any of these to Android without Oracle's say-so. That is the situation they don't want, the feeling that the Java language and platform is a variable commodity.
I'd place a bet that someone is working on an iOS SDK, toolchain & libraries - something to allow iOS developers to target Android without leaving Objective C, or mix & match Java + ObjC libraries. If you think Oracle's reaction to Android is bad, we can probably guess at the kinds of SDK machinations Apple would go to in order to stop "their" iOS developers from hedging their bets.
Matthew @ Bytemark Hosting
The only problem is that Dalvik ISN'T a JVM. Never was, never will be, and was never called one.
To be safe, you have to either follow the Java Language Specification exactly (no subsets or supersets),
Not quite. Supersets are allowed, but only if they do not add anything in the java namespace. For example, you can add a new google.Array class, but you can't add methods to the Array class in the java namespace. The point of this is so that people developing Java applications can assume that anything in the java.* classes on their platform will work on any other platform.
The problem with Android is that it does implement a load of the java.* namespace, but it is not a complete implementation. This means that code written using portable Java will not always work on Android. I don't think they add anything in the java.* namespace, so you can port apps from android unless they use the android.* stuff.
This is actually the opposite of what Microsoft did. They added stuff in the java.* namespace, so developers would write apps with J++ that they expected to be portable, but which weren't.
I am TheRaven on Soylent News
I think that to be safe you just don't use the slow piece of crap that is Java.
It's been a poor language from the start and it makes you have to type a lot of unnecessary code. I really can't understand why anyone subjects themselves to the write once debug everywhere philosophy.
Pretty bad, when better and faster is trumped by "You didn't get permission.". That is not flexibility and adaptability; it is the onset of rigor mortis.
Orwell: "In a Time of Universal Deceit, telling the Truth is a Revolutionary Act"
Reposting as necessary:
Java (the language) is free and open. Java (the trademark) is not. Provided google is not doing business advertising "Android - with Java(tm)!", they're doing nothing wrong. Oracle owns ONLY the trademark.
Wrong according to the article. The article quote Bruce Perens saying that the open source lic grants free access to the patents IF there is complete implementation not a subset or No lic. They have clearly violated the lic, therefor have no patent protection.
This is a patent case not a branding case. It would not matter if Google said it was using Java or not. By reimplementing part of Java they unambiguously violate the patents.
Read the article.
Some drink at the fountain of knowledge. Others just gargle.
Your rant is gibberish.
Some drink at the fountain of knowledge. Others just gargle.
You would have done better to keep reading. The WHOLE POINT of the case is that the open source lice grants access to the patents on the Java IF and ONLY IF you fully implement java and USE THE JVM. since Dalvik does not use the Java byte code it clearly violates the open source lic terms and thus is open to a patent suit.
Some drink at the fountain of knowledge. Others just gargle.
What a bunch of morons.
Dalvik (what android runs) is not Java
From Ellison's personal journal:
[X] Screw over Google ...
[X] Screw over the Java brand (oops, didn't see that one. Oh well, it was Sun shit anyway).
[X] Screw over the MySQL brand (it's just a flesh wound, and hey, they can always use Oracle)
[X] Screw over sparc brand (hardware's a PITA anyway, the real loot is in software)
[X] Screw over openSolaris (that one felt GOOD!!! Eat your heart out, Balmer. Bet ye killing the KIN wasn't half the fun)
[_] Screw over OpenOffice.
[_] Find something else to buy and break. Hmmm, Novell's for sale
Pick one ... heck, pick all of them ...
[1] Java is a bloated piece of crap.
[2] The runtime takes a lot more memory than dalvik
[3] Java performance sux
[4] Java is so 1995
Seriously, it's about time someone killed it off - who better than Oracle. Thank you Mr. Ellison!
But then Sun's mobile Java didn't even work and died. So maybe they should be suing themselves first. After all, if google has a working mobile Java implementation and the Java owners couldn't manage it, Oracle are failing Java and should have no control over it.
Google is splintering the Java platform, just like Microsoft was doing back in the 90s, and should be held up to the same standards
Does that mean Google will get a slap on the wrist and then it's business as usual?
Twinstiq, game news
MS used the similar arguments for creating their own implementation.
I also don't see how you can call J2ME useless when there are thousands of mobile games that are written for it. A lot of those games in fact have been ported over to Android. It isn't as if Android games are in 3D and high def.
Google created Android to avoid licensing issues and lock developers into their own platform. Sorry if that reality is too harsh for Google lovers.
The purpose of a language is communication, and what Oracle is doing here is no different than censorship. The Java language by itself is completely worthless--its value is entirely derived from the people who express their ideas through it. Why should Oracle have free rein to control their work?
Targeting Dalvik (which is not a JVM) on an Anrdoid phone is no different than compiling Java with GCJ. If people want to run their code on a different platform, why should Oracle have any right to stop them?
The reality is that they don't. In the end, this is about the abuse of software patents, and you can't support Oracle here without supporting software patents. However you feel about Google, it isn't right to be cheering for a patent troll.
Google never claimed they were using the Java platform, merely the same java language. This is (primarly) a software patent lawsuit. I don't see how you can compare it to GPL enforcement in that google did a clean room implementation of Dalvik.
Think of it as taking a Word doc and running it through a PDF converter - it's no longer a Word doc.
Java *WAS* not their language. It used to be free and open and is very widely used.
By buying Sun and locking down Java, Oracle have proven that they are more concerned with profits and monetary gain than they are with the quality of their product, or its appeal and use throughout the world. They're basically just milking it for everything it's worth, even though they had NO part in creating or implementing it to this point. It's very unreasonable and all out anti-competitive of them.
Basically, their just being as dickish as they possibly can now that they have the keys to the house. I hope that house burns down, and takes everyone on the top floor along with it. Oracle has never been a quality software company, and just because they own Java now it doesn't make them any better. In fact, this action makes them even worse in pretty much everyone's eyes but their shareholders.
If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
A fork is the best thing that could happen to the platform.
This is issue is whether something you write in Java code can be limited in how it is translated. Which it simply can't.
Oracle cannot claim to be the only interpreter of something you wrote, in this case, translating it into machine code. They own the compiler and engines, but not the ability to prevent independent interpretation of your code. There's no legal basis for restricting the interpretation of your own expression. Unless Google stole code or something completely stupid and unnecessary (they have the talent to write an interpreter without needing any help,) it's an idiotic lawsuit.
This sentence no verb.
As in "stick a fork in it, it's done"?
Yep, you nailed it.
This won't be a popular view here, because (1) it's Oracle, and (2) they are using patents, and (3) the target is Google - but Google is using Java to its benefit while diminishing the whole idea of Java as a platform, which runs predictably on different OSes/devices. Google modifies Java for its own purposes, which is good in the short term for Google, but bad for Java as a platform.
I'm a FOSS person, and I hate software patents, so I hate the means Oracle is using. But I see their point. Microsoft did it to Sun, and now Google is doing it to Oracle. If Novell ends up doing it to Microsoft - making Mono popular enough, and dissimilar enough from .NET, so as to endanger the cohesiveness of the platform as a whole - then we may see another lawsuit as well. And I would see the point there too (but, for now at least Microsoft and Novell seem cozy). But I'd still hate the means - patents, of course.
There are a lot of benefits to using Java or C#, like Google and Novell are doing - you tie into a big existing platform, a large existing community of developers familiar with it. But the price is that you need to play within the rules. If you start to cause fragmentation in that platform, don't be surprised if the corporation that developed the platform, has patents on it, and is its steward, will come after you.
If you don't like getting sued, either use a language not so encumbered - Python (Google App Engine, original version), Go, JavaScript (WebOS chose that route), Lua, Ruby, etc. - or, work with the steward of the platform. Google chose not to work with Sun (remember, this was controversial when Dalvik was first announced! Sun was kind of pissed and surprised. But things settled down, and we all forgot about it...). Microsoft, way back when, chose not to work with Sun, and got sued. Novell has chosen the other route, to work with Microsoft. That may make Mono a relatively safer implementation that it would be otherwise, but if you start your own .NET implementation, you will again be forced to choose to work with Microsoft - or very, very carefully fulfill the conditions of using their platform - or face the risk of a lawsuit. Google simply chose to ignore that risk here.
To be safe, you have to either follow the Java Language Specification exactly (no subsets or supersets),
Not quite. Supersets are allowed, but only if they do not add anything in the java namespace.
In that case, it is not a superset (as per defined by the Java license), but a 3rd party library which is fine and allowed by the Java license. I know what you are trying to mean and I agree with you, but you are using the wrong term.
The author of the article says that Dalvik is Java-based. He then makes many references mixing Java the language with Java the platform. All in all a worthless article and reading many of the comments to the article on the site shows that most just don't understand the difference between a specification for a language and a platform for the runtime of the language. Heck, most don't even know what Microsoft did with the license to Java they got from Sun in 1996.
I want my 15 minutes back.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
Google decided to use the java language in Android. It appears that they did so because it was a decent programming language and many programmers were already familiar with it. For licensing reasons they didn't use Sun's branded Java runtime, but instead pieced together their own compiler and set of class libraries from multiple sources.
Sun didn't like what Google was doing (says various sources), but no legal action was taken until Oracle swallowed up Sun and levied a double-combo patent-and-copyright lawsuit against Google.
---
So, if those are the facts, what would happen if some big company like Oracle, Yahoo, or Apple were to do something similar to Google?
Google has their own programming language, Go.
Unlike Java(tm), Go is under a BSD license, and includes a patent grant to all relevant patents that Google owns or can license to you. So if Apple or Amazon or whomever wanted to create a programming layer on top of which proprietary software could be written, you could just use Go as it exists right now and Google wouldn't be able to sue. (It's unclear what motivation Google would have to sue, anyhow)
While I'm a strong supporter of Free Software, I'm quite opposed to tying-up the specs of programming languages, file formats, and transmission protocols using copyrights, patents, or trade secrets, even if only under a Free Software license . Sure, an optimized version of a compiler or a parser might be available under a more restrictive license, however one should not be held over a barrel due to the programming language they used or the format in which they decided to store their data or code. Those specifications and programming features necessary for implementation should be completely unencumbered.
coding is life
> I think that your garden is also my garden
The things I mentioned are all nonrival. My downloading of songs my parents played when I was a kid doesn't interfere with anyone else's ability to appreciate those songs.
Gardens are rivalrous. You sitting in a paddling pool drinking beer in my front garden, would interfere with my use of my front garden.
Expert in software patents or patent law? Contribute to the ESP wiki!
That isn't the problem at all. Android / Dalvik has never claimed to be an implementation of Java so its irrelevant how much or how little of the standard namespace it has implemented. It could have implemented all 100% and Oracle would still be pissed.
The reason why they're pissed is because Google chose to deliberately make a Java-like environment, one which benefited from the Java programming language but wasn't actually Java and never claimed to be. Therefore it was not subject to Oracle's licensing terms or directional interference. Since Google never claimed it was Java (as did Microsoft when they produced a bastardized version), Oracle cannot sue for licence or trademark infringement.
All they can do as they have done is rummage around for some patents that were violated in the process. The patents look pretty weak, and some of them don't even cover Android OS, just the SDK. I think what is likely to happen is that Google will vigourously defend the suit and issue a counter suit, but they won't settle for anything less than a sop to Oracle. Perhaps that sop will be to fold JavaFX into the SDK or something. I actually like JavaFX and it would be a good fit and would bring Oracle back in the game to some extent. What I absolutely don't see happening ever is Google using Java ME or dumping Dalvik.
IMO Oracle / Sun really have themselves to blame for this. Java devs love Java but they despise the glacial pace of development. Java 7 is years overdue and Java ME is stale technology, inadequate for most of the purposes it was touted for. The average STB, or smart phone has outgrown Java ME. I do not blame Google for not waiting around for Oracle's blessing and doing their own thing.
To be safe, you have to either follow the Java Language Specification exactly (no subsets or supersets),
This is actually the opposite of what Microsoft did. They added stuff in the java.* namespace, so developers would write apps with J++ that they expected to be portable, but which weren't.
That's only half of it, but the other half is what's important here for somewhat the same reasons. http://www.javaworld.com/javaworld/jw-10-1997/jw-10-lawsuit.html
According to Sun's press release, "the complaint charges Microsoft with trademark infringement, false advertising, breach of contract, unfair competition, interference with prospective economic advantage, and inducing breach of contract." Specifically, Microsoft made the choice last week to ship products it claims are fully Java 1.1 compliant, but which failed to pass the Java 1.1 compatibility tests the company received from Sun in February. "Microsoft embarked on a deliberate course of conduct to fragment Java," said Alan Baratz, president of JavaSoft, during a Sun teleconference today at 10:30 a.m. PST.
Sun did complain that MS didn't implement the entire Java feature set, in addition to altering to the Java core libraries, both violations of the agreement with Sun. The situation is covered by a different agreement now for those who wish to use Java IP. The patent protection offered in the Java implementers license only apply to the exact Java specification, nothing more and nothing less:
Java's licensing is more complex now that it's open source, which might explain why Oracle favored the patent route in its complaint against Google. Open source luminary Bruce Perens points out that the Java Language Specification includes language granting Java implementers free license to Sun's patents, but that doesn't apply here. That license is only valid for complete implementations of Java and its required packages, "without subsetting or supersetting," which the Android implementation clearly is not.
The problem is that google would be covered if it implemented Java according to the specification, but otherwise it is exposed by picking and choosing what it wants to use. Of course google has a defensive patent portfolio itself, but it doesn't look good for them right now.
It's interesting to read the arguments *against* open license enforcement, especially here. Isn't the usual mantra, follow it or get deservedly sued? :-P
That isn't the problem at all. Android / Dalvik has never claimed to be an implementation of Java so its irrelevant how much or how little of the standard namespace it has implemented
Incorrect. Sun / Oracle licenses all of the patents in the lawsuit, for free, for use in complete implementations of the Java platform. The fact that Android / Dalvik is not a complete implementation of the Java platform is precisely the problem because it means that they are not covered by the patent grant. If it were, then the lawsuit would not exist.
I am TheRaven on Soylent News
Are you sure? I remember way back in 1997, in school, writing apps with J++ and their were MS name spaces, and the documentation indicated that it was an Windows only function?
Java isn't some religious manuscript that needs to be kept "pure" so the true believers won't rise up and slay those who would adulterate it. It's a goddamn PROGRAMMING LANGUAGE.
The "purity" of Java is not important because of religious reasons, it's important exactly because Java is not just a language - it's a platform.
Java encompasses the language, the frameworks, and the VM used to run Java. If you start modifying any of those you don't really have Java anymore, which breaks interoperability.
You have to have all of those systems in place passing tests in order to be a Java platform. You can chose to ignore all that, but that means you can't be a Java platform and as a result, cannot be covered by the patents that the Java consortium licenses to implementations of Java.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Problem is, if they can do it to Google, they can do it to any distributor of a free software JVM.
No, because the goal of the other projects is to pass the tests and thus be considered a real VM. Then they would be covered by the patent pool.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
> the goal of the other projects is to pass the tests and thus be considered a real VM.
Ok, if they were complete implementations, then they'd get patent coverage under the Java Language Specification. One major inconvenience though is that the code would have to be developed behind closed doors until it's 100% complete. Developing in the usual free software community style would count as distributing subsets.
Another protection that certain projects do have comes from being on OIN's list of covered software. Since Oracle is a licensee of OIN, they can't use their Java patents, or any other of their patents, against software on the protected list.
Expert in software patents or patent law? Contribute to the ESP wiki!
OraKill. Good descriptive name. Better than Sun+Oracle = Snore-aKill, but OraKill.exe is software. Maybe Whore-aKill? Bore-aKill?
If Ellison and Ballmer get married, would they be Bellison? ElliBall? Hey, how else would 2 boring, annoying billionaires find a mate?
Wish I had mod points left. The truth is that J2ME did more damage to java portability than Google ever could. They should be thanking Google for keeping Java relevant.
I think Google should say, "You know what? our bad. We'll use another language to compile to Dalvik instead like Go or C#" and watch the smug look on Larry's face as it melts away into horror -- knowing that he just pissed away the only successful successful java implementation on in the mobile space.
Some say this is only because Oracle now has Java, but if the issue is the mobile platform, we also see that Google is playing hardball with the phone. Google is suing companies that use Google tech on Android without Google approval. Google is charging $5 to play in the Chrome field. Google is clearly aggressively protecting it's IP. Not allowing Sun to do the same is hypocritical.
With a unified Java we have a language that one can do many interesting technical things in without a required $1000 IDE. The applications from Java is about the only thing that competes with MS and Adobe. Openoffice.org is one of the very few alternative we have to paying MS a huge amount of money or giving Google control over our data. Defending Java is a big deal. Taking it down would provide competitive advantages to many big players.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
I believe Oracle will pursue even people who base their code on OpenJDK.
Otherwise, wouldn't it be sufficient to just include a copy of major pieces of OpenJDK in your software (whether they are enabled or increase the size of the final executable or not), in order for your entire codebase to benefit from the patent exemption?
It's about time people (in this case a corporation) stood up to Google. Just because they're big doesn't mean they can get away with flouting the law.
With the BDFL on staff, and speed up projects like unladen swallow, and support from a vendor like okia who want python/qt to be their one true development environment. Maybe now is the time to shift over ...
Since Google never claimed it was Java
Maybe Google never formally said that, but here is how Wikipedia describes Android:
The Android operating system software stack consists of Java applications running on a Java based object oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation.
Even clearer, Google says
The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
in developer.android.com.
I suppose you can call it The-Language-Previously-Known-As-Java or such (worked for Prince, til his contract ran out), but it is Java in every way that counts, except it has some differences that make Java the platform as a whole less standard. This irked Sun, and for good reason, but they got over it. Oracle is not over it. Sadly they decided to enforce this using patents, which is an abhorrent thing to do. But that they are irked by Google's actions - very understandable.
I don't claim to know all the financial issues but if this is a too big a deal can't Google just buy Oracle and end this? Isn't Google flush with cash? Tell Larry to retire and let him hang out on his boat!
I'm so sick of the 'Java is the future' viewpoint that I'll post a nice detailed response.
From TFA:
What made it new -- and important -- was the JVM, with its sandbox security model and its "write once, run anywhere" promise
Yes what made it new. It's not new anymore, now it's being super seeded by about a dozen other platforms. The decade of abysmal performance has ensured that the JVM is toast. Other 'write once run anywhere' platforms are rapidly taking over what little market share Java's promise managed to garner.
Google claims Oracle's actions are "an attack on the Java community," but that would only be true if Google were promoting Java.
The Java community (represented by people such as yourselves) is in dire straits. Java is dying. Slowly, but surely, this promising early 90's technology is proving to be almost a complete failure. How is a company making a language relevant again not promoting Java? Pull your head out of your 'cl'ass and smell the coffee. If the future of Java isn't with Google, then the Java language has no future.
Still, is that so terrible? The Java community needs a leader
Hit the buzzer on that one. The Java community doesn't need a leader, the Java community needs a win.. in a very big way. .NOT / Mono is soaking up Java headspace at a startling rate, particularly in the corporate market. Web based deployments are being rapidly taken over by [inset ajax language name here]. Java has lost the battle and is about to lose the war. Want Oracle as a leader? Where is Oracle leading java? Hint ... up a certain creek without a certain implement.
Standards compliance and binary portability mean nothing if nobody wants to write anything in your language. Google is saving Java and Oracle doesn't give a damn about Java ... this is a honey pot for Oracle who accidentally inherited a bunch of dying tech that would allow them to lick the pot dry. Oracle leading Java? Good luck with that.
I believe you've missed the point of the post you are quoting. He's making the comment that the article writer's points are invalid (ie Google is fracturing the environment), not that Oracle can't sue Google for patent infringement.
Oracle appears to want to just destroy Android. If their motive was to not fork/split Java, they would try to work with Google to resolve the situation, not try to force all use of Android to cease and completely annihilate the platform.
What Oracle is doing seems to be the doings of a madman, not someone who wants to make a genuine positive difference. There is nothing good that can come out of destroying Android.
I wonder if Apple is secretly behind this?
There already is a J2ME wrapper application in the android market that will accept j2me jars out of the box
Oracle is claiming patent infringement, which has to do with how Dalvik is implemented. It doesn't matter whether they support Java or not as a source language. If they infringe the VM patents, they infringe regardless of source language. The only reason Java is relevant to the discussions is it presumably raised the ire of Oracle and so they attempt to enforce the patents or not.
The mods seem to be on crack today^H^H^H^H^H. The parent's suggestion might be misguided and would be harmful to Google's credibility (as several people have pointed out) but there is no reason to believe he's trying to provoke a fight or troll.
Flamebait != "I disagree"
And if you've ever had the misfortune of downloading a game by "me4android" or "free4android", you're sad that it "works".
(You'd think Google would remove a developer who pirates 100's of games and packages them, often in an unplayable state, covered with 4 overlapping ads. You'd be wrong.)
http://www.cyrket.com/search?q=me4android
The outcome of this battle may be: a settlement that includes patent and technology exchange with relatively little money or damages between Google and Oracle.
The companies have to do a good dramatic performance because anti-competitive business practices are illegal.
But this kind of legal conflict between two of major American computer business organizations is precisely the way in which everybody else is shut out. These two large firms will license to each other huge chunks of intellectual property, under the guise of engaging in a "settlement" to avoid a ruinous court decision.
This instance of patent and copyright litigation is just as ugly as the individual who faces a $60,0000 claim for copyright infringement due to downloading songs.
But note the stunning difference: Google has a settlement pathway available. Google has patents and trade secrets of great value to Oracle.
So if they settle, then each organization has greatly advanced itself into a duopoly, where everybody else is wedged to the business sidelines.
The important point for you and me is:
The patent and copyright system is gradually penetrating the software world. The patent and copyright system shows it's power at inhibiting progress in the useful arts and draining the vitality out of the information systems technical revolution despite the great value of open source software.
So what to do:
Publish everything done in University and College courses and research under GPL version 3. Develop a code and comment search to facilitate showing prior art. There are probably 20 implementations before a person writes a patent claim.
Regulate licensing law as it applies to patents and copyrights. Patents are enshrined in the US Constitution, but the licensing of them has been exploited to the extremes of unfairness. The era of patents as a key to industrial supremacy needs to end.
Somebody go look for a bright Law Professor, ask him to write up a draft patent and copyright reform law. Something we can make an election issue. Bring back the American Populist political sensibility.
I get this today :
"Your download transaction cannot be approved. Contact Customer Service."
So I can no longer download the Java SDK, thanks Oracle.
Don't mean to be sarcastic or anything but I think Infoworld is to computing what the suit is to business efficiency.
True but not important to the case. If you use OpenJDK you get an explicit patent grant for patents that OpenJDK implements. If you write your own VM that uses those patented techniques, which is not hard because these ones are pretty broad, then no matter what your VM is called and no matter how much it is or is not Java you are still in need of a patent license from Oracle.
Oracle is basically saying "We control who is and is not allowed to create virtual machines with certain properties" -- if you create a VM that has those properties then you had better be implementing the Java language in full without extensions, or you had better pay Oracle for a license. Google didn't, so Google gets sued.
It's dumb, but that's US patent law.
I want my Cowboyneal
If the patents were licensed only for complete systems, this means that even if you aim to implement Oracle's whole specification eventually, you cannot distribute copies of your still-incomplete work in progress to other developers collaborating with you. So because any implementation passes through an incomplete stage before becoming complete, what use is this patent license?
Yes I agree completely, kill Java....and bring back VB! Ahhh...good old VB, where one could enjoy the nice tribal beat consisting of "real" programmers grinding their teeth and bashing their heads on their desks. It was very musical, kind of a "Gnash gnash..BANG...Gnash gnash...BANG". Oh what fun and joy it brought to the lives of programmers!
Seriously though, you can't really bitch about MSFT making incompatible versions with MS Java and then give Google a free pass just cause you like the company. It is either in spec or it ain't. If Google didn't want to follow the spec it ain't like there aren't other programming languages to choose from, or hell with Google's resources they could have came out with (or simply bought) their own. It kinda kills the point of having Java if you have Google Java, MS Java, Oracle Java, etc, so I can kinda see the point of why old Larry might get a tad pissy about it.
ACs don't waste your time replying, your posts are never seen by me.
I can assure you that I want to find out the truth about this, and I believe it's very honorable of you to have made a disclosure.
I have read Google's Bilski brief, and it only argues against business method patents and "abstract patents" on software, not against software patents in general. It also argues against patent inflation in this area, but that still isn't the same as opposing software patents.
I saw more than one passage recognizing the idea that future innovation should always be patentable.
The problem is that even if common sense may make some such wordings look like demands to abolish software patents, substantive patent law has its own logic and terminology. Here in Europe, we have a law that excludes computer programs "as such" from the scope of patentable subject matter. Still a Microsoft FAT patent and a Siemens XML document generator patent were upheld. New Zealand, too, now has to deal with the problem of how to tell software patents from "technical inventions" int his area.
What Google sent to the SCOTUS was against the Bilski business method patents, and went a little beyond, but was very far from demanding the abolition of patents that read on software. The European Patent Office, which grants tons of software patents all the time, could subscribe to every single one of Google's demands and still justify every single software patent grant it makes.
Again, forget common sense in connection with substantive patent law. Lots of wording will look on the surface as if they do away with softwaer patents -- without actually doing so if they had to be applied by a court.
Talking points:
See any difference?
And ye shall know the truth, and the truth shall make you free.
John 8:32(King James Version)
you can't really bitch about MSFT making incompatible versions with MS Java and then give Google a free pass just cause you like the company
Microsoft intended to destroy Java. Google intended to popularize it.
Have you got your LWN subscription yet?
It's the same as if someone were to use Word to create a .doc file, then run it through a doc2pdf converter. The final file has nothing to do with Word, and doesn't need a word processor to read it.
Even Oracle concedes this - their claims have nothing to do with Java, and everything to do with the design of virtual machines in general. Oracle claims it owns enforceable patents on ALL VM tech. The patents. btw, are bogus. There's plenty of prior art. Score another one for the USPTO.
Maybe Google never formally said that, but here is how Wikipedia describes Android...
"Yeah, but Wikipedia's summary uses the word 'Java'" is an insightful argument? How Wikipedia describes Android has no bearing on this issue.
The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
They built a clean-room implementation that uses Java bytecode created with your favorite Java IDE and compiler to produce their own unique Dalvik bytecode. They do not call it Java and they do not use Sun's JVM.
...but it is Java in every way that counts, except it has some differences that make Java the platform as a whole less standard.
No. Google capitalized on developers' familiarity with Java to avoid creating a new programming language and convincing people to learn it. The Java syntax is familiar and comfortable. However, Google is not calling these Java programs. A Dalvik app for Android is not going to run on a JVM. This is obvious to anyone developing for Android.
This irked Sun, and for good reason, but they got over it. Oracle is not over it. Sadly they decided to enforce this using patents, which is an abhorrent thing to do. But that they are irked by Google's actions - very understandable.
If you had bothered to follow this when it happened, read the history now, or even read the previous Slashdot stories recently, you would know how off-base your comments are. Negotiations between Sun and Google didn't go well, Sun's stock value plummeted, and Schwartz began shopping Sun soon after Android's debut. Oracle bought Sun with the intent of suing Google. Oracle took a calculated business risk by investing in a company with very little value in the hopes of cashing in on this lawsuit.
They decided to enforce this using patents because that is the only sliver of hope they have in this. Google was careful in how they approached this and worked around the threats laid out by Sun during their failed negotiations. Without the patents, Oracle has nothing. It remains to be seen if they have anything even with the patents.
Even clearer, Google says
The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
in developer.android.com.
I believe this is the distinction - they're using the java language, but not the java interpreter. The language isn't (can't?) be patented, but Oracle's implementation IS technically proprietary.
stop talking about your mom like that
Languages are (sadly) patentable. There are patents on, for example, Java and C#.
So I am not sure this gets Google off the hook.
Once again, thanks for your reaction and for having identified yourself. I have meanwhile published a detailed analysis of Google's Bilski brief on my blog. It's certainly not "anti-software-patent". It stops far short of arguing that software shouldn't be patentable. It just says some software patents are too abstract, some are too "conventional", but of course, Google's own patents would not be affected by what they proposed. Not at all.
Ah...but Dalvik isn't a JVM, it's a DVM ( Dalvik Virtual Machine)- and Oracle isn't suing Google over Java, but rather over VM's in general.
And the prior art in that space is going to be brutal as the bulk of the concepts existed MANY years before Java was even conceived with things like UCSD's P-Code system.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
I heard that Sun used to charge royaltees for mobile phones that licensed the J2ME platform - complaint or certified implementations. And this kinda proves this: From http://java.sun.com/j2se/embedded/faq.html#faq10: Q: Does deploying Java SE for embedded devices or purposes require a royalty? A: Yes. Sun's license for Java SE enables it to be freely used for general purpose desktops or servers. If Java SE is bundled as part of a dedicated solution that involves or controls hardware of some kind, then it's likely an embedded application and is subject to modest royalty payments. I believe Google java implementation is custom - not part of SE or ME - so they avoid having pay any royaltees to Oracle. This is why I think Oracle is pissed.