
Negotiations Failed: How Oracle Killed Java EE - omnibrain
https://headcrashing.wordpress.com/2019/05/03/negotiations-failed-how-oracle-killed-java-ee/
======
vfc1
The Java ecosystem has been slowly dying for years, it's already the new Cobol
at this stage.

I have the impression that a lot of the mindshare has switched to the Node and
Javascript ecosystem, especially the frontend devs, via the Typescript /
Angular path, which is a natural path to Java developers due to the comfort
given by familiar concepts like static types, classes, etc.

When I used to do Java, I always found that Spring was a much better framework
than Java EE, and have used it in most projects I've worked.

Oracle did not take a note from the Microsoft book and is really behaving that
an evil corporate overlord.

It's clear at this stage that they bought Sun in order to slowly turn Java
proprietary, and charge billions to the companies that are now fully Java-
based for the next few decades.

I'm glad I saw the writing on the wall and switched, but the problem is that
Java is still being taught a lot at schools, and school programs especially
universities are hard to adapt and only change every 4-5 years or so.

~~~
walkingolof
Working in the JVM world I'm always surprised to hear that its dying, the JVM
and Java moves faster forward than ever, Graal is about to go 1.0, a bunch of
very interesting (very) low latency GCs are in the pipe (for example ZGC and
Shenandoah) and lots of other interesting projects like Valhalla promise to
keep the JVM relevant for the next 20 years. Oracle have made some moves to
monetize on parts of its investment, but the situation is largely
misrepresented.

Ref:

