
Oracle finally targets Java non-payers six years after plucking Sun - avalchev
http://www.theregister.co.uk/2016/12/16/oracle_targets_java_users_non_compliance/?mt=1481919461669
======
hocuspocus
For anyone on Windows willing to switch to OpenJDK, there are builds from

\- Azul:
[http://www.azul.com/downloads/zulu/](http://www.azul.com/downloads/zulu/)

\- RedHat:
[https://developers.redhat.com/products/openjdk/overview/](https://developers.redhat.com/products/openjdk/overview/)

\- JetBrains: [https://bintray.com/jetbrains/intellij-
jdk](https://bintray.com/jetbrains/intellij-jdk)

~~~
pjmlp
Apparently people keep forgetting who pays the majority of OpenJDK developers.

~~~
hocuspocus
Or people simply want to avoid installing the proprietary software that is
bundled with Oracle JDK. With the added benefit of running the same JDK on
your dev machine and on your servers.

~~~
pjmlp
Which leads to the interesting situation that not all Java GUI applications
run properly in GNU/Linux with OpenJDK, forcing companies like JetBrains to
bundle their own fork for those not willing to install Oracle JVM or another
third party vendor.

Because actually OpenJDK isn't 100% 1:1 to the closed source versions.

~~~
hocuspocus
Font rendering is ugly on linux with both Oracle JDK and unpatched OpenJDK, or
at least that was the case last time I tried to solve this issue manually.

------
alfalfasprout
One thing Oracle doesn't seem to understand is that the whole "milk it till
it's dry" strategy won't last forever.

Everything they touch is a catastrophe.

Oracle database? Bloated, absurdly expensive, and blown away by PostgreSQL. If
you really want bulletproof reliability and absurd throughput then DB2 on a
mainframe is a better choice.

Virtualbox? Bloated, slow, and much more buggy than VMware's offerings.

ERP software? Companies could save tons of money using a custom solution and
even if you are so massive you need something like Oracle's ESP SAP's offering
is infinitely better (and cheaper).

Java? Don't even get me started on Java...

~~~
astrodust
Don't forget MySQL.

It's not that Oracle ruins properties, the same could be said of Microsoft
over the years, but that they _tastelessly_ ruin them.

Bundling the Ask Toolbar with Java is absolutely insulting. Not even Adobe
stoops that low.

~~~
yrro
Hudson too...

------
koolba
How real is this and what impact, if any, would this have on server apps that
run on a JVM? There's _tons_ of them, many of which bundle a copy of the JVM
in the app itself. The latter is the suggested deployment model in containers
(i.e. bundle all your dependencies).

Also, would using OpenJDK remove any " _Get your ass sued by Oracle_ " risk or
just defer it to a later date?

~~~
pron
It seems like all the features that require a license are those that require
launching the Oracle JVM with `-XX:+UnlockCommercialFeatures`. If you're not
running with this flag enabled you should be fine. Note that those features
are not in OpenJDK to begin with.

------
macmac
I wrote a small post on the JRockit part of this approx 5 years ago if anybody
is interested: [http://www.spyfoos.com/blog/2011/07/28/oracle-java-7-and-
com...](http://www.spyfoos.com/blog/2011/07/28/oracle-java-7-and-commercial-
features/)

------
narrator
They are slowly strangling every single golden goose they got from Sun.

------
Recurecur
One interesting alternative to Java SE would be an OpenJDK JVM bundled with
one or more of the superior alternatives to Java the language.

Such a package with Scala might make major inroads into the enterprise over
time, with virtually no risk. Clojure is also a widely respected JVM language.

------
hubetcha
Richard Stallman was right about Java all along.

~~~
rpd9803
But something something something Aspergers something picking feet something

~~~
wolfgke
What evidence can you present that Richard Stallman has Aspergers?

~~~
norea-armozel
I think he means in jest that people have constantly talked about Stallman's
quirks that are honestly gross but shouldn't take away from what he says
regarding technology.

~~~
astrodust
His "quirks" are what harms his message. The same could be said for his long-
time collaborator ESR who has some quirks that are beyond eating shit from his
feet.

You want a spokesperson for something they better be worthy of respect. That's
their primary function. It's not being a sage of truth.

People listen to those they respect, and his behaviour at times is so out of
line that he spends more time destroying his credibility than communicating.

~~~
jmiserez
People sometimes are just thick, focusing on "quirks" instead of the content.

I get that people might disagree with his views, but why would they think he's
not worthy of respect?

~~~
true_religion
People don't like his views so they look to his quirks as proof that he is
crazy and not merely misguided. Thus they can dismiss his followers as crazy
too instead of having to own up to the fact that many of their colleagues
worthy of respect believe in a world view fundamentally different from them.

------
slim
Why is this business model legal? I mean, suppose I give you a candy, wait for
you to eat it then ask for payement aguing that it's obvious I'm not giving it
for free. I'm sure there are forgotten laws protecting against such a business

~~~
smonff
Was Oracle present at the Trump building some days ago?

------
jmiserez
The one thing that truly matters is how they determine if your use is
"embedded" or not. And they left the answer out of the FAQ:

[http://www.oracle.com/technetwork/articles/javase/faqs-
jsp-1...](http://www.oracle.com/technetwork/articles/javase/faqs-
jsp-136696.html)

> _Frequently Asked Questions_

> _Is Java still free?_

> _The current version of Java - Java SE 8 - is free and available for
> redistribution for general purpose computing. Java SE continues to be
> available under the Oracle Binary Code License (BCL) free of charge. JRE use
> for embedded devices and other computing environments may require a license
> fee from Oracle. Read more about embedded use of Java SE or contact your
> local Oracle sales representative to obtain a license._

Also, this link has more info on specific features that cost money, aside from
the embedded vs general purpose issue:

[http://www.oracle.com/technetwork/java/javase/terms/products...](http://www.oracle.com/technetwork/java/javase/terms/products/index.html)

------
janci
When exactly do I need to pay for Java? When I develop with JDK? When I
download java from [https://java.com](https://java.com) and install with
default settings? When I download the installer from
[https://java.com](https://java.com) and distribute it alongside with my java
programs?

~~~
remco805
I assume you have this question at this moment because of
[http://www.theregister.co.uk/2016/12/16/oracle_targets_java_...](http://www.theregister.co.uk/2016/12/16/oracle_targets_java_users_non_compliance/)
? Good question...

------
pera
And this is why Oracle will lie at the side of SCO in the Bay Area graveyard.

------
sytelus
Are there still any reasons why one should choose Java instead of .Net for new
developments?

~~~
sk5t
There are many, many more good libraries for Java in Maven Central than for
.NET in Nuget. OS independence, if not quite platform independence, has
informed much of those libraries' development.

Maven, love it or hate it, can do a staggering number of things, some of them
very useful.

JAX-RS servers and clients are more robust IME on Java. (Just try to find a
capable path+querystring builder for .NET.)

JDBC is still the gold standard for database connectivity.

~~~
revelation
Maven, where your build script is actually declarative XML that might or might
not run. Maven, which spends a minute contacting random servers all over the
world only to tell you there is a closing tag missing.

I still have a repository where _Surefire_ (hah) refuses to run any tests.
Impossible to debug. No, that pile won't be missed.

~~~
pjmlp
I will rather take Maven a full day over a few seconds with Gradle.

~~~
vorg
Since Gradle 3, Kotlin is the preferred language for writing build scripts and
addins, rather than just Apache Groovy. If you use Kotlin instead of Java for
your Android coding, you can use the same language for writing your build
scripts as you do for your system code.

------
datashovel
I wonder how it looks to courts that Oracle, thus far, has strategically
singled out Google?

If Oracle does not show a concerted effort to protect their copyright from all
who are "infringing", does that help delegitimize their case against Google?

------
satysin
There is _so_ much negativity around Java that I wonder why anyone starting on
their journey to becoming a programmer would want to learn it or work with it.

~~~
niftich
_" There are only two kinds of languages: the ones people complain about and
the ones nobody uses"_

\-- Bjarne Stroustrup [1], Creator of C++

[1] [http://www.stroustrup.com/bs_faq.html#really-say-
that](http://www.stroustrup.com/bs_faq.html#really-say-that)

~~~
niftich
On a more serious note, Java's "reputation" is because:

\- It was kind of the Golang of the 90s, where each class had a clear and
limited purpose -- but it also meant you had to chain three or five classes
together to get anything useful done [1]. For this and other reasons, like the
longtime lack of type inference, earned it a reputation for verbosity.

\- Most people don't have a clue how to design software, so they turned to
outside resources for ideas. The 1994 book 'Design Patterns: Elements of
Reusable Object-Oriented Software' [2] introduced a lot of useful models on
how to translate mental models into object-oriented code. Some systems
sprawled too much to where their implementations started to look like this
model gone horribly wrong, while some developers merely ingested these ideas
as a dogma and went on to produce code that was needlessly complex and poorly
thought-out.

\- At some point a bunch of licensed code originating from a venture of IBM
was dumped into the JDK, hence the awful, miserable mess that was datetime and
calendaring [3] before Joda-Time's Stephen Colebourne brought sanity to it
with Java 8.

\- Applets were punching above their weight, but the tech was poorly
implemented, and, as history proved with it and other plugins like Flash,
woefully insecure. Vulnerabilities in Java Applets, and early public confusion
about Javascript vs. Java perpetuated the stereotype that Java itself was
broken, insecure, or both.

\- Consultancies are big business, and companies like IBM, Oracle, and SAP
would happily sell shops on big application servers with monitoring and
control panels and genuinely useful stuff, but also tons of cruft and bugs.
These players emerged from the J2EE spec, which defined useful APIs but
intentionally left the implementation unspecified, to cultivate a thriving
community of alternative implementations. Predictably, this didn't go as
hoped.

\- People are obsessed with customizing their software, so vendor-delivered
products were built with externalized configurations. Some people took this
way too far, resulting in the familiar nightmare [4] where you had to
configure mounds upon mounds of XML or .properties files to get an application
running. It didn't help that this was actually the _better_ way of getting it
done in Java, with the Spring Framework, which was way more palatable to work
with than the alternatives coming out of the J2EE spec.

\- Rails shook the world at the end of 2005 and showed that the obsession with
configuration was dumb [5]. Scrambling, both Spring and EJB received rewrites,
so now Java devs @hardcoded things directly into the source code with
@annotations (that are by the way "not code!", as if that distinction was at
all relevant) and pretended they were enlightened.

\- Sun had a vision for Java that they were never truly able to execute. In
the process, they delivered a pretty solid language, eventually backed by a
fantastic VM [6], that became popular because it was simple and scaled down
well to okay and decent programmers -- not requiring a fleet of expensive
rockstars. Oracle smelled money and bought it up, and despite additional
innovation still being delivered by its staff, created wariness and distrust
in the Java community by its corporate attitude.

[1]
[http://stackoverflow.com/questions/4716503/](http://stackoverflow.com/questions/4716503/)
[2]
[https://en.wikipedia.org/wiki/Design_Patterns](https://en.wikipedia.org/wiki/Design_Patterns)
[3]
[https://java.net/nonav/projects/jsr-310/lists/dev/archive/20...](https://java.net/nonav/projects/jsr-310/lists/dev/archive/2007-07/message/171)
[4]
[http://thedailywtf.com/articles/Soft_Coding](http://thedailywtf.com/articles/Soft_Coding)
[5]
[https://news.ycombinator.com/item?id=12761705](https://news.ycombinator.com/item?id=12761705)
[6]
[https://news.ycombinator.com/item?id=12160439](https://news.ycombinator.com/item?id=12160439)

------
nullnilvoid
Great news for Golang. Time to switch if you have not.

~~~
patates
Go doesn't share any kind of similarity in purpose, methodology or audience
with Java.

Or maybe you were being sarcastic?

~~~
mahyarm
It fits the generic GC performant network server designed for large teams in
mind. A large segment in Java land.

~~~
eropple
I would say that Go is designed for _small_ teams. Minimal compiler safety and
generally weak code reuse (outside of code generation, which...no) under the
guise of "just microservice all the things."

It is an okay analogue to Java 1.4. But the state of the art is significantly
further along, and OpenJDK+Kotlin (or Scala, if you're adventurous) is a
significantly more well-considered alternative that fits much better into a
Java workflow (not that those Java workflows are in danger in the first place,
given that _they don 't use any version of Java that is outside the license_).

------
edko
I am not sure I understand this: if I develop an application and distribute it
using the installer that embeds the JVM, then I owe Oracle??

------
smonff
Alphabet will swallow Oracle to save it's Android.

Nice sci-fi scenario.

------
spdegabrielle
Sounds like good news for C++ developers?

I'm assuming C#/.net carries the same risk, and C/C++ does not.

~~~
jongalloway2
.NET is under MIT license
([https://github.com/Microsoft/dotnet/blob/master/LICENSE](https://github.com/Microsoft/dotnet/blob/master/LICENSE))
and there's also a patent promise ([https://msdn.microsoft.com/en-
us/openspecifications/dn646766](https://msdn.microsoft.com/en-
us/openspecifications/dn646766)). There isn't an "enterprise .NET" version for
sale. There are enterprise versions of Visual Studio, servers, etc., but
nothing you could feasibly be "accidentally" using, and nothing that you have
to use to do .NET dev.

What specific risk(s) are you thinking about?

Disclaimer: Microsoft employee, Nazgûl

~~~
Gibbon1
Could change but I think Bill Gates originally tried making money selling a
version of BASIC. Never made much money[1]. Since then Microsoft doesn't try
to make money on dev tools. The dev tool business is there to support
Microsoft's internal needs and to promote the Windows Platform.

[1] Bunch of companies tried selling compilers with 'drink your milk shake'
licensing terms in the 80's. Developer resistance, Microsoft and Borland
killed them off.

