Oracle per-employee Java pricing causes concern
infoworld.com
infoworld.com
* AWS Corretto: https://docs.aws.amazon.com/corretto/latest
* Azul Zulu: https://www.azul.com/downloads/?package=jdk#download-openjdk
* Eclipse Temurin: https://adoptium.net/temurin/releases
* IBM Semeru: https://developer.ibm.com/languages/java/semeru-runtimes
By the way, highly recommend SDKman as a handy tool to install and manage different Java installs on your machine.
It has build instructions on the site, but not pre-built binaries for download. In the site that you linked, however, it says that Semeru does use it under the hood.
I actually recall it being one of the options from AdoptOpenJDK instead of HotSpot: https://adoptopenjdk.net/releases.html?variant=openjdk8&jvmV...
But the Temurin releases from Adoptium no longer have that option, which is curious: https://adoptium.net/temurin/archive/
Oh well, it seemed like a cool project, like an attempt at adapting JDK for cloud workloads and smaller services, without going as far as GraalVM.
I guess it is a pity if they decide to no longer invest on it.
Source: https://github.com/docker-library/official-images/pull/10666...
Also they don't provide binaries because of an agreement with oracle to have access to some validation tools if I remember correctly, thus you need to use IBM semeru
Also available on DockerHub at docker.io/ibm-semeru-runtimes: https://hub.docker.com/_/ibm-semeru-runtimes
At Atlassian in 2008, I noticed that they had acquired a company called Coherence which made a distributed cache for the JVM. Confluence used it heavily for its clustered edition, but the original license allowed us to distribute (in inactive form) for free but pay the license fee only when we sold clustered.
Hidden in the license agreement, it said we’d have to pay for every copy _downloaded_ - the implication was this would include 100% of trials downloaded AND any customer who built confluence from source (all paying customers had source code access).
Fast forward - a mad month where we ripped that shit out for about 6 to 8 supported back versions.
Did you feel the loss of it much, or did it turn out you could/should have gotten rid of it earlier?
Some companies like to have someone to refer to when their production server goes down instead of online forums.
Business as usual for the open source version, which 80% of the paid development, top of the game GC and JIT compiler, language improvements are anyway done by Oracle, with IBM/Red-Hat, Azul, SAP, Microsoft, Alibaba as main contributors besides Oracle.
> Users of OpenJDK builds from Oracle and users of free Oracle JDK builds are not impacted by the Java SE Universal Subscription
A question in good faith, what has Microsoft done recently to contribute to Java?
https://www.i-programmer.info/news/80-java/13854-microsoft-p...
Have any of these changes made it upstream or adopted by anyone else?
[Edit] Sister comment points to Java on Arm contributions that Microsoft has done.
There is also JClarity tooling that has been Open Sourced. I would have to take a further look to confirm that this is the case rather than Open to Abandon that some organisations do. Which is still better than leave closed and abandon.
The way I think about it, Java basically runs on a tax that's being levvied on bigcorps being bigcorps. It's not even really a strict commercial/noncommercial distinction, or an arbitrary line being drawn on any metric like profit, revenue, headcount, etc. It's managers covering their asses. It's compliance considerations that only become relevant when you have lawyers running the show. ...otherwise, I don't understand why anyone would ever pay for commercial Java support contracts.
Let's say you actually are a huge corporation, but you're more enlightened than a typical bigcorp. You might look at those millions that you're giving to Oracle and think to yourself: Hey, this is enough money to enable me to pay a whole department of programmers to look after my interests in the Java ecosystem in a more direct way than Oracle would if I gave that money to them... So, then: Why not do that? Java's open source nature and the OpenJDK process presumably allows you to do that. (Or am I missing something here?)
And at the end of the day, that tax on bigcorps ends up funding Java as an open source effort, with value trickling down to all those other Java users like hobbyists, private individuals, academics, startups (regardless of size and profitability) etc. who can't or won't pay for a piece of infrastructure like that.
This is markedly different from other commercial programming language ecosystems. Take Borland/Embarcadero for example, where they expect you to pay a rather steep price if you're using their tools, regardless of whether you can afford them.
Or take Microsoft, for example, where their whole programming language and tooling ecosystem only exists to support their platform serfdom, and they're giving a very rough deal to their developer-serfs. With Java, you as a developer are actually either the paying customer or an important business partner to Oracle who helps them get to paying customers. Not so with Microsoft. They can take paying customers for granted. They don't get more money if more Windows software gets sold to those same customers. (Don't know how much money they make through commissions on sales of Windows software through the Microsoft store, but I'm willing to bet it's dwarfed in comparison to what they make on Windows licensing). So they engage in trivial innovation, giving a face lift to their platform every few years, coming out with one half-baked GUI toolkit after another, which never reach maturity before being abandoned. That's a horrible developer experience, and horrible economics for their developer-serfs.
Another way that things can go wrong, but don't with Java: Where Java takes from the rich and gives to the poor, many other open source efforts have the problem that they end up taking from the poor and giving to the rich. -- See the debate about elastic search where you have a small open-core startup building something, and then Amazon coming along and charging customers for their repackaged version of the product, without passing any of those proceeds along to the creators of the software.
To make things even better: Take what I've written above and substitute "Open JDK consortium" for Oracle, because saying "Oracle" was actually an oversimplification. It's not a single monopolist at the center of all this, but if you don't like Oracle, you can get your support contract from other commercial (e.g. IBM) or non-commercial (e.g. Eclipse foundation) players.
What's not to like?
This applies to java runetime client from Oracle. Which to most users is "java".
If something requires java most people used to be directed to install javase not openjdk
Today if any user of the business downloaded java se from Oracle it triggers and aggressive and often threatening sales process from Oracle
Given that Java SE was Java to most people I think it gives a false impression to say "This is only for the commercial version" even if technically correct
You are late by a few years. There is no JRE anymore, you are supposed to either use a JDK (e.g. for development) or bundle a small, optimized version of the JDK specifically for your app (see jlink, jpackage for more information).
I mainly support java apps that have not been developed in decades
On what basis do you say that?
The Java runtime (JRE) is dead since Java 9, you are supposed to create a custom one with jlink.
This license change concerns people who have a subscription service with Oracle.
[1] https://www.oracle.com/uk/java/technologies/downloads/#java1...
1. Customers that balk at this cost will switch to other cheaper/free vendors.
2. Oracle imposes even more onerous costs to maintain revenue.
and repeat.
At some point either Oracle gives up, or they attempt to extract revenue from vendors as well. The latter will probably result in a some kind of fork.
One thing I'll caution: it's a mistake to think the per-user rate would necessarily be the same in both cases. The business tries to price its software based on value added. IIRC, in the rare cases that we offered customers the choice of pricing method, the final price was (estimated) to be roughly the same, with the per-user rate being the variable...
Disclaimer: I haven't read the original article and I don't have any opinion on what Oracle's doing in this specific case as a result.
Even then I would not put it past oracle to make the claim all users of the company that accesses the server app needs a license
1. What are the implications for the open source or cleanroom JVMs?
2. What are the implications for JVM-based languages like Kotlin, Scala, Clojure, Groovy, etc.?
Speculation:
Even though, it doesn't apply to the OpenJDK, it still sends a signal that the JVM licensing/pricing terms may change in the future. Unlike other corporations developing PLs/runtimes, Oracle does derive their income from this activity.
It make sense to avoid potential licensing/prcing changes by migrating to the JVM to modern and/or less resource-hungry PLs.
This process already started in the Big Data infra space with projects like ScyllaDB and RedPanda.
Kotlin that leeches on Java infrastructure for its existence? And papa Google is yet to fully rewrite Android in Kotlin/Native?
C# is an alternative, provided there is an implementation for the desired OS platform. Meadow is the only presence in Embedded without the capabilities from PTC, Aicas and microEJ.
...
The part I find interesting is how Java is slowly becoming like COBOL all due to a combination of bad marketing and terrible messaging, and a flawed monetization scheme that was obviously rushed with little thought for the long term.
At this point it rather looks more like a "protection tax" than a flawed monetization scheme.
bonus : you don't have to learn a new language every decade.
Plus the winds are changing in security liability.
That lets one replace the dependency on Oracle, whose reputation is invariant, with Microsoft, who are known to be nice people who won't blow up your world to increase their profits.
Plus the legal team who liked contracts with Oracle can replace them with contracts with Microsoft. The developers who like Java are fairly likely to like C#, what with it being very nearly the same language.
[in case the subtext is somehow missed, I believe this will punt the problem down the road until Microsoft do something similarly expensive to you]
There are also some tooling features like code coverage, live testing or byte code rewriting tooling that require Visual Studio Enterprise licenses.
IKVM and J# were two ways of running Java code on .NET.
The famous Design Patterns book is for enterprise projects based on Smalltalk and C++.
CORBA and DCOM were a thing a few years before Java was invented.
And so forth.
Ruby projects are going to have a better testing coverage and culture in average than Python projects whereas in reality both languages could do the same.
Java overengineer culture is still present despite being non-existent in other languages like Go whereas in theory it could exist in both.
Nowadays you can do anything with any language, in practice the culture often goes in the way
Go culture has brought us YAML spaghetting and kubernetes madness at enterprise level.
Many of the features in modern Scala and Java don't exist in other languages.
it just makes a language impossible to learn and use effectively
need a reasonable amount of useful features
I would appreciate if you could name them but I would understand if you didn’t have them handy to name. It’s unreasonable to expect you to know them off the top of your head.
Cost of that support contract is going up.
No company has or is ever forced to use it. And no one is going to replace their Java codebase because of this. They will simply swap for a different JVM like many of us did years ago.
Nothing and nothing. Usual FUD posting about something that doesn’t matter to almost anyone.