How Oracle’s business as usual is threatening to kill Java
arstechnica.com
arstechnica.com
This kind of business model is a drag on the whole ecosystem, just like Microsoft as a monopoly stagnated the whole ecosystem until Linux broke out.
Oracle lives and dies from aggressive salespeople promising the world to large customers with long term contracts. The buyers get their needs met, and Oracle forces the developers (eventually) to build whatever was promised. The clients can configure what they want, and at some point after the initial buyer leaves, support gets cut to the minimum.
This is true for many large enterprise software companies.
This contrasts to the hands on attention from a startup. But you never know if the startup provider will be there in 3 years, or if they'll scale their engineering team.
This is why startups tend to sell to startups, and large companies tend to buy from other large companies. (Of course there are 100s of exceptions)
We can only speculate what's going on at Oracle. Some options come to mind: 1) the JCP is moving too slowly to keep up with the changing IT landscape 2) Oracle no longer sees benefit in standard APIs with competing implementations and interoperability. Maybe it's eyeing enviously Salesforces cloud lockin...
> Oracle's overall revenue was down, largely because of its shrinking "on premises" software sales
> So how did Oracle increase profit on revenue that shrank overall by about 1 percent? The company slashed the operating cost of performing software updates, license support, developing and supporting new hardware, and services—in other words, through layoffs
http://arstechnica.com/information-technology/2016/06/oracle...
So top management is in "cut all the corners, don't care about the future, we need our bonuses now" mode, that's it.
So what exactly would they choose instead for the role of high-quality relational DBMS (if DB2 for z/OS is not an option)?
I agree the majority of cases where Oracle is used in small business segment is pretty good fit for PostgreSQL, especially considering the fact many of consulting shops who specialize in Oracle are willing to provide commercial support for PostgreSQL as well.
However I still find this troubling for the future of Java. If they kill EE this casually, why wouldn't they slowly abandon Java altogether . Java EE is the canary in the coal mine.
Not that I would be sad about Java's demise. Many companies see Java as they only real programming language. Maybe if Oracle keeps it up the enterprise will start to consider using other languages.
They tried to do Java based based terminals like Sun was promoting (remember NC?), their RDMS engine allows for stored procedures in Java and already in the early 2000's the database GUI tools were Java based.
What I imagine they doing is going full commercial with the language and withdraw OpenJDK from public access.
There are already quite a few features that are only available via commercial licences, including the AOT compiler that is being developed.
The article only makes sense if the license is not open source, but this important detail appears to have been left out entirely.
A few quick searches suggest Oracle is using some kind of free-as-in-beer license for Java EE.
edit: buried in the middle of the article is this passage:
> JCP concerns aside, rumblings over what's happening with Java EE have been much louder. Discontent began when Oracle shut down commercial support and internal development for GlassFish, the open source version of Java EE that served as the reference implementation for the platform. Even without commercial support, Open Glassfish was still being predominantly developed by Oracle employees. Java EE 7 and the GlassFish open implementation soon released on June 12, 2013.
So what's the problem here? Big company doesn't want to fund R&D for a product that generates no revenue?
Said product is open source, so community takes over.
Hum, that would be true in general. But said product does exactly the same thing Google was found guilty of doing with Dalvik, to the exact same company. Nobody but Oracle can take over such product without drawing a huge target on themselves for Oracle to shoot on.
Irrelevant, as long as US judges find API copyrightable.
(the very size of this codebase might make it difficult for anybody to maintain)
That said, I suppose we shouldn't be shocked if Oracle gathers usage data, finds the 5% of the platform actually in common use, and creates a new (proprietary) server platform mostly compatible with the features that matter, for which you will pay dearly to have supported/patched.
Obviously, this move isn't good for anybody but Oracle, but they are not a charity, and can anyone say that JEE is not a bloated pile of mostly abandoned missteps with a few random nuggets of goodness?
I guess there's always "Sparkjava" (Sinatra/Express style) web platform for Java 8 :-) http://sparkjava.com/
We have been doing an app rewrite at work to do a rich HTML/JS client, reducing the Java back-end to just REST services. As far as I'm concerned, there is still too much "Enterprise!" in the back end, but we have a legacy codebase to try to recycle.
I'm not ready to go pure Node.js, but I wouldn't mind coding the backend on Nashorn, skip the Object-{Relational/View}-Mapping make-work, and only drop into legacy Java as a last resort. However, I'm the only pro-dynamic language (as well as functional programming) fan at work, so that's a non-starter.
I have a gut feeling that lawsuit has had a chilling effect on enterprise Java usage. It obviously didn't put Oracle in a good light.
Was there ever a time people were happy with the J2EE/EE process? It moves slowly, the opensource and smaller implementations do lots of cool stuff that isn't part of the specification. The big money implementations generally seem and feel like they are years and years behind the times. Sun seemed to have issues actually listening to and working with the community too... And the regardless of any actual experiences, people just seem to love to bitch about Oracle.
IBM WAS used to be a key selling point for IBMs consulting force. But JEE skills and tools are now commodity and WAS is less critical to IBM. It is curious that IBM is investing these days into Swift also targeting servers (https://developer.ibm.com/swift/).
It looks to me at times that both parents are neglecting and considering abandoning the child in the long run.
Not for Oracle it isn't.
Oracle are shrugging their shoulders all the way to the bank.
The inertia of current large enterprises using Oracle sure, if the cost to move from Oracle is very large then they'll accept the risk if they even consider it.
Not so sure that applies to new customers though, they won't hemorrhage customers but they could see a slow gradual decline as the odd large enterprise folds, moves to something else etc.
I think if Microsoft continues down the path it appears to have really committed to the potential for .NET (Core) to go toe to toe on Java on none-microsoft platforms is there.
I certainly think that is the intention (along with making Azure a more attractive platform).
Long term stability, even if programmers/admins complain, is still the best option for a business.
Hobbyists can do whatever they want, a company isn't depending on what they do.
Honest question: aren't there open source solutions for the best parts of Java Enterprise specs?
IMHO, Don't call self a Java SE if you just know how to configure some shity XML configuration files in Java EE stacks.
Go? D? Haskell?
Node (please, no)?
The vast, vast majority of 'backend servers' are written in C++. (Those that aren't are legacy that was written in C.)
P.S. Of course, for some people when they say 'backend' they really mean 'anything not Javascript'. In that case PHP is the world's most popular backend language, and that would be just silly.
P.P.S. The disconnect of the online discussion bubble with reality always shocks me. D? Go? Seriously?