this post was submitted on 11 Jun 2024
342 points (99.1% liked)

Programming

17483 readers
108 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 67 points 5 months ago (4 children)

This is only very indirectly related to Java as a whole. the reference implementation of the jvm is open source and managed by a coalition of companies under a GPL license, the OpenJDK.

Oracle has its own set of enhancements to the reference jvm that handle things like just-in-time compilation and garbage collection differently and have some additional flags that allow for more fine-grained tweaking of certain features.

There are many other companies that do the same.

Oracle only started doing this in 2019 so many companies who were running Java before this used the Oracle JVM out of convenience, even if they weren't going to use the tweaked parts. So everyone switched to another implementation, OpenJDK, Amazon Coretto, Eclipse J9 or some other available JRE/JDK.

In 2023 Oracle cracked down harder trying to get people to pay for licenses and changed their terms such that any company with even 1 employee using an Oracle JVM had to pay for every employee in the company. ridiculous I know.

This is just more news about Oracle's licensing crackdown and not about Java as a whole at all. Think of it more like the Unity licensing change and you're telling people to stop coding in C#.

[–] [email protected] 11 points 5 months ago

even 1 employee using an Oracle JVM had to pay for every employee in the company

Before that one, they were using a "if one core can run it, all cores must have a license" model.

If you want to see how well that model did, remember

  • Oracle moved off its success onto this one
  • VMwareCom is now using it
  • Microsoft is using it (want to run a single 2022? License every core in your cluster)

It makes the SuSE AND SCO seat-license deal look tame.

[–] [email protected] 4 points 5 months ago
[–] [email protected] 1 points 5 months ago

The open source implementation replicates the same bugs as the oracle JVM for compatibility. So you're still beholden to oracle for fixes and that's why none should ever use a proprietary language

[–] [email protected] -5 points 5 months ago (3 children)

I'm aware of the jdk alternatives and I will never use any of them because Oracle might some day decide that they're an IP violation like they did with Google's Android. I'm sure you'll tell me something about the licensing being different but that still will not matter because there is always the possibility that Oracle will change their mind and start messing with me for sport. The Java ecosystem is rotten from the top down because Oracle cannot be trusted.

[–] [email protected] 48 points 5 months ago (2 children)

Oracle might some day decide that they're an IP violation like they did with Google's Android

They lost that case. It went all the way to the US Supreme Court and set a binding precedent that an API re-implementation falls under the Fair Use doctrine. Maybe Oracle could try some excuse to say that OpenJDK is different enough from what Android did for that precedent to apply, but it would be a major uphill battle, and they know it.

[–] [email protected] 3 points 5 months ago (1 children)

It was expensive for Google and fighting them would destroy most companies. It's cheaper to avoid the ecosystem entirely.

[–] [email protected] 19 points 5 months ago (1 children)

It was expensive for Google, but they've done the hard work of establishing the precedent. It's much easier to fight when you have a strong binding precedent on your side.

[–] [email protected] -1 points 5 months ago (1 children)

C# is a better language anyway.

I expect the future is in Rust and C#.

[–] [email protected] 4 points 5 months ago

Oh I agree. I love C#. My uni taught most of its classes in Java, but my work has been mostly C#, and it's a huge step up. It would be my choice 100% of the time if starting a new project where the decision is between those two. But if I were using Java via OpenJDK, I wouldn't be afraid of a lawsuit; that's the only point I wanted to make.

[–] [email protected] 17 points 5 months ago (1 children)

OpenJDK is released under the GPL. That requires making any patents available for free to users.

They could theoretically change their mind and try some shit, but the GPL is hard to go "backsies" on.

[–] [email protected] -5 points 5 months ago (2 children)

Feel free to use it, as long as you're willing to pay lawyers to fight them when they decide otherwise.

[–] [email protected] 11 points 5 months ago (1 children)

You're just spreading FUD now.

[–] [email protected] -2 points 5 months ago (1 children)

It's just my reasoning as to why I won't use Oracle products. Feel free to put your own company at risk.

[–] [email protected] 7 points 5 months ago* (last edited 5 months ago) (1 children)

I f'ing love how you're blaming me personally. Don't be a dick.

BTW - don't mistake "cynicism" for "reasoning".

[–] [email protected] -3 points 5 months ago (1 children)

Sorry, I have my own company, my choices matter, you should blame whomever made that choice for you.

It's not necessarily cynicism if it's based on previous patterns of behavior. Oracle reveals themselves to be run by bullies again and again and I choose to not put myself at risk. You do you.

[–] [email protected] 8 points 5 months ago (1 children)

It’s not necessarily cynicism if it’s based on previous patterns of behavior.

It's exactly what it is because you're ignoring facts that contradict your position because "I've been hurt before". The OpenJDK license is currently the MOST permissive it's ever been. And that was done by Oracle which is shocking to me.

The GPL is an old and well accepted license and there are lots of groups who will jump to defend it. And there are lots of companies backing the OpenJDK that aren't Oracle. Oracle would need to fight Amazon, Microsoft, IBM (RedHat), the Eclipse Foundations, etc. if they wanted to change that.

[–] [email protected] -5 points 5 months ago (1 children)

Sorry, no, I will not go back to my abuser because they say it's different this time.

[–] [email protected] 6 points 5 months ago (1 children)
[–] [email protected] -2 points 5 months ago (1 children)
[–] [email protected] 3 points 5 months ago (1 children)

Buddy I'd love to introduce you to reality some day.

[–] [email protected] -1 points 5 months ago (1 children)
[–] [email protected] 2 points 5 months ago (1 children)
[–] [email protected] 1 points 5 months ago (1 children)

Depends on how you "introduce me to reality"

Do you always make vague threats when someone disagrees with you on the internet?

[–] [email protected] 2 points 5 months ago (1 children)

Do you always take sarcastic insults as threats?

[–] [email protected] 1 points 5 months ago (1 children)

Not usually. Are you always this poor of a communicator?

[–] [email protected] 2 points 5 months ago (1 children)

Maybe you're just a bit thick.

[–] [email protected] 1 points 5 months ago

You're having the same conversation with me on multiple threads and it's me who is thick? It seems like you're personally insulted when someone does not choose the tech stack that you identify with. It's a language, not a religion, you're going to be ok. I have my reasons not to like it and you do not have to approve. Get over yourself.

[–] [email protected] 3 points 5 months ago* (last edited 5 months ago) (1 children)

I'm curious. Microsoft is in a similar position with its open-source-like work. It's been great for PR but MS has a bad history with Open-Source and with its customers (1999-doj-vs-ms). It's one of the very few companies so bad they were actually sued by the doj.

If you feel this way about Oracle, what's your feeling toward Microsoft? Does it colour your use of c# or dot-net knowing that a company with a track record of rug-pulling and secretly thumbing the scale is still in control of the tools you choose to use?

[–] [email protected] 0 points 5 months ago

C# is not my first choice but I did tolerate it the last time I worked a corporate job. MS seems committed to .NET core being open source and have never tried to rug pull C# or the .NET framework itself.

Also, I believe Microsoft's incentives are different, and in a way that benefits me. For instance, they sell more Windows Server licenses because it's easier for legacy shops to administrate (even though it can be done with nginx now). They also get more native software released for Windows, sell more Visual Studio Pro licenses and are able to steer people toward Azure DevOps and other Azure based cloud services.

Oracle has some similar products but their revenue streams are miniscule in comparison. They also have historically been a very lawsuit-based company, as an aggressor not a defendant.