\-
[https://openjdk.java.net/projects/valhalla/](https://openjdk.java.net/projects/valhalla/)

\- [https://www.graalvm.org](https://www.graalvm.org)

\-
[https://wiki.openjdk.java.net/display/zgc/Main](https://wiki.openjdk.java.net/display/zgc/Main)

\-
[https://wiki.openjdk.java.net/display/shenandoah/Main](https://wiki.openjdk.java.net/display/shenandoah/Main)

~~~
dtech
Too little too late, and I highly doubt that (5-year-old) Valhalla will
deliver even one of the promised features (value types) in the next 3 years.
Remember that the original plan was to have all Valhalla features in Java 10.

Java/JVM was in the ideal position to dominate the software world for the
whole 21th century 15 years ago. Instead they did an IE6 and stagnated for so
long that their competitors became plain better.

I'd say Java/JVM is now where IE was in 2008. Still massive majority market
share, but in decline because people are switching to competitors. LLVM and
webassembly are eating JVM's cake, and a multitude of languages like Kotlin,
C#, Go, Rust and even Javascript and Python are chipping away at Java's market
share.

~~~
StevePerkins
> _webassembly [is] eating JVM 's cake_

It's hard for me to take all the "Java is dying" threads seriously when they
don't even seem to understand where Java plays. _Webassembly_? Really? That's
a client-side tech, and 99.999% of Java devs ceded the browser battleground
pre-9/11.

Java's bread and butter is EAI, ETL, and server-side business application
development. Particularly with pieces requiring heavily distributed design.
Node might pick away at some of the lowest-hanging fruit (e.g. JavaScript
webdevs writing their own REST endpoints to fetch user settings from the
database). But most of that crowd doesn't understand what the terms "EAI" or
"ETL" even mean. Hell, most of that crowd has never had the experience of
working for a company that turns a profit. The next major downturn will be
interesting to watch...

And JavaScript is the only JVM-alternative to take seriously at all. Hype
trains come and go for Rust, .NET Core, Go, etc. But they never really gain
serious traction beyond a non-Java niche area, and/or devolve into endless
arguments about generics or whatever.

I've seen zero actual encroachment into anything that earns me money for the
past 10 years now, and at this point I'll probably be retired before I have to
worry about it.

~~~
aphexairlines
You're right that Java is entrenched in a lot of the enterprise space, but I
think you're being quick to dismiss entrants that have gained steam in the
last few years.

For example, Go is becoming the default in Kubernetes applications. It's
eating tech companies that became large in the last few years like Lyft and
Uber. It'll spread to other large tech companies like Amazon or IBM with ease.
It will possibly get picked up by a significant number of universities for
undergrad courses within a few years as well.

~~~
StevePerkins
Seriously, people. K8s is a container orchestration system. Yes, it's
_written_ in Go, like Docker itself. DevOps tooling is a niche area where Go
has been very successful. But k8s _runs_ whatever you put into your Docker
containers.

I've seen no indication of it changing which languages people choose to
containerize (Node containers probably being way more common than Go ones). If
anything, easy containerization negates one of Go's strongest selling points
(i.e. standalone executables with no need for a runtime environment).

~~~
stephenhuey
Exactly! In the enterprise world, there is a lot of Java and .NET code that
isn’t going away for a while especially since K8s makes it easier to port to
the cloud. In my enterprise, the only other language that comes close in usage
numbers is Python, so I think a lot of enterprise folks will opt for that over
Go.

~~~
smarterclayton
As someone who works on Kubernetes in the enterprise I would agree - there’s
lots of go, but it’s newer and organized around the teams who were early
adopters. And even the early adopters have massive Java, .NET, and
increasingly Node footprints.

However I think the rule of enterprise software is that it’s increasingly
fragmented and diverse - that’s partially why Kubernetes and containers were
so attractive because it allows operations to unify footprint on prem _and_
have a path to cloud.

Nobody in an enterprise ever stopped using a piece of technology. It lives on
forever (and public cloud just gives it new places to live).

------
bborud
Oracle makes Java a risk factor in all projects. I stopped approving new Java
projects in my team 2 years ago after we switched to Go. This wasn’t a
decision we took lightly and it took almost a decade for me to be comfortable
with leaving Java behind.

But it is the right thing to do. Oracle is not trustworthy.

~~~
threeseed
Strange attitude to take when you can just target OpenJDK and then it is
completely irrelevant what Oracle does or does not do.

The fact is that every single one of the largest companies has some Java or
Scala code within their core platform. And none of them have ever raised
Oracle as a risk.

~~~
tatersolid
The most valuable corporation in the world as of this date uses zero Java for
anything “core”.

Anecdotally, nearly every CIO/CTO I’ve encountered in the last few sees Oracle
as a huge risk. Most particularly with regards to databases, which are even
sticker than applications which have shorter life cycles.

~~~
pjmlp
You mean the servers Apple has running on WebObjects, JEE and Clojure for
iTunes, Apple Maps and their iCloud?

~~~
tatersolid
Microsoft is currently the most valuable company in the world.

~~~
tempodox
And they created a whole language and ecosystem (C# / .Net), even before
Oracle bought Sun, so they wouldn't be dependent on a 3rd party for that.

~~~
gmueckl
Ironically, .NET was created because MS tried and failed to take over the Java
ecosystem using an Embrace, Extend, Extinguish approach that ran afoul of
SUN's licencing deal with them.

~~~
pjmlp
Less ironically, Google managed to create their J++.

------
mjw1007
« Oracle already started a blocking politics at the Eclipse Foundation’s
board, where Oracle has a seat, and where _unanimous_ decisions are needed.
Oracle now has the power, and apparently will use that power, to block the
foundation’s future. It demonstrated that power already in a board meeting,
where they had the sole vote against an otherwise unaimous move. »

I hope other organisations with a director from Oracle are taking note.

[https://www.linuxfoundation.org/about/board-
members/](https://www.linuxfoundation.org/about/board-members/)

~~~
dtech
For me it's more a lesson about how unanimous votes, or unanimous - N can
become problematic.

In the EU the same is happening. Poland and Hungary have found a loophole
allowing them to ignore EU rules and sanctions while still profiting from
subsidies and market access.

All sanctions against a member state require unanimous-1 (all states except
the sanctioned member) votes and Poland is vetoing all sanctions against
Hungary, and Hungary all sanctions against Poland.

~~~
bitL
> Poland and Hungary have found a loophole allowing them to ignore EU rules
> and sanctions while still profiting from subsidies and market access

AFAIK this was tit-for-tat: HU & PL closed/sold-off their industry in favor of
WEU in exchange for subsidies. Removing these subsidies for any reason would
violate the main economic agreement between them and EU. Mind you, there is no
significant locally grown industry in those countries anymore (outside of a
few state-owned industries), WEU profited from this enormously, especially
Germany. As economic potential of this arrangement has been exhausted after 25
years already, incorporating UA is the next move to give EU (primarily
DE/FR/NL) some nice economy boost for the next 10 years. EU is essentially
playing Sim City.

~~~
mamon
Adding to that: one of the fundamental EU rules was freedom to do bussiness
anywhere in EU. That worked in favor of Western countries which had their
corporations opening offices in Poland, and making huge profits here.

After some time Poland found some niches for itself, e.g. Polish
transportation companies dominate EU market in truck freight. What was the EU
response to that? They recently passed change in labor laws, that would make
this business unprofitable.

So: common EU market is fine as long as Western countries benefit from it, but
Poland or other Eastern countries making money from business in the West is
against the rules :)

~~~
orf
What evidence do you have that the labor laws are a response to polish
domination of freight, or that those laws would would somehow only cause
polish carriers to become unprofitable?

~~~
mamon
It was explicitly stated by French president Macron, that the goal is to end
Polish dominance in truck freight :)

Basically the law change is this:

Now, if you are Polish truck driver employed in Poland, you are subject to
Polish tax and labor codes, including things like tax rate, minimum wage, etc.
What France wants (and what was passed, but is not in effect yet) is that if
said truck driver crosses the border of another country (say, France) he
should be subject to that country tax and labor code. Which is riddiculous,
because the driver does not change his tax residence, he just enters France
for a few days it takes to make a delivery, and then comes back to Poland.

~~~
jankassens
Would it also be ridiculous if a factory worker would be employed in one
country and just cross the border to do a bit of factory work? All kinds of
other local laws apply just by entering a country. How is minimum wage
different?

~~~
solidsnack9000
_Would it also be ridiculous if a factory worker would be employed in one
country and just cross the border to do a bit of factory work?_

It would be ridiculous, because the factory worker would be working at a
company domiciled in the other country. That is because, a company in one
country can not just open a factory in another country without having an
entity in the latter country.

Consider an alternative situation: Franz is employed in Hungary as a writer of
fiction, but crosses into Austria many days and uses wifi to work there.
Should Franz be paid Austrian minimum wage?

 _All kinds of other local laws apply just by entering a country._

Local laws do apply, but generally one can not just enter another country and
work there. Very often one is _specifically prohibited_ from working in
another country without a visa.

~~~
mamon
Except the stated goal of European Union is free movement of workers. You can
literaly go and work in any EU country, no visa or work permission needed.

But that's not really the situation here: it's a business providing services
for customers in another country. You send a driver abroad for a few days,
that should not make him subject for local tax and labor laws. If you can
prove that said worker spent significant period of time there (most tax
treaties use 183 days as a rule of thumb) then that's a different matter.

------
based2
I bet Oracle will have its MS pivot moment, sooner that we think, to face AWS,
PostgreSQL, IBM/Red Hat, Pivotal Spring offers...

But it was a lot of time wasted:

Apache Harmony/Java

LibreOffice/OpenOffice

MariaDB/MySQL

Jenkins/Hudson

now Eclipse/Java

Right now, they are in sales hurry mode, calling at all occasions technical
contacts each time you create a new account to download something on their web
site...

...

[https://netbeans.apache.org/](https://netbeans.apache.org/)

[https://cloud.oracle.com/containers/kubernetes-
engine](https://cloud.oracle.com/containers/kubernetes-engine)

...

In O/WebLogic, javax.* imports are by default private.

Open9J vs Graal

[https://github.com/eclipse/omr/issues/1118](https://github.com/eclipse/omr/issues/1118)

~~~
based2
forgot Iluminos/OpenSolaris story -
[https://www.youtube.com/watch?v=-zRN7XLCRhc#t=33m0s](https://www.youtube.com/watch?v=-zRN7XLCRhc#t=33m0s)

[https://blogs.eclipse.org/post/mike-milinkovich/update-
jakar...](https://blogs.eclipse.org/post/mike-milinkovich/update-jakarta-ee-
rights-java-trademarks)

Note: Oracle ECM, WebCenter Content has no simple Virtual Document solution.

------
josefx
> the worst case possible, as it not only voids the “WORA” (Write Once Run
> Anywhere) principle, it simply won’t happen in reality: After 18 months
> virtually no application vendor really wants to spend the time and money to
> update all customers with recompiled versions just for the sake of a renamed
> platform with a dubios future.

WORA was never perfect, I would be surprised if there was even a single JRE
release that didn't note a breaking change in its release notes. So vendors
should have a process to update their releases just for that already in place.

> The future is unclear because Oracle already started a blocking politics at
> the Eclipse Foundation’s board, where Oracle has a seat, and where unanimous
> decisions are needed.

They have no rules to out board members acting in bad faith?

~~~
djakjxnanjak
If they have such rules, I wonder how many votes they require to use...

------
Illniyar
Well, mmm, good riddance? I suppose this will cause a lot of hardships to a
lot of people who need to maintain JavaEE, but the fact that Java EE is no
more is nothing but good. It is a nightmare case of overengineering.

~~~
DonHopkins
Time to switch to C#. Funny how it took Oracle to do what C# originally
intended to do: kill Java.

~~~
marak830
_hand up_ uh not as experienced as most people on HN, what's the hate for c#?
I went from vb6 to VB.net then c# and while I _fully_ admit I'm a casual
coder, i haven't had an issue (with what I do, which is voice to string
primarily) so far. Is there something better for this I perhaps should look
into?

~~~
dtech
The .NET ecosystem is an order of magnitude smaller than the JVM ecosystem. Up
until ~3 years¹ ago C#/.NET also meant a fully Microsoft and Windows
environment for all practical purposes². This is changing and Microsoft seems
to be embracing open source and Linux, but it takes time for a 20 year old
ecosystem to fully make the transition.

¹ The story is Steve Balmer was very anti-open source and forbade most interop
or support for Linux, so this only could start changing when he left in 2014.

² You always had Mono with is why Unity and GNOME could also use C#, but is
was very niche outside of Unity.

~~~
inapis
That fully Microsoft and windows stack has had ripple effects. At least from
my perspective in South Asia. First the price was a deal breaker. Second,
people who started with C# quickly found their only employment opportunities
to be at large companies. Those who started with Java/Node/Ruby had a much
wider array to choose from. Third, when people jumped to start their own
companies, Java/Node/Ruby/Python/Go won by a large margin. Startups rarely had
the cash to spare for Microsoft stack and MS stack guys had to change their
skill sets which is a painful endeavour in and of itself. Fourth, after some
time people, who had been in the market for years, started discouraging
younger devs to committing exclusively to a full MS stack. People rather
interpreted it as dumping the MS stack. In my batch, only a dozen or so people
were interested in pursuing C#/.Net. By the time we graduated only one person
was still pursuing that stack.

TLDR; Price was a big factor which only large companies could afford. Not
everyone can be employed by large companies. This had a lot of secondary
effects.

~~~
wolfspider
Funny you should say that because it was Sun Microsystems itself which caused
me to switch to C#. Starting out in my career I worked for serial
entrepreneurs exclusively to learn from them and one such company used Sun
Java for their main product. Hello there! Every time the Java development
chatroom crashed for a couple years or so it was me who started it back up.
The company I worked for provided that chat software. Sun was not happy with
the performance and sent us a letter citing the GPL demanding we host, at our
expense, the server for their chats and also a 10 point response plan for
turning things around. They claimed that since we used Java our IP was theirs
respectively and we were now unpaid employees of Sun. They did not take our
revenue (although that was never off the table) but they did assign a tech
writer to scream at me over the phone whenever it went down. This “product”
was written by a teenager for a coding contest we did and that developer
received ~100$. Those agreements you sign off on when installing Java are all
about that and sooo much more. This article is about the same thing happening
once again under Oracle. Be careful what you agree to- anything I do Java
related anymore is OpenJDK. TL;DR here is Java is not evil in itself but the
licensing around it certainly is.

~~~
miskin
This sounds very unlikely. So SUN Microsystems claimed that you should run
service for them because of GPL that had classpath exception? Even without
that exception that is not how GPL works.

------
DonHopkins
>But once Eclipse products would be not vendor-neutral anymore, the EF’s tax
exemption might become void, which would mean a financial fiasco, or possibly
mean the end of the organization as a hole.

I think the problem is Oracle's a-hole, in this situation.

~~~
masklinn
Do not anthropomorphise the lawnmower.

~~~
DangitBobby
It's not a lawnmower. It's an organization made if people, and it's
responsible for it's actions.

~~~
DonHopkins
Here's the full reference -- the point is that Oracle's a-hole is Larry
Ellison:

[https://www.youtube.com/watch?v=-zRN7XLCRhc](https://www.youtube.com/watch?v=-zRN7XLCRhc)

"As you know people, as you learn about things, you realize that these
generalizations we have are, virtually to a generalization, false. Well,
except for this one, as it turns out. What you think of Oracle, is even truer
than you think it is. There has been no entity in human history with less
complexity or nuance to it than Oracle. And I gotta say, as someone who has
seen that complexity for my entire life, it's very hard to get used to that
idea. It's like, 'surely this is more complicated!' but it's like: Wow, this
is really simple! This company is very straightforward, in its defense. This
company is about one man, his alter-ego, and what he wants to inflict upon
humanity -- that's it! ...Ship mediocrity, inflict misery, lie our asses off,
screw our customers, and make a whole shitload of money. Yeah... you talk to
Oracle, it's like, 'no, we don't fucking make dreams happen -- we make money!'
...You need to think of Larry Ellison the way you think of a lawnmower. 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. You don't think 'oh,
the lawnmower hates me' \-- lawnmower doesn't give a shit about you, lawnmower
can't hate you. Don't anthropomorphize the lawnmower. Don't fall into that
trap about Oracle." \-- Bryan Cantrill

------
dtech
> And the idea that corporate developers or even frankly any developers are
> switching to LLVM and WebAssembly en masse is pretty ridiculous.

There is only 1 popular language released since 2009 that targets JVM: Kotlin.
All other target JS, their own bytecode or LLVM: Go, Rust, Dart, Elixer,
Julia, Typescript, Swift.

This is a significant difference from 2003-2009 languages which all targeted
JVM unless they were Microsofts: Groovy, Scala and Clojure.

~~~
pjmlp
And all of them have a lot of work to catch up with 25 years of market
experience.

~~~
scarface74
Because development that happened in _1994_ is really relevant today.

How will these languages ever catch up with innovations like JavaBeans, Java
Server Pages, and Java Server Faces?

~~~
coldtea
> _Because development that happened in 1994 is really relevant today._

1994? We still depend on tons of features, infrastructure, and techniques
developed in the 60s and 70s.

Heck, most of what the JS world considers "state of the art" was already
available in 70s languages.

As for the snark, first, the innovations the parents refers to is not
"JavaBeans, Java Server Pages, and Java Server Faces", but stuff like rock-
solid GCs, tooling, and so on.

And even techniques on the level of "JavaBeans, Java Server Pages, and Java
Server Faces" are only going to be resold to several other languages. The JS
worlds keeps on piling Java (or older) techniques and syntax.

Heck, they just re-invented the "private instance variables" (with an ugly
hash syntax) on their latest efforts...

~~~
scarface74
The contention was that other languages had a “lot to catch up” with Java
because it’s been around for 25 years. So how haven’t other statically typed
languages “caught up”?

In fact, Java is so far behind C# with true Generics, LINQ - not the syntax
the entire linq expressions -> expression trees -> runtime providers that can
parse the trees and translate it to a destination syntax, etc. it’s laughable.
Can anyone say honestly that Oracle has been a good steward over Java or that
it has improved as fast as any modern popular language?

And the “tooling” around Java is the main reason that when I had a choice
between C# and Java in the mid 2000s, I chose C#. Heck, the Visual Studio 97
was better than most Java tooling is today.

Yeah I played around with the early VB like Java IDEs like JBuildsr. Java’s
IDE’s have never been strong points. Neither have the XML is king mindset.

~~~
BoyRobot777
Here we go again with "true Generics". Type erasure makes interop easy (for an
almost insignificant cost), including with Java prior to generics. But that's
also what makes different languages on the Java platform interop so well
(contrast with the CLR, where this is not the case; they've baked variance
into the runtime and are paying a high price for that decision). If Java had
baked their type system into JVM, Scala, Kotlin, Groovy would have to dance
around that. Haskell, for example, erases all types, not just type parameters
(well, sort of; it does reify the constructor tag/discriminator, which
corresponds to type information in Java), and people get fancy with types in
Scala, too. The only real annoyance erasure brings is that you cannot overload
a method with another that erases to the same type.

All in all, The JVM is leading not only CLR on all fronts, but pretty much any
other runtime. C# compilers and GCs are at least a decade behind Java's. You
may argue on how important those things are compared to other tradeoffs, but
those are the areas where Java was designed to compete at, and those are the
areas where it is leading by a wide margin.

Edit: when Java was first introduced, its original designers stated their
intention to construct a conservative, low-innovation frontend language, and a
high-innovation runtime. In many respects, .NET has the opposite design. You
may prefer one or the other and that's OK, but it makes comparing the two on
any single aspect very problematic. Of course Java won't keep up on language
innovation compared to .NET, and of course .NET won't keep up with Java on
runtime innovation -- they each choose to get their competitive advantage in
different aspects.

~~~
scarface74
Seeing that generics have been around since 2005 in C#, I think the .Net
community has had plenty of time to work around the incompatibilities....

There are other languages that support CLR besides C# and they manage to “work
around” generics.

 _All in all, The JVM is leading not only CLR on all fronts, but pretty much
any other runtime. C# compilers and GCs are at least a decade behind Java 's.
You may argue on how important those things are compared to other tradeoffs,
but those are the areas where Java was designed to compete at, and those are
the areas where it is leading by a wide margin._

By what measurement? Have any specifics?

[https://benchmarksgame-
team.pages.debian.net/benchmarksgame/...](https://benchmarksgame-
team.pages.debian.net/benchmarksgame/faster/csharp.html)

[https://www.degruyter.com/downloadpdf/j/acss.2018.23.issue-1...](https://www.degruyter.com/downloadpdf/j/acss.2018.23.issue-1/acss-2018-0005/acss-2018-0005.pdf)

And Java still doesn’t have anything equivalent to LINQ.

~~~
BoyRobot777
F# does not have higher kinded types, because of CLR. So no, they don't manage
"work around" generics.

Regarding measurements:
[https://www.techempower.com/benchmarks/](https://www.techempower.com/benchmarks/)

Also, I am very interested to see new benchmark results once AOT SubstrateVM
will be more widely adopted in JVM community. Demo:
[https://youtu.be/MN6jNIwl2FQ?t=1136](https://youtu.be/MN6jNIwl2FQ?t=1136)

RedHat already working on a framework which takes full benefit of that:
[https://quarkus.io/](https://quarkus.io/)

All in all, with upcoming value types, SubstrateVM adoption, fibers and nice
languages improvements like records, future is brighter than ever for Java.

Edit. Regarding JVM vs CLR
[https://news.ycombinator.com/item?id=15955685](https://news.ycombinator.com/item?id=15955685)

~~~
scarface74
And the only person who is saying that is so (with a lot of people
disagreeing) is someone who “work[s] at Oracle on VM research”

~~~
coldtea
Well, I agree, and I don't work at Oracle. So? Any other conspiracy theories?

~~~
scarface74
Care to post benchmarks?

~~~
coldtea
Benchmarks of what?

What exactly in BoyRobot777's comment (which I said I agree to) calls for
benchmarks to be proved?

Nowhere are benchmark results taken for granted as faster or anything.
Grandparent says: "Also, I am very interested to see new benchmark results
once AOT SubstrateVM will be more widely adopted in JVM community."

I simply agree with the statement made: "All in all, with upcoming value
types, SubstrateVM adoption, fibers and nice languages improvements like
records, future is brighter than ever for Java." \-- so, I responded to your
comment which seemed to be skeptic of that (and accusing the parent of working
for Oracle).

If you were referring to someone else and some other comment, why post your
comment as a response directly under BoyRobot777?

------
sheeshkebab
If I understand correctly, OpenJDK is licensed under GPL with _classpath
exception_ \- and the only thing that is preventing openjdk from being
unusable in any commercial settings is a few lines of legalese, controlled by
Oracle, on handful of source files in various packages. If Oracle removes that
classpath exception legalese in some upcoming jdk version from these source
files (which they are fully in control of), openjdk essentially becomes GPL-
only.

I guess then openj9, coretto etc would be more appealing but soon enough it
feels like there will not be Java left - since those distributions don’t/can’t
call themselves java unless oracle allows them to... and I’m not sure why they
would - as apparent by OpenJ9 not being called java.

So is it Java EE is dead, soon followed by Java?

Am I mistaken about any of this?

~~~
blattimwind
> Am I mistaken about any of this?

You can't revoke a GPL license unless the licensee violated the GPL.
Additionally, the GPL has this nifty "Automatic Licensing of Downstream
Recipients" clause. In other words, if you put some code out there under the
GPL, there is no way for you to un-GPL that particular code. Even if you bring
out a new version of it that isn't GPL any more, the old version still is.
(This is quite important to make copyleft work)

~~~
amanaplanacanal
It sounds like the parent's issue is the other way, that Oracle might remove
the classpath exception and then GPL would infect _everything_ , effectively
killing commercial opportunities.

~~~
sheeshkebab
Yes, that’s what I was wondering about

------
sheepdestroyer
Oracle never fails to show off how evil they are.

~~~
pjmlp
While there is some truth to it,they did more research for Java than Sun ever
did, and no one else cared to buy Sun.

~~~
rbanffy
That's, sadly, true. At the time of acquisition, Sun was only a shadow of its
former glory...

~~~
DonHopkins
It all started circling the drain when they merged SunOS with System V.

Solaris: So bad I left the company.

~~~
rbanffy
They still did a ton of cool stuff after that. It was under Jonathan Schwartz
that the lack of direction and the overwhelming confusion became painfully
obvious, not knowing whether it was a software company trying to profit from
and compete against free (as in beer) software, a hardware company narrowing
its own niche at the very top or... something totally different.

I kept a couple Type 7 keyboards.

------
needusername
To me this seems like a play against OpenJ9 which is at least partially based
on OpenJDK. Rumor has it that AdoptOpenJDK lost their TCK license because they
also published OpenJ9 builds.

I'm a bit surprised by this given that IBM is a long time license holder and I
can remember JavaOne keynotes where Oracle celebrated IBM "joining" OpenJDK.

~~~
avierax
Where can I read more about AdoptOpenJDK losing its TCK license? Is there any
post? Any leak from their team?

~~~
javagram
I searched for this myself. Found a tweet from last year and the current
statement on their site.
[https://adoptopenjdk.net/quality.html](https://adoptopenjdk.net/quality.html)

> Java Compatibility Kit (JCK) / TCK Compliance

> At this stage the London Jamocha Community CIC (aka LJC) has not been able
> to reach an agreement with Oracle to use the Java SE Technology
> Compatibility Kit (TCK) under the terms of the OpenJDK Community TCK License
> Agreement (OCTLA).

> We will continue to work with Oracle on this matter.

> All AdoptOpenJDK binaries are tested with our suite of functional,
> integration, stress, and performance tests, including real workloads from
> popular languages and applications. We are very confident in the quality of
> our builds.

------
narrator
Oracle fights with the open source community and loses, again. They just keep
repeating the same mistakes over and over. What always happens is the Open
Source people say "screw Oracle" and fork the project and the community comes
along with them.

The Hudson/Jenkins and OpenOffice/LibreOffice fails were two of the quickest
and most obvious. Java EE seems like the same sort of thing, but much bigger
and in slow motion.

------
k__
Oracle is a disease. Everywhere it spreads things get bad :/

------
znpy
Dumb question... Wouldn't it be possible to fork the namespace to something
like javax -> jawax (or java->borneo as someone suggested) and then patch the
JVM to alias the javax package to the would-be jawax package (or borneox or
whatever) ?

~~~
needusername
You would probably rather write a JVM agent that changes the class references.

Eclipse will almost surely fork the namespace to something jakarta related.

~~~
needusername
Which turns to to be quite easy:

[https://twitter.com/rafaelcodes/status/1125032183167688706](https://twitter.com/rafaelcodes/status/1125032183167688706)

------
raquo
(Not an expert on all the Java nomenclature / standards / politics)

What does Eclipse foundation have to do with Java EE? Does this news sabotage
their use of OpenJ9 somehow?

~~~
aurora72
After Java SE has become proprietary-like software, it was reported that Java
EE division would be handed to the Eclipse Foundation. And that was good news
because it meant that Java EE would be managed independently from Oracle but
now we see that Oracle wants to make Java EE dependent on themselves, and that
is bad news :::

------
ausjke
Oracle is a cancer.

Android may get infected one day which is worrisome.

What about MySQL.

Google should have bought Sun in the first place, unfortunately all they could
see is its searching with ads.

Google better buy Canonical now before Oracle or other evils do it.

~~~
theandrewbailey
If anyone buys Canonical, I'm betting on Microsoft.

------
19870213
I propose to mimic the intended move of the Indonesian government to move the
capitol from Java to Borneo by forking OpenJDK/Java to OpenBDK/Borneo. If
Oracle wants to keep the Java(tm) trademark, they can keep it.

~~~
pjmlp
Are you going to replace the 99% OpenJDK developers that are on Oracle's
paycheck as well?

~~~
sangnoir
Yes. The Java ecosystem is far larger than Oracle. Java can absolutely thrive
if Oracle were to cease to exist tomorrow, or if everyone else[1] decides to
move to a fork.

1\.
[https://news.ycombinator.com/item?id=19827875](https://news.ycombinator.com/item?id=19827875)

~~~
pjmlp
Again, where are those contributors?

Companies that just repackage Oracle's work don't count.

~~~
jacques_chester
Pivotal is hiring for JDK/JVM development. Worldwide. If you're at Oracle and
you want out, drop me a line or do a search for "JDK" at
[https://pivotal.io/careers/openings](https://pivotal.io/careers/openings)

Several companies outside Oracle already employ JDK folks (IBM, for example).
I expect that increasingly our partners and competitors will do the same.

~~~
pjmlp
So which JEPs on OpenJDK are being done by Pivotal? I fail to find them.

IBM does minor contributions to Java, and mainly follows the language
specification non their own JVMs.

IBM was also the only company that bothered to make an initial proposal to
acquire Sun, but withdrew it after Oracle's.

~~~
jacques_chester
That Oracle employees are the dominant contributors _today_ is only evidence
of the state of the world _today_.

Oracle is not owed indefinite fealty by folks locked into serfdom. Everyone
working on the OpenJDK is entitled to work on it with someone else paying
them.

~~~
pjmlp
So many words and no JEP contributions to show.

------
jeevest
Are new systems being constructed in Java .. when starting on new projects
Java was at one time (about 6-8 years ago) the leading alternative for
Corporate IT (if they weren't a Microsoft shop). I doubt it very much.

Oracle is playing this not-so-good role, that Microsoft used to play, under
Steve Ballmer, monopolistic, and evil.

I found Java hideous, the gratuitous OOP taken to extremes put me off. Spring
came in, and you had class names that were a hundred characters long - your
actual line of code was shorter than the class name. The problem with Java
(and every programming language has its own achilles heel) - is everything has
be class oriented - however much you try to bolt on, on top of that , to make
it seem not so. . Java kills creativity, and expressiveness in software by its
bloated syntax and OOP. We took up Java because at the time alternatives were
few, but now its on its way being the new Cobol - this will sound ridiculous
if you still are fully or partially, inside its bubble

I ran from our Java shop. My software architect mocked me "you'll be back in 6
months" \- instead, he quit the Java shop and stuck his head outside of the
Java bubble and realized there was life outside.

------
rafaelturk
We all love Java, however we need to decouple the Language from the ecosystem
that the new owner of Java, Oracle, wants to enforce upon customers.

Oracle made a clear business decision and will go forward squeeze every single
dollar they possible can thru legal means, not from innovation or services.

~~~
repolfx
How are they squeezing dollars here? They don't seem to be demanding payment,
or at least not directly.

I read the board notes. This appears to be a disagreement about trademarks and
compatibility licensing. To be called "Java" you need to be compatible with
the Java specs, and also have a trademark license. That's how they enforce
that the platform can be reimplemented but it's seamless to users. Seems
Eclipse Foundation doesn't like that.

------
wangii
how hard will it be to work out a script, that update the namespace
automatically? it would even be possible to do that in the bytecode level I
think.

I think Eclipse Foundation is f*cked, not by Oracle but its bureaucracy, and
inability to reinvent itself.

~~~
cesarb
> how hard will it be to work out a script, that update the namespace
> automatically? it would even be possible to do that in the bytecode level I
> think.

Java has reflection, so classes can be loaded by name at runtime (and the name
might have come from a XML file somewhere, or be the result of string
concatenation); also, the name of a class can be easily obtained so code can
depend on that (for instance, a logging configuration XML file). That's before
considering that some libraries generate classes on the fly (by dynamically
generating and loading bytecode, which include class names).

------
nbevans
.NET Core will welcome this round of Java orphans with open arms.

~~~
pjmlp
First it needs to sort out its history of not being compatible with all .NET
Framework libraries.

~~~
scarface74
The world is moving on from .Net Framework - including Microsoft. .Net
Framework is definitely the new COBOL. It’s basically in maintenance mode. Any
company would be crazy to start a new greenfield project using .Net Framework
and should have some type of plan to move to Core.

[https://visualstudiomagazine.com/articles/2018/10/10/net-
key...](https://visualstudiomagazine.com/articles/2018/10/10/net-
keynote.aspx?m=1)

 _The presenters said it will still be released with Windows, as it 's a
component of Windows itself, so it will be supported for the lifetime of
Windows. Microsoft is just going to be making highly compatible targeted
improvements to .NET Framework after version 4.

So you shouldn't feel pressured to move off .NET Framework, but just know that
it's going to be much more highly targeted compatible fixes kind of going
forward and we recommend that all new development that you start on .NET is on
.NET Core if possible_

~~~
pjmlp
I know what Microsoft wants, I spend most of my time as .NET dev.

That doesn't change the fact that many libs don't run on .NET Core, or outside
Windows for that matter, specially the ones that depend on C++/CLI.

~~~
scarface74
So instead of tying your horse to one dead end platform - .Net Framework -
you’re okay with tying your horse to two? It was clear that C++/CLI was a dead
end a decade ago.

When Microsoft mentions thier “strategies” for various .Net languages, you
notice which one is missing?

[https://devblogs.microsoft.com/dotnet/the-net-language-
strat...](https://devblogs.microsoft.com/dotnet/the-net-language-strategy/)

I’m very much a .Net fan but it makes about as much since as a developer to
tie your fate to .Net framework or Windows only development in general in 2019
as it did for all of the companies not to move from VB6 after .Net was the
future.

Even Azure host more Linux VMs than Windows.

~~~
pjmlp
I tie my horses to the platforms that customers pay for, instead of religious
rants.

I even use C, if that is what customers want to have done for them.

Those Azure Linux VMs happen to run on Hyper-V hypervisors.

~~~
scarface74
So it’s “religious” not to tie your career to a platform that the vendor and
the market are both moving away from? If I chose my language and technology
choices based on what I like and not marketability, I wouldn’t be going near
React, Node or any of the cool kids stuff.

I would rather not end up like old VB6 developers trying to find a job in
2008.

I know a developer who worked in a company for 20 years got laid off and
complained about “ageism” because no one would hire him and all of his
experience in 2017 was in Windows Forms and Web Forms.

Yes, I’ve been there done that too. Mid 2008, I had been at a company doing
C++/MFC and VB6 and felt stuck and unhireable. I was in my mod 30s then. I
wouldn’t dare tie myself to a stack that even the vendor is saying is being
deprecated in my mid 40s.

I’ve also left a job before when the .Net product I was hired for couldn’t
find a market and they wanted everyone to switch and do PHP. All 14 developers
left within six months. We all knew the danger of working in old tech.

~~~
pjmlp
Religion is the way you happen to defend your switch to . NET in every HN
thread, even more than I bash C for, and from your story a certain uncertainty
regarding what you got on the CV.

Selling services is so much more than tech stacks.

~~~
scarface74
So you have forgotten about the threads that you responded to where I was
advocating for native desktop apps over cross platform apps, where I spent
years doing C++/MFC, Like this quote: _But seeing that I like the optionality
of working for any of the dozens of companies that have job openings
continuously for JavaScript, C#, C, C++, and even Python, I think I’ll stick
with those...._

~~~
pjmlp
It is hard to keep track of all answers, just complains about being stuck in
tech X and how .NET has saved your life from whatever.

Which yeah, might have been the point, but hardly a picture of the global job
market.

~~~
scarface74
You mean it’s hard to keep track, even though you’ve responded to the posts?

But if the post is concerning Java wouldn’t it be kinda of silly to bring up
C++, C, Python, and JavaScript/TypeScript?

What I did say that it was foolish from a long term career perspective not to
see where the market is going and stick with a platform that even the vendor
said is maintenance mode as far as .Net Framework and Windows Forms - or even
Windows only development period. If I did that, I would still be writing
C++/MFC apps and VB6.

My animus toward Java is more that Oracle is a horrible steward of the
platform and before that Sun was.

~~~
pjmlp
Just because I responded to all posts doesn't mean I am able to remember
everything.

It is also foolish to have senior devs focus on selling themselves as Language
X dev, without any other skill to offer.

I would rather have a VB 6 guy on the team that can do proper software
architecture design, speaks fluently two European languages across our
customer sites and is able weight what really matters across the delivery
pipeline, than someone that knows all the cool and latest of .NET Core,
without anything else as added value.

~~~
scarface74
So what are the chances that someone who is doing VB6 in 2019 and is talking
about he has been maintaining a legacy combination VB6 app that interfaces
with C++/ATL DCOM objects is keeping up with the latest advances in
architecture, development practices, etc. compared to someone who does a show
a history of transistioning as technology changes?

~~~
pjmlp
In the world of enterprise consulting, a great one.

Because again, that person has more than one hat to wear, instead of being
stuck in coding silo.

~~~
scarface74
As I said, having experience with modern technology is just “table stakes” to
get your foot in the door _if_ you want to stay at least partially hands on.

With the few unsolicited offers I’ve gotten to work for consulting companies
just through my network - the travel requirements just won’t work for me right
now - I kinda of know the requirements that most consulting companies are
looking for.

Few of them are looking to do desktop Windows applications. Yeah some are
looking for ways to run legacy Windows applications “in the cloud”, but most
are looking for a way to convert them to the web and I haven’t come across any
that actually want to start new greenfield desktop applications or for that
matter .Net framework applications. Sadly, most aren’t even looking at .Net
Core. Hopefully that will change.

Don’t get me wrong, until I chopped everything off of my resume I did before
2008, I did get a few recruiters who were looking for those older
technologies, but why would I waste my time gaining experience in older
technogies when there is a ridiculous amount of money to be made as a “digital
transformation consultant” or by knowing cloud infrastructure and how to
architect on top of it (pretty good at it), and the entire Docker ecosystem
(learning it)

------
sriram_malhar
“Everywhere I go I’m asked if I think universities stifle writers. I think
they don’t stifle enough of them"

\--Flannery O'Conor.

Java EE and CORBA had to go. It didn't matter who pulled the plug.

------
exabrial
The beauty of the JVM is that I could make a class loading agent that fixes
'the problem' of the package renaming at runtime.

------
hajderr
_heads over to Python_ :)

~~~
pjmlp
Good luck with the performance over there.

~~~
rbanffy
The hot parts we can implement in C. There's not much overhead in crossing
over to native code.

~~~
threeseed
So I have to learn Python and C.

With C being an incredibly difficult language to get right.

So difficult that languages like Go and Rust were invented.

~~~
rbanffy
Only if the performance of your hot Python parts is a deal breaker, which is
almost never.

In almost 20 years, I did it once. And it wasn't _really_ needed, but I wanted
to know how much it'd be improved.

------
sqldba
Is Java separate to Java EE? Does this news have any impact on Java in
general?

------
doggydogs94
Java would be better off if even Microsoft owned it.

