DEV Community

Discussion on: Java 15 in 2020: Reasons to *not* use Java?

Collapse
 
brunoborges profile image
Bruno Borges

I get your perspective, but aren't open source projects with multiple implementors and sponsors better than monopolized open source projects?

One of the beauties of the Java platform is having a true single source code, GPL2 licensed, and having multiple companies one can choose commercial support from. Plus, a variety of languages beyond the Java language itself (Scala, Kotlin, Ruby, Clojure, to name a few).

When someone "apt install python" on their Linux server, they are getting a binary of Python compiled by that Linux distribution team (e.g. Canonical, Debian, CentOS, etc). Same thing happens when someone "apt install openjdk". And on top of that, one can download binaries of OpenJDK from different specialized vendors who build Java from the source and provide commercial support (Red Hat, IBM, SAP, Oracle, Azul Systems, BellSoft, to name a few).

Isn't this an advantage?

Collapse
 
neilpmas profile image
Neil Mason

I think it's nuanced.

Of course having competing products results in better performance and better price and that's an advantage...

But it also results in more choice, and that is both an advantage and a disadvantage. I don't think I care about my hair - but when I have to buy shampoo in a foreign supermarket, it is an arduous choice.

Think about all the terrible software decisions based on default choices and laziness. All of the banking enterprises that have been run on Excel spreadsheets that get backed up when someone remembers.

Java was always meant to be the language that wouldn't get you sacked, it was an easy default choice - and I think it has lost some of that power.

Thread Thread
 
brunoborges profile image
Bruno Borges

One of the major values of open source is being able to choose who you want to sign a support contract with. An open source project that has a single company providing commercial support and stewarding the project seems like a weak open source project to me.

While I see that it can complicate things, it can also really make it easy. As someone pointed out here before, they don't like Oracle. Fair enough, just go choose someone else. Now imagine not picking on a technology despite all of its benefits just because you don't like the only company maintaining it. Java is different with this regards. It has multiple companies maintaining it and one can get commercial support from someone else with ease. I can't really see how this is a disadvantage.