Oracle: Google Has "Destroyed" the Market For Java
itwbennett writes: Oracle made a request late last month to broaden its case against Android. Now, claiming that 'Android has now irreversibly destroyed Java's fundamental value proposition as a potential mobile device operating system,' Oracle on Wednesday filed a supplemental complaint in San Francisco district court that encompasses the six Android versions that have come out since Oracle originally filed its case back in 2010: Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, Kit Kat and Lollipop.
It's a shame Pamela Jones shuttered Groklaw ... her insight into this case would have been invaluable.
We need to stop the dangerous idea that interfaces can be copyrighted before it becomes as much a bane on software as software patents were before Alice vs. CLS Bank.
vi ~/.emacs # I'm probably going to Hell for this.
Because J2ME was such a brilliant mobile platform.
The world's burning. Moped Jesus spotted on I50. Details at 11.
Oracle (then Sun) could have created an operating system for mobile phones based around Java. But since Google did, they want to profit off of it? They should go to hell.
Java was never useful on phones until Google built something decent.
Sun/Oracle could never build a decent phone with Java, no matter how much money they pumped into it.
If you work somewhere that uses Oracle products or is considering an Oracle product, fight to the bone to get their shitware tossed out.
We need to end this company, it's a tumor in the software ecosystem.
Mod me down, my New Earth Global Warmingist friends!
irreversibly destroyed Java's fundamental value proposition as a potential mobile device operating system
Well there's the problem. Oracle thinks the language and runtime are a complete operating system. There's nothing stopping Oracle making a different OS that uses Java. In fact, the vast amount of libraries for Android out there should be easy to port. Next we'll hear how Microsoft destroyed the value of C as used to build an OS.
Java...[garbage collection] is the .[garbage collection] best .[garbage collection] programming .[garbage collection].[garbage collection] language for .[garbage collection] mobile devices .[garbage collection] .[garbage collection] because it is .[garbage collection] faster .[garbage collection] then C++ and .[garbage collection] more .[garbage collection].[garbage collection].[garbage collection] deterministic and .[garbage collection] .[garbage collection] .[garbage collection] nev .[garbage collection] er .[garbage collection] drops .[garbage collection].[garbage collection].[garbage collection] user .[garbage collection].[garbage collection] input.
I like Java .[garbage collection] becuase .[garbage collection].[garbage collection] it's write .[garbage collection].[garbage collection] once, .[garbage collection].[garbage collection].[garbage collection] and it runs .[garbage collection] .[garbage collection].[garbage collection] provided you have all .[garbage collection].[garbage collection].[garbage collection] the libraries, the .[garbage collection].[garbage collection].[garbage collection] correct java interpreter .[garbage collection].[garbage collection].[garbage collection] and enough .[garbage collection].[garbage collection]
javax.servlet.ServletException: Something bad happened
at com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:60)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.example.myproject.ExceptionHandlerFilter.doFilter(ExceptionHandlerFilter.java:28)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.example.myproject.OutputBufferFilter.doFilter(OutputBufferFilter.java:33)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: com.example.myproject.MyProjectServletException
At first, I read that as "Oracle Has 'Destroyed' the Market For Java"... which, of course, seemed quite plausible.
RIP SUN
I have no special gift, I am only passionately curious. --Albert Einstein
Does anybody feel sorry for Oracle???
The contenders for biggest enemies of Java are:
1) Micro$oft - Effectively killed the JavaBean web plugin market with their own lackluster JVM via EEE (Embrace, Extend, Extinguish).
JavaBeans is the technology that has the biggest negative view on the net and rightly so. If Microsoft had not done such a good job killing it, Java would likely be in a different light today as more energy would have been spent making JavaBean libraries better while the real engineers at Sun still had control of the source.
2) Oracle - They just do not get open source or anything that came from Sun.
Google has popularized Java way more than Oracle could ever imagine.
"You don't anthropomorphize your lawnmower, the lawnmower just mows the lawn, you stick your hand in there and it'll chop it off, the end" - B. Cantrill
FTFY
Quick message to Oracle: Between the security officer coming off as, at best, a self-entitled, over-inflated executive believing her services are better than her customers deserve, and now the company claiming they have a "right" to market share, I think the psychology of the company is becoming quite clear. It isn't that their products are poor (which they are not), it is that they seem to believe that they deserve their piece of the market by divine providence.
Please note, this is opinion, and only my own. Note to Oracle: One of the only things anyone is actually entitled to. Meaning: You are welcome to the opinion that you are above competitive market forces, but reality may or may not disagree. Be humble, quietly make better products than your competitors, and demonstrate effectiveness in the market rather than in the courts.
Java could be great. Make it so, or let those who can do better do better. That is the nature of the free market large corporations are supposed to embrace.
Sun destroyed the market for Java.
Sun wanted to sell hardware, and they designed Java to run well with their hardware. Sun's ideal was the network is the computer. Java is/was a client language that could run on a lot of platforms, with in Sun's mind a Sun server at the other end. Didn't quite work out that way. Sun was going belly up, Oracle bought the carcass. Sun gave Java away. You can't put the jinni back in the bottle.
Java was worthless when Oracle bought Sun. They're engaged in revisionist history trying to milk a dead cow.
The tech industry, just like every industry, improves as people discover new and better ways to do things. If you can't keep up Oracle, you fall behind. And since you've chosen to litigate instead of innovate, you have fallen behind.
No one is guaranteed profit.
Be seeing you...
Yes, and what exactly did Sun do with that?
Oh yeah, there is JavaFX, which still requires an OS to run on
That is where the disconnect is
Wherever You Go, There You Are
Yeah because why only have a legal battle with one evil software compnay, when you could battle two at the same time! Just to show off how much of a silicon badass you are.
Cmon Oracle and Microsoft, Google will fuck your shit up 2 on 1!
Mod me down, my New Earth Global Warmingist friends!
Can you imagine a interpreter of perl or python written in Java where no native option possible?
Yes, and it's called Jython.
Java is a programming language, not an operating system. Examples of operating systems are Linux and Unix.
Nothing could have "destroyed Java's fundamental value proposition as a potential mobile device operating system" because the value proposition of Java as an operating system is zero, and always has been. It's like the value proposition of an orange to be an apple.
Oracle's nonsensical claim might be merely a case of lawyers or managers showing their ignorance of the computing subject domain or just being sloppy with their terminology, which is not uncommon. However, it gets worse.
A proprietary software package may have a calculated expectation of market share and profit if there is no competition, but this is not the case with programming languages because they always have competition from countless other languages. It is especially not the case with open source programming languages because they typically enjoy multiple implementations, and these make captive markets almost impossible to maintain.
It seems therefore that Oracle's market expectations were based on a flawed analysis.
That mistake would have made any market expectations unsafe, but any expectations were dealt a further blow by Oracle's highly abusive attempt to copyright SSO in their litigation against Google. This must have alienated practically everybody who knows anything about programming, and the likelihood is high that many Java programmers who had other languages available must have abandoned Java like the plague to avoid potential SSO copyright liability.
In other words, if anyone killed off interest in Java, it was probably Oracle themselves.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Google doesn't have to do any such thing. They can just get rid of the legacy Java APIs and, instead, provide modern ones using lambda expressions. Then they can provide a tool chain that goes directly from source to .dx files and skips the whole Java .class file intermediate step. I'm surprised actually that we still even have to compile to Java classes. Then, in order to have write-once, run-anywhere we can get an ART VM for non-Android operating systems.
IBM will finally find a use for OS/2, as a mobile OS to replace Android!
Java sucked from day one. Anything that can be "destroyed" by MS, Oracle, IBM or Sun was never worth a crap to begin with. I've programmed with MS .Net and Java and every Java solution took longer to code, was less reliable, slower and consumed more system resources. It got hyped because it was an alternative to MS back in the days when Ellison and McNealy went crying to the government over MS's supposed "monopoly".
Java is no longer the carrot/bait to get users to buy Sun computers. Java is far more important than commodity hardware and Sun took too long to realize that or monetize Java's value like Oracle is trying to.
Frankly, IP laws are quite lax if Google can simply take major parts of Java, reimplement the remaining parts, and pay Oracle exactly $0.
Your recollection of history is quite lax. The VM patents Oracle asserted against Google were all defeated. All Oracle had left was the SSO of 37 Java API's. If the SSO of a subset of an API collection can be copyrighted then the US software industry is in for a world of hurt.
Personally, if Oracle wins on copyright, I hope IBM goes after Oracle.
In general, no. Unfortunately, Oracle owns the rights to Java. That means that Google must comply with Oracle's terms within the limits defined by law. Doubly unfortunately, that means that everyone with a vested interest in the situation is going to have to watch a drawn out soap opera as the case winds its way through the courts.
Oracle are the ones that have destroyed Java since nobody trusts Oracle and their licensing.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
What legal battle with Microsoft? As the OP already stated, Microsoft has put C# out there for 3rd party implementations with a legal guarantee not to sue.
I have used iPhone and iPad. They gave me a shitty experience. I felt like my devices were still owned by Apple and whenever I was using them I was just doing time. I moved to Android and it feels much better. I have a lot of freedom.
Had Google just straight up used C or C++ we wouldn't be in this predicament.
I sort of agree with you on that point. But C++ lacks core language support for so many fundamental things. Then there are a myriad 3rd party libraries with their own quirks.
sony-e had a working prototype all java(with I suppose their own os underneath). basically android was a clone of that.
but what sunoracle fucked up in the mid 00's was being too slow in developing j2me extensions(and the 'all java' phone os that they kept in different projects for years and years) and just badly managing how they could be used(four security dialogs for creating a file in a folder on the sd card each with two clicks from the user, for example - NO MATTER WHAT SIGNING YOU PAID FOR), thus the market for android was there when android emerged.
as for j2me, the process a new API went through to be an approved API was just stupid. the end result was api's that had always some flaw on them or were just unusable from the day 1, like the j2me 3d _scene_ descriptor shit, which was just a wrong, wrong way to go about it on the hw and use it was launching for(like, the api might have been ok for making some animation suite or whatever, but shitty for making games).
there was a market for a java development based smartphone os all right.. they just dragged their feet on it for way too long, so that market hole is now filled with android.
they just didn't care about it enough to make sure that the shit they were certifying and dictating how it should be was usable at all.
world was created 5 seconds before this post as it is.
I don't see how this argument is any different than "Apple's used of an operating system has destroyed the market..."
BTW Oracle, the Android OS is not built in Java. At it's core it is a Linux kernel. There just happens to be a Java-like API and VM for running applications.
No shit. If not for Android, maybe Nokias or Microsofts efforts would have been more successful, but Oracle has managed to create enough antipathy that people will go out of their way to avoid them by now.
And now they even want to destroy the only working free and open-source mobile operating-system .. this is like destroying the ocean for profit, destroying the rain forest for profit or destroying free wisdom by patents .. so in the end Oracle yes indeed is as evil as any other terrorist / capitalist.
If Java was profitable, wouldn't Sun been profitable in the first place?
https://www.youtube.com/c/BrendaEM
If there was a good market for Java, wouldn't Sun have been been profitable in the first place?
(Let's see if that title is acceptable for the filters.)
https://www.youtube.com/c/BrendaEM
Android doesn't use Java. Android used to use the Dalvik runtime environment. In Android 5 they introduced ART (Android Run Time) to replace Dalvik.
Dalvik and ART work like Java in that they execute compiled bytecode, but they are separate implementations and are not compatible with Java bytecode.
You can write your own source code in the Java language and compile it to Dalvik/ART bytecode.
Oracle is mad that Google made something that worked similarly to Java, but is not Java and isn't bytecode compatible.
So we ended up using another VM called Skelmir which was a clean room Java, roughly analogous to Java 1.5 SE albeit missing some stuff mostly in the javax & sun namespaces. Performance was better, it was cheaper and it was possible to develop normal Java code with a reasonable expectation it would work on the STB. I'm sure the same sentiment was felt everywhere. Companies resented being charging an arm and a leg for a piece of shit runtime which was barely fit for purpose.
As for why Google succeeded where Oracle failed... It's because they offered more or less a full Java SE API and a rich mobile API that allowed developers to write apps without making compromises. It didn't really matter that the byte code was compiled into something else because they also provided excellent tools that integrated with Eclipse to take care of all that.
I don't believe for a second that if Google hadn't used Java as their API that Oracle would have triumphed. Not in the slightest. If anything Google did Oracle a favour by using their language and therefore keeping it relevant for portable devices.
Hardly surprising really - after being repeatedly shafted by Oracle, anyone who has had dealings with them would probably rather not have a phone at all than be dependent on an Oracle product.
Witness the way that their take over of Sun was seen as a step backwards - its not like Sun was revelling in a great reputation for its ways with customers.
I suspect their motto is:
"Let's be evil".
Sent from my ASR33 using ASCII
That means that Google must comply with Oracle's terms within the limits defined by law.
But Google doesn't use Java, they use Dalvik/ART, which aren't written by Oracle and therefore don't have Oracle's ToCs attached to them.
They do happen to be compatible with Java, but if you are allowed to copyright APIs (which is what Oracle are pushing for) then that would be absolutely insane for the IT industry, as you wouldn't be able to implement an API (or possibly even access an API) without the permission of whoever wrote that API.
Java fanboy here.
Java is the new COBOL. that's a status very few general purpose languages have reached. It runs everywhere, can do crazy stuff and banks have embraced it. I'll not jump ship for a long time.
But calling Java "a potential mobile device operating system" is bat shit crazy.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
They didn't make something that worked similarly to Java - that would have been OK, C# is similar to Java after all. They made something that was *identical* to Java. If they didn't want to be sued they should have made their own API and their own language
What it comes down to is should APIs be copyrightable. Google created their own implementation of the Java API, if companies are allowed to copyright APIs then you can kiss WINE goodbye immediately, anyone wanting to implement an existing API would also be in trouble, and you might not even be able to create a program that even accesses an API without explicit permission.
To come back to your metaphor just because something implements the IDuck interface doesn't mean it's the same kind of duck.
What Oracle fucked up on in the mid-Aughts was not copying Apple's iPhone innovation.
quiquid id est, timeo puellas et oscula dantes.
What freakin freedom? Why the fuck do you have to register an account at Google Play (and a credit card too boot) in order to download a fucking app! Cell phone carries lock down your phone - restricting access to certain features of that phone. And some phones may or may not be able to upgrade to newer versions of Android; the restriction is not based on hardware specs.
Spare us your notion of freedom.
You can install an APK without that. Blame the developers for not releasing free apps directly as an APK.
In that case, it's no different than Windows 8 or 10 or even OS X. There's an app store, but you don't have to use it.
Google didn't see the point.... previously, Sun offered to license Java to them for 100M, but Google decided they would make a their own clean-room implementation that wouldn't be called Java in the first place, and so would not have to pay them anything. Later, when Sun was floundering and about to be bought, why would Google want to buy the company for access to a technology when they had already decided that they would go in a direction where they wouldn't need to pay licensing fees for that technology in the first place? The only thing Google can be faulted for with not buying Sun themselves is not anticipating that the company that *DID* buy Sun would turn around and say that even a clean-room reimplementation of Java wasn't enough to be free of obligation to them, when Sun had already apparently let the matter drop when Google announced their intention to not try and actually use what Sun called Java in the first place. This is just IMO, but I think that Google probably would have decided to buy Sun before Oracle did if they had realized the headache it may have saved them, but I doubt anyone could have reasonably foreseen at the time that is how things would ultimately go down.
The biggest problem that I see, however, is that If Oracle is allowed to win this, then absolutely every single clean-room reimplementation of anything can become a target for a copyright infringement claim. And if something like that had been a precedent over a decade ago, the whole SCO vs. IBM thing over Linux could have gone *VERY* differently than it did.
File under 'M' for 'Manic ranting'
It was not "pretty amazing". I have written J2ME apps. It was a disaster zone, mostly for policy not technical reasons.
Problem one: its conformance testing was crap and the licensing for the upstream implementation was expensive. So, guess what, phone OEMs made their own. And did it badly. EVERY J2ME phone was full of bugs, often incredibly basic and obvious bugs like camera APIs that leaked every image taken (take three photos in a row->OutOfMemoryError), or drawing APIs that crashed the device if you tried to draw a bitmap to negative coordinates (correct behaviour is to clip).
This meant that in practice you had to test every version of the app on every device, because bugs were so common.
Problem two: it was tiny. Almost every API was optional, and Java has no good support for on the fly adaptation to missing APIs. So apps ended up needing a C style macro pre-processor to customise the app for every combination of bugs and missing features. You think Android is fragmented? I rofl in the face of Android fragmentation, because I've seen J2ME's equivalent.
Problem three: the CLDC VM was unbelievably sluggish, even compared to the early Dalviks.
Problem four: many APIs were protected by a code signing requirement that was painful to meet and often very expensive for no good reason. Forget about writing free hobby apps.
Problem five: no app store. Every carrier ran its own, and if you wanted distribution ....... yup. They wanted money. Often, meetings and contracts too. Just forget it.
There are people happily using Java with 300 gigabyte heaps. Look at the Azul Zing JVM for examples of this. Also: they're using it in ultra-low latency financial trading apps. Just because you haven't seen this sort of thing personally doesn't mean it never happens.
Performance is complicated. There are lots of cases where a Java program is just as fast as a C++ program or even faster. PIC-optimisable virtual method dispatch in a tight loop is one example of where Java/JVM stuff has stomped C++ for many years, with devirtualisation optimisations only appearing very recently in GCC stuff it seems. HotSpot is an excellent compiler and can do a lot of interesting things.
Moreover, it's not like for any program there's a choice of Java or C. Many developers use languages like Ruby or Python. It turns out that there's an advanced research JVM which allows you to co-compile Ruby and the C source code of Ruby/MRI extensions together with performance that's radically faster than the original code.
But mostly, people use Java because the performance is good enough, and the benefits over the C/C++ ecosystem are big. For instance, you get reliable debuggers, stack traces that are never corrupted, no manual memory management, ultra-fast compiles, a huge and standarised package repositories/dependency management system, high quality profiling tools, lots of libraries etc.
I don't doubt your experience but it has nothing to do with AOT compiled vs JIT compiled. Applets that stop working on newer JVMs are probably relying on bugs in earlier versions. This can happen any time there is dynamic linking. Every time I upgrade MacOS X some apps I use stop working properly, even though they're all compiled. Apple just isn't very good at backwards compatibility.
but if you are allowed to copyright APIs (which is what Oracle are pushing for)
You are allowed to copyright APIs. This case went through the appellate court, which ruled that APIs are copyrightable, and to the supreme court, which let that ruling stand.
The case has moved on, and is now trying to determine if Google has a fair use defense. But there is no doubt that APIs are copyrightable under current law.
"First they came for the slanderers and i said nothing."
But it's not resolved because if it's fair use to re-implement an API then everything's fine. The problem is if APIs are copyrightable with no fair-use exemption to use/re-implement then that's an issue, because anyone who writes a compatibility layer or service that adheres to a 3rd party's standard is just one copyright claim away from ruin despite the actual implementation being an original work.
"Install an APK"? Wait, I didn't think you could edit your hosts file without rooting the phone.
Socialism: a lie told by totalitarians and believed by fools.
1) Is a thing copyrightable? Does the author own the copyright? The answer is clearly (according to the Supreme Court) that APIs are copyrightable.
We've been round this set of houses before in the 80s and 90s with DR DOS and IBM and Phoenix BIOSes. Every time someone has tried to claim that APIs are copyrightable, and courts have agreed, the inevitable problems crop up. Hence:
2) Is there a fair use defense? This must be answered after question 1 is answered.
This makes absolutely no sense whatsoever. The very reason someone else uses the same API is, by definition, interoperability. At the very least It is done to allow the same code to be recompiled and for developer familiarity with the API. 1 simply becomes a nonsense when you understand this, but unfortunately that decision was made by people with no knowledge of the topic they made the ruling over nor the precedents set here before. If APIs were practically copyrightable then the fair use clause shouldn't even be necessary.
Unfortunately, yet again, legal people don't understand the difference between interfaces and software. It really isn't as if we haven't been here before and unfortunately we will go through the same thing all over again in this drawn out legal battle.