
Still doesn't address the stupid issue of copyrightable API's which the EU has rightly poopooed. If Google doesn't win on this it's a disaster for the software world, especially small to medium devs.
While you were starting to think Christmas thoughts in November, Google quietly slipped out a pre-seasonal gift of its own: OpenJDK for Android N – the next edition of its smartphone operating system. Christmas is a time of surprises and Google's quiet move lived up to that spirit, because it was a profound change to its …
In technology terms, it's moving from the sewer to the cesspit. Java is such a crappy, insecure and poorly performing solution.
My point was not specific to Java as copyrightable APIs puts lots of other projects at risk. If you want to rant about Java please go and create your own post rather than shamelessly latching onto mine.
"please go and create your own post"
I did.
"rather than shamelessly latching onto mine."
I didn't quote your post, didn't even read it before I posted and have no interest in the license. That Java is a crappy product is entirely relevant to the article.
If you don't like it that others can post on the same thread then tough.
Quote: "I didn't quote your post,..."
Irrelevant, the fact that you chose to Reply rather create a new thread implies your comment is in direct response to an earlier post.
If you were not replying, then don't use the Reply button.
If you do use the Reply button, then expect people to assume your post was a response to the earlier post.
Try learning how forums work, you might find it useful in the future, there are quite a lot of them on the Internet!
PS: I'm not the same AC as above.
Original AC here:
Is this a case of irony? A commenter lambasting the idiocy of copyrightable API's then turning on someone else and lambasting them for "leeching"! That's the GNU way after all.
Erm in a word no as your GNU paranoia distorts your thinking. Castigating someone for changing the subject and leeching are semantically different entirely; I wasn't discussing the technical merits of Java nor intended to.
"you chose to Reply rather create a new thread "
I can't see how the average punter would know, or why they would care. Both posts have no title set.
"If you do use the Reply button, then expect people to assume your post was a response to the earlier post."
Except when it clearly isn't like the above.
"Try learning how forums work"
How they work is that anyone can post anywhere, and in anyway they like regardless of what you tell them to do.
Are you sure you weren't talking about Windows? You know - that cesspool of viruses, malware and ransomware? Or how about that cesspool of a language C# that has only 4% adoption making it the windows phone of languages? Java is the #1 language according to the TIOBE index and it rules the enterprise space. No wonder a frightened and scared Microsoft had to open source everything in their last ditch effort to compete. But, they'll fail just like all of their other failures.
"Still doesn't address the stupid issue of copyrightable API's which the EU has rightly poopooed."
"You know, if there's one thing I've learnt from being in the Army, it's never ignore a pooh-pooh. I knew a Major, who got pooh-poohed, made the mistake of ignoring the pooh-pooh. He pooh-poohed it! Fatal error! 'Cos it turned out all along that the soldier who pooh-poohed him had been pooh-poohing a lot of other officers who pooh-poohed their pooh-poohs. In the end, we had to disband the regiment. Morale totally destroyed... by pooh-pooh!"
I look at the shitfest that is Oracle vs Google and the complete fuck up that the US copyright law created.
Whilst I have no love for Google, my loathing for Oracle knows no bounds. Anybody who buys Oracle products, who relies on Oracle products, who even looks at the oracle website needs a good kicking so they understand how Oracle works. On past behaviour it is likely that Oracle will deliver that kicking to the customer themselves and no doubt charge them for it.
Thankfully I no longer need or use Oracle products, I can also let Larry know that I was responsible for depriving Oracle of a few million pounds of sales as I stopped a procurement going forward and moved our system to Postgres. Fortunately we didn't need some of Oracles very high priced extensions that may or may not work depending on the hardware revision level of the Ethernet card on the disk array which combined with the phase of the moon and which colour socks the DB admin was wearing that day.
Every time I came into contact with Oracle I had to count my fingers and check they were all there.
The sooner Larry does a Maxwell from his yacht the better.
We all agree that Oracle products cost money, but Oracle products are mostly for large demanding customers that loose more money on going for an inferior alternative, than going for the best. For instance, Oracle Database is the best, the SPARC M7 is up to 10x faster than x86 or POWER8 on database workloads, and on many server workloads it is 2-3x faster:
https://blogs.oracle.com/BestPerf/
OTOH, IBM charges much much more for their high end POWER8 gear than Oracle, while being much slower. My point is that if you look at what you get for the Oracle price, it can be worth the price for customers with the largest demands. In that area, there are no competition and Oracle is the best. Show us one single benchmark where SPARC M7 is not the best. Likewise for the Oracle Database.
>We all agree that Oracle products cost money
I feel it important to note here that Oracle didn't create Java. Sun did. Sun went bankrupt and Oracle acquired its stuff, including Java. Oracle doesn't actually have the vision or drive to invent anything new. They are all about extracting the maximum profit from old things.
"Anybody who buys Oracle products, who relies on Oracle products, who even looks at the oracle website needs a good kicking so they understand how Oracle works"
+1 from me. You would need to be insane to use them on a greenfield site these days.
"depriving Oracle of a few million pounds of sales as I stopped a procurement going forward and moved our system to Postgres"
Similar for myself and many peers but it's far more commonly moving to MS SQL Server in my experience. We need an enterprise ready and fully featured product we could run all our databases on as a clustered utility model and have support from the majority of our application providers and Postgres isn't even close to qualifying. Presumably it works for you with a single specific requirement though.
"Then Postgres does quite fine as well."
You missed the most important bit - about supported by our application vendors. I can't name a single one of our top 100 DB using applications that's supported on Postgres as an option.
Postgres isn't close to SQL Server for "fully featured" functionality either.
See also Microsoft's position on http://www.intersystems.com/our-products/cache/intersystems-recognized-leader-gartner-magic-quadrant-operational-dbms/
Openjdk may not be quite so easy for Oracle to exploit because they're bound by the gpl on any external contributions. Without reimplementing everything themselves and somehow convincing the rest of the contributers to accept that, they can't simply force new licence terms without forking Java.
Any oem breaking the classpath licence deserves to be sued anyway but oracle probably have little scope to 'manufacture' infractions. Won't stop them trying. We're still pretty reliant on the courts deciding the fair use defence favourably and finally killing oracles case along with any future attacks they would inevitably make.
Not really sure what you are getting at.
However, Oracle are free to do do what they want with openjdk apart from revoke the GPL license.
They own it and can license it under a different license at the same time to themselves or anyone else. They already do this with their own java distribution, an openjdk build is not the same as oracle's distribution, if they want to add non-gpl code to their build they are not obligated under the GLP to open source the extras. If you GPL some code you are allowing anyone to use it under the GPL, you however can do what you want with it, there are plenty of examples out there.
... but of course it would have had to invest much more money on a mobile-data-ripping-OS instead of taking advantage of somewhere else work. Same for Harmony, now that nobody develops it Google has no will to invest to develop it itself. Google deserves all the troubles for having used Java.
First, language, not OS.
Second, the spiel (not the reality) around Java has always been about standards and open-ness. I don't think it was unreasonable from Google not to invent another language, nor the OS, in its mobile venture.
Thing is, calling J2ME a useless steaming turd is an insult to turds and Oracle got miffed that someone else got Java on mobile better. And probably also thought they could grab some $$$. This is all a result of Sun and Oracle's openness/control schizoism wrt their "open" language. Which has been going on since forever (remember the Java cert/compatibility tests being non-free to keep control of the "free" language).
Now we have some nitwit judge granting IP protection to APIs.
Oracle should have embraced Android as finally making Java relevant on mobile instead of this lawyer-enriching mess. If SUN had been better at making money off Java, and their other software, there'd be less incentive now for these shenanigans (and maybe they'd still be around).
It's probably a good thing since it means being able to use Java 7 & 8 enhancements and APIs from Android code. The Harmony code base was excellent and a clean implementation of the Java APIs as they existed at the time but they haven't kept pace with the language.
Personally I consider it outrageous that Oracle has any legal leg to stand over an API. I also wish Google would start offering some other high level, performant language than Java for application development, preferably non proprietary and cross-platform.
What other language would they use? Ruby? Scala (Oh that run on JVM)? Javascript/HTML (tried and failed x3). C# (and have to deal with MS)? So again, what other mythical language should Google use?
Well maybe they should invent a new language that just like Java, but not Java, just to avoid potential paying Oracle? Am I am sure that would cost even more.
Maybe they could have done as Nokia did with the n900, and let the developer use any language they wanted?
the N900 had bindings/libraries for perl/java/python/ruby/C/C++ and possibly others, all the apps looked the same UI wise, and acted the same, just written in whichever language the developer felt was most suitable.
You could even compile standard Linux software without modification on it. Sure it didn't follow the look and feel of proper apps, but the fact you could do it all and have something usable on the phone was impressive to me.
(Used to write apps for the N900/Maemo, never went into Android app dev due to being forced to use one language, and one I was not particularly keen on. Also I felt Android to be a generational leap backward in mobile OSes)
"Good news! You can write apps for Android in nice, sensible C++ with Qt :)"
Yes but you don't get the bindings. Even Google says don't use the NDK unless you have to. For starters you have to build a different shared lib for every architecture you wish to target - ARMv6, v7, Intel, MIPS etc. Throw in the weight of QT, icu etc and that's a lot of bloat and a lot of building.
C++ development would be far more enticing if the NDK compiled to architecture neutral LLVM bitcode and had proper bindings.
"What other language would they use? Ruby? Scala (Oh that run on JVM)? Javascript/HTML (tried and failed x3). C# (and have to deal with MS)? So again, what other mythical language should Google use?"
Any language they damn well please is the answer. There are an embarrassment of modern languages that could serve their purpose, some of which they developed in-house. Swift, Dart, Go, Rust, Python, Ruby, Typescript etc. would all be viable languages.
All it requires is formal adoption and bindings that provide the same functionality as exposed by their Java APIs. If Google wanted to win developer goodwill they would also ensure decent cross platform support and address the weaknesses of writing apps in Java.
I should also point out that there are android apps written all the languages you talk of, including C# (e.g Unity) so I have no idea why dismissive of the idea.
"Well maybe they should invent a new language that just like Java, but not Java, just to avoid potential paying Oracle? Am I am sure that would cost even more."
I don't see why you make that assumption or why you assume a language has to be like Java but not Java.
I wonder if Leisure Suit Larry and his minions are have problems maintaining their margins. Oracle is not the only relational database on the market and there are alternative NoSQL databases available for specific applications. Given that most who have dealt with LSL and Slurp despise LSL's minions more than Slurp is a sad commentary.
The premise of this article is that Oracle gained some level of control over Android. This is nonsense and it is based on a poor understanding of what really happened. 1) Google forked Harmony long time ago and it turned into Android. Harmony was a drop in replacement for Sun's java 5. OpenJdk is a drop in replacement for Google's Harmony fork 2) Oracle has an ongoing legal case against a limited set of Harmony related APIs. 3) Google just replaced these APIs with perfectly legal forks of OpenJDK. This means that this case is now about no longer shipping versions of Android. Still valid but Oracle will likely settle out of court eventually; if Oracle actually manages to make its legal case enough to ever get there. At this point Oracle is probably pissed off and angry; but who cares. Google is likely in no mood to give them anything for free. Their future product line is secured and disentangled from Oracle's looming legal case.
The GPL license does not prohibit Google forking openjdk (rather the opposite) neither does it put Google under any obligation to take over any upstream changes from IBM, Oracle and others. So they have no direct influence over Android. Nor does it obligate Google to actively contribute back to the OpenJDK project. It merely obligates them to provide modified source code under the same license that it was licensed to them, which they have been doing with Harmony as well. So the only thing that changed is that Google forked OpenJDK instead of Harmony.
They may choose to grab some recent goodies in openjdk, and they are probably considering to join the openjdk project properly to further their own agenda there. However, the success of Android is largely based on Google ignoring Sun's JCP and its J2ME cluster fuck and doing their own thing while the rest of the mobile industry was stuck in design by committee limbo. I seriously doubt this will change anything.
Great comment. The article is largely FUD.
Anyway, isn't Google moving more and more away from Java to native code? It can easily afford to sit out the court case with Oracle, pay any damages in the unlikely result that is found against it, and carry on regardless. Oracle needs people wanting to work with Java more than Google needs any particular programming language.
The newer languages have one weakness, limited number of developers that know them. Also, some of the languages were not ready at the time Google was developing Android; about 10 years ago. Java was a well known language (still is) and available. Thus, using Java makes sense in context of the time. And lots of developers and readily available allows for a quick roll out of apps.
Also, as noted, the language used for Android development is particularly important to Google. Google is getting money other ways, not from the language itself. But Oracle needs people to use Java for them to make money from it.
I still see a lot of Java in the AOSP projects. With a proper JIT (not Google's), the memory to performance ratio can be dynamically tuned for each code method. The other big feature that isn't talked about much is that the JIT not only converts generic code to a specific instruction set, but it also generates instructions that work around hardware bugs in a specific version of the chipset. It's exactly what's needed when 5 years worth of phones are running a dozen chipsets that are each upgraded every few months.
The downside of syncing up to OpenJDK is that it may be difficult to prevent developers from draining the battery. Poorly performing "Reflection" and anonymous adapter classes are the secret sauce behind many popular frameworks. Lambdas are the new lightweight solution to anonymous classes but the implementations churn through a lot of temporary memory.
I used to program set top boxes and J2ME was such a steaming turd that it was a blessed relief to use a clean room Java called Skelmir which was mostly analogous to J2SE 5.0. It didn't have the full API but it had most of it and most compiled Java code ran against it quite happily. I recall being told it was cheaper to license as well.
Android would have tanked if they had used J2ME. It's questionable if it would have been any better using J2SE since the performance of JVM on a mobile device at the time would probably have been awful.
Strangely enough Oracle hasn't sued Skelmir despite them doing what Google did (even more since their runtime executes Java bytecode). Nor have Oracle gone after GNU for its classpath project, or Apache / IBM for Harmony, or Kaffe or other projects that attempted to reimplement the API, or the JVM.
It will, though, be a tough pill to swallow. It will deny Android, and Oracle opponents, the clear legitimization a court victory against Oracle would surely have delivered and which they feel is theirs.
Assuming that a court victory would come. It unfortunately seems that in the US, courts do strange things.
"FSF chief Bradley Kuhn reckons there is a threat to Android makers who fail to comply with GPL, plus the Class path exception."
My reading of the second linked-to document is that the ' Classpath exception' is designed to allow a developer to distribute a Java application without having to include the source code. I see nothing there in reference to 'Classpath exception' and Oracle. The 'way to extract revenue' quotes are from another document in relation to 'copyleft'. You seem to have added two plus two and come up with a five.
Now that Android is a dominant power in its own right, the legacy Java platform can be replaced with something more modern and - importantly - completely different. Certainly it *seems Oracle, who owns Java, would prefer that. So replace it with whatever homegrown API you like Google.
* What Oracle really wants: Google made and sold pie with a recipe partially based on their recipe and people love the pie, so they want the pie. All of it. And all the future pies too. Recipes don't work that way.
This likely concentrates things more in the US, Andoid being frowned on by being world wide open.
I simply see more difficulties for those embracing Java around the world, not forgetting that Sun/Oracle Java always rivalled Adobe Flash useless for bloat, .Net multi frameworks. Adobe Flash and Sun Java historically being the most PC crippling.
This a while ago but looks like they finally did that thing.
lwn net Articles 400574
Quote:
Classpath Exception not included in the mobile edition
Posted Aug 22, 2010 5:00 UTC (Sun) by paulj (subscriber, #341) [Link]
It doesn't matter. Google are NOT using JavaME - they're using a subset of SE. So the OpenJDK GPL+CE implementation is there for their taking and should be acceptable - modulo the fact that Google don't seem to like the GPL much.