What Rhaman is saying is: the wide Java portfolio is dying because people are not making enough waves around the JCP to keep Oracle on the straight and narrow. Nothing to do with opensource, the JCP is a very different project from traditional opensource development.
The JRE has never been a "real" open source project, but rather a proprietary system that opened up enough to develop a caring community. The problem is that, at the moment, the interests of Java's owner are not aligned with the interests of such community, and not enough people seem to care.
This has nothing to do with Java being "open source" or not; in fact, a real OSS project would happily fork at this point (as it happened with OpenOffice), but the Java community cannot really do it. It seems pointless to debate the merits of OSS in a situation where there is no OSS; it's like saying "We supported Windows out of self-interest; but let's talk about the pros and cons of opensource...".
What does that mean? Compare Java to other open source projects of similar magnitude (and there aren't many; maybe only Linux, which is actually bigger). Linux is even more exclusive than OpenJDK, and just like Linux, companies with appropriate resources often make changes to the software even if those changes aren't contributed back (or contributed but not merged).
> and not enough people seem to care
People will care once many start to actually feel it. Oracle's interests are probably not aligned with mine, and may or may not be a cause for concern for me, but so far Oracle's actions wrt OpenJDK don't harm me at all. The investment in the platform feels to have only grown in the past few years.
> but the Java community cannot really do it
Why not? I think it most certainly can, but at this point there's not enough motivation to do it.
The current situation (OpenJDK open but not a realistic choice in most production deployments; Oracle JDK/JRE remaining as de-facto gold standard; a process that forces strict compatibility tests on any competitor) can be fine from a certain point of view, but in practice it means that Java is not a traditional community-led OSS program. Rather, it's a program where the OSS community helps a company improve their software. RedHat is not the only Linux build with significant marketshare, and I won't get sued if I write a different POSIX system.
> at this point there's not enough motivation to do it.
No there isn't, that's what Rhaman is saying. But what he's also implying is that the direction of travel has changed inside Oracle, and people outside do not seem to realize it. IMHO it's fairly obvious where things are going (you'll stop "installing Java", and only develop and deploy in the Oracle cloud or similar Oracle-sanctioned environments).
This is news to me. I'm aware there are differences, but "not a realistic choice"? Can you elaborate?
Lol, like that was a choice Google made freely, rather than something they were forced to do.
OpenJDK might be OK in many circumstances (as I said, requirements vary) but you might want to avoid that particular case study.
I asked for evidence for this bold claim, since many production environments I know are using OpenJDK successfully, under heavy loads and without crashing. So... evidence of your claim?
Hell, way back in the early 00s I remember having to use the JRocket JDK instead of the Sun one due to some weird corner case- so I am fully aware there are cases you can run in to that would necessitate one implementation over another. But calling OpenJDK unfit for production at this point in it's life is either FUD or straight lack of knowledge.
What are you running that OpenJDK seems to be so incompatible with? I've literally never had an issue with OpenJDK 7 or 8 and I've deployed applications that serve millions of requests per day in many flavors of OS.
That is one interpretation; I can think of others.
> Do you think they wouldn't do the same against any Java fork with a realistic chance of supplanting their implementation?
I think they wouldn't sue anyone complying with their very clear, very standard OpenJDK license. Google, apparently, thinks the same, and has now decided to comply with the OpenJDK license, too.
> OpenJDK open but not a realistic choice in most production deployments
What? AFAIK, Google, Twitter and plenty other companies run their servers on OpenJDK. It is absolutely realistic for most production environments. In fact, Oracle's JDK differs from OpenJDK only in a few monitoring features.
> Oracle JDK/JRE remaining as de-facto gold standard; a process that forces strict compatibility tests on any competitor
That's just not true. The Java standard is the standard, OpenJDK is the reference implementation and one of the most widely deployed implementations.
> RedHat is not the only Linux build with significant marketshare,
Neither is Oracle's JDK. OpenJDK, IBM's JDK and Azul's Zulu all have good market shares.
> and I won't get sued if I write a different POSIX system.
Probably not, but you wouldn't get sued (or, at least no one ever has been sued) if you comply with OpenJDK's open source license. You may well get sued if you don't comply with Linux's open source license, too (which happens to be the same as OpenJDK's).
> and people outside do not seem to realize it
Perhaps, but what's the difference? If they start doing a bad job with Java (so far they seem to be doing fine work), the community will fork OpenJDK.
When doubts started to appear 20 years ago, companies slowly moved their new projects to other stacks.
They are still around and have been updated to more recent versions, but it hardly matters to most devs.
Oracle being careless with mobile OSes support and bringing out stupid enterprise frameworks like Oracle Mobile Application Framework, has made people even go back to C++ for writing portable code for mobile OSes.
phrased another way, which bits are missing that prevent an individual from compiling and running Java programs on the JVM using open source software.
- ARM compilers are different
- The Swing font engine used to be different
- Tooling that many devs depend on, like the Mission Control
- The AOT native compilers and tooling for embedded Java
Not an exhaustive list.
* Oracle JDK has a different font rasteriser, maybe some other bits like sound are different as well
* Oracle JDK has Flight Recorder support (that's a commercial feature)
* Oracle JDK supports both C1 and C2 JITs on ARM64, AFAIK an open source implementation of this is coming to OpenJDK 9, likely Oracle JDK will keep the existing implementation
* Oracle JDK has additional commercial features like resource management [2] and application class data sharing
OpenJDK vanilla is AFAIK not TCK-certified. However there are TCK-certified OpenJDK distributions [3].
TL;DR: OpenJDK is fully open source
[1] https://docs.oracle.com/javacomponents/
[2] https://www.youtube.com/watch?v=0WZpmylHbFM&index=8&list=PLX...
It is real open source. Its not a community-driven bazaar-model development effort, but that doesn't define "real open source" (its just something enabled by, but not required for, open source.)
There's two ways to not care:
1. I don't care if it goes away, since who uses that stuff anyway? 2. I don't want to invest anything to further the project, but I really like using it and it's crucial for my business!
At this point I think the latter is the problem.
Except Oracle getting rich on say, Linux, doesn't hurt me if I am running Ubuntu, Debian or Gentoo. In fact, if their patches are any good, due to the GPL, it helps me.
Now, if I develop open source software, I might or might not be able to extract as much of the value generated as if I was making it a proprietary product. On the other hand, the total reach and value of the project might be magnified just because other people (and also for-profit-corporations) can take it and extend it and use it. I might see less of that value myself but:
a) It might not be my primary goal to capture as much value as possible, just to get enough money out of it so that I can continue working on that project.
b) The "size of the pie" that the same project is worth as open-source, specially for developer tools, is much much larger than if I kept it proprietary. So, in some cases, I might be able to capture more absolute value that way, even if I am helping some huge megacorp get filthy rich too (which is what would happen if I got a 'normal' software job, anyways).
Making your software free to me is not quite an ethical imperative in most cases, but it is a personal decision that can make a lot of sense, even if the entity that will profit the most from your software in monetary terms might not be yourself. The flip side is that, all things being equal, a great open-source software is likely to have a higher impact (and bring you more fame), than a great proprietary program. Specially for infrastructure, libraries and the like vs user-facing software.
If Tim Berners-Lee had been paid for the world-wide web what his contribution ended up being worth to the world, he would be the world's first trillionaire. On the other hand, if he had insisted that he get paid for all uses of the web, the web might have never come be to (or might have lost to a much more "corporate" system, under the control of one or a few companies).
It does if they manage to get in a position where they "own" enough of what you're using so that they can force their choices on you.
Red Hat has been in such a position for a long time now, and their world domination agenda has been steadily hurting non-enterprise Linux users in a higher and higher proportion.
How come? I'm a non-enterprise Linux user and I don't recall ever being hurt by anything RedHat did?
But since most of them folded and adopted Linux, and especially after Oracle upped and forked RHEL6 to make Oracle Linux, the actions from RHHQ has taken on a more controlling nature.
So we worked with IBM, who was also feeling the pressure from Microsoft, and IBM effectively "took over" Red Hat by providing investments, providing executives, and assigning hundreds of engineers to work on Red Hat Linux. That is what propelled Red Hat to become dominant. Since some of the changes to the kernel were just for servers - running things like Oracle, and not useful to the typical Linux user, that became Enterprise Linux.
And the idea that Open Source is always positive is equally absurd. I've been working in open source for decades now, and the big winners are often the same rich companies which are extracting the wealth of our society - as they get software for free while the engineers provide work without getting the true "fruits of their labor". Does it make sense for multi-billionaires to get this software for free? Really, the Open Source idea is very messed up in an economy with distinct winners and losers.
If you only use permissive licenses, free software can result in large corporate monopolies. Copyleft licenses help counter this. Linux, GNU, VLC, FFmpeg, etc are all good examples of this.
Oracle's clients pay less for a solution than they would otherwise, Oracle can compete on this area, some engineers get paid by Oracle to improve a commons, and everybody else gets a more functional system for free.
Ok, maybe somebody worked there against their best interest, but that somebody wasn't coordinated by any big corporation, and should look onto fixing himself only. The ecosystem as a whole is healthy.
Well, except for those using Java.
Because Oracle screwed it up.
I am quite involved in the Java community and I don't see it. How did Oracle screw it up?
You could have had JIT/AOT for Windows Phone and AOT compiler for iOS, but they never cared.
Now C++ and C# reign as the languages to go for portable mobile native apps.
How is it being addressed?
You mean the communication to leave to the community the porting of OpenJDK to mobile platforms? Or having the RoboVM guys at JavaONE, but giving them zero support other than publicity?
I am not confident that Google will move away from their fork, most likely they will adopt something else, specially with ChromeOS and Android merging.
http://www.infoworld.com/article/2987529/java/insider-oracle...
https://jaxenter.com/oracle-and-javas-planned-obsolescence-1...
http://fortune.com/2015/09/07/oracle-cuts-java-execs/
http://www.zdnet.com/article/a-close-look-at-how-oracle-inst...
http://www.infoq.com/news/2015/09/oracle-purges-java-evangel...
http://www.computerworld.com/article/2469593/open-source-too...
http://arstechnica.com/information-technology/2010/11/apache...
https://dzone.com/articles/oracle-announces-jigsaw-delays-pu...
https://jaxenter.com/even-if-oracle-is-losing-interest-in-ja...
http://alvinalexander.com/java/doug-lea-leaving-java-communi...
But that is NOT what TFA is about. That is about Java EE, which Oracle suddenly stopped dedicating resources to, but in a completely silent way.
Java SE may be next. We don't know that yet. There are some signs, but they don't matter at the moment. What matters at the moment is Java EE.
What I said is Oracle screwed Java up.
By alienating the community, By not caring for security (except after all the huge negative press each time), By not innovating at a decent pace, By falling back on promises, By killing off the evangelists, By ignoring the mobile space, and in several other ways.
Not to mention the bloody Java "API" lawsuit...
Except some got wealthier than others.
Let the others eat cake.
Not something you read every day!
Free & Open Source software benefits everyone, which sadly includes bad actors and companies you (and maybe I!) don't like. But don't forget about the "everyone" part, which is the most important one!
But in my opinion, any software being FOSS is benefitial, even if you cannot deploy it yourself for your toy projects. If anything, you get to play with it or learn from its source. Maybe parts of it are useful to you for your own project. You cannot do this easily (if at all) with closed proprietary software.
Good software benefits everyone.
Whether it's open source or not is irrelevant.
It is definitely not irrelevant whether software is FOSS or not. It's the whole point of the GNU project, the FSF and of the Free and Open Source software movements. I'm not going to write a manifesto about the reasons here, but surely you must be aware a lot has been written about this in the last few decades that cannot be dismissed with a flippant "it's irrelevant".
What's the better alternative to billionaires getting their software for free?
It's unlikely that companies will contribute manpower to software if they then have to pay for it too. If you have a better strategy I'd like to hear it.
Billionaires paying for their software?
Not precisely a winning strategy
It reminds me a story about evolution.
It says that the wheat (or the corn) is a successful specie because it is grown by man at a wide scale.
Those Oracle engineers are like bees collecting pollen from the Linux flowers :-)
It's a two-way link.
When was "back then". Are you talking about the 1990s or the 2000s?
You are not talking about RedHat Linux fork "Oracle Linux", right? https://en.wikipedia.org/wiki/Oracle_Linux
I'm not inside nor advanced enough to have a... really well-informed, well-grounded opinion, perhaps. But, I've seen enough of corporate behavior, across multiple substantial corporations over extended periods of time, to speak to that.
Even their "charitable giving." Even if is starts with or has components of genuine good will, by the time the suits, PR folks, and bureaucrats get done with it, it's pretty damned self-serving.
It's not that different than celebrities endorsing a charity for "free", they give up some time which gets positive PR and the charity gets the benefit of raising against their events.
Those charities who cannot generate lots if positive press can't help fund important research. Ironically sometimes research that crosses into another field and benefits another bug if research bring done.
You could (and people do) run a company absolutely ruthlessly applying only the metric of "What is the absolutely best way to make money".
Capitalism isn't nice it's just relatively efficient compared to other systems.
re: charitable giving. If they're giving, they're giving. Doesn't matter what the motive is. "huh, they're only funding a cure for cancer/starving kids/etc because it looks good". So fucking what? What are you doing to help those charities? Typing is easy, huh!
I'm not defending Oracle's activities ethically, but it seems a bit naive to expect corporations to show anything less than the most despicable, profit-seeking behavior allowed by law.