Oracle Plans To Switch Businesses to Subscriptions for Java SE (infoworld.com)
A reminder for commenters: non-commercial use of Java remains free. An anonymous reader quotes InfoWorld:
Oracle has revamped its commercial support program for Java SE (Standard Edition), opting for a subscription model instead of one that has had businesses paying for a one-time perpetual license plus an annual support fee... It is required for Java SE 8, and includes support for Java SE 7. (As of January 2019, Oracle will require a subscription for businesses to continue getting updates to Java SE 8.)
The price is $25 per month per processor for servers and cloud instances, with volume discounts available. For PCs, the price starts at $2.50 per month per user, again with volume discounts. One-, two-, and three-year subscriptions are available... The previous pricing for the Java SE Advanced program cost $5,000 for a license for each server processor plus a $1,100 annual support fee per server processor, as well as $110 one-time license fee per named user and a $22 annual support fee per named user (each processor has a ten-user minimum)...
If users do not renew a subscription, they lose rights to any commercial software downloaded during the subscription. Access to Oracle Premier Support also ends. Oracle recommends that those choosing not to renew transition to OpenJDK binaries from the company, offered under the GPL, before their subscription ends. Doing so will let users keep running applications uninterrupted.
Oracle's senior director of product management stresses that the company is "working to make the Oracle JDK and OpenJDK builds from Oracle interchangeable -- targeting developers and organisations that do not want commercial support or enterprise management tools."
The price is $25 per month per processor for servers and cloud instances, with volume discounts available. For PCs, the price starts at $2.50 per month per user, again with volume discounts. One-, two-, and three-year subscriptions are available... The previous pricing for the Java SE Advanced program cost $5,000 for a license for each server processor plus a $1,100 annual support fee per server processor, as well as $110 one-time license fee per named user and a $22 annual support fee per named user (each processor has a ten-user minimum)...
If users do not renew a subscription, they lose rights to any commercial software downloaded during the subscription. Access to Oracle Premier Support also ends. Oracle recommends that those choosing not to renew transition to OpenJDK binaries from the company, offered under the GPL, before their subscription ends. Doing so will let users keep running applications uninterrupted.
Oracle's senior director of product management stresses that the company is "working to make the Oracle JDK and OpenJDK builds from Oracle interchangeable -- targeting developers and organisations that do not want commercial support or enterprise management tools."
The same reason I use C++ instead of Microsoft Word!
I'm not one to defend Oracle's business practices, but OpenJDK is where the free lunch is at. It has largely the same codebase. Just stick with that. It also supports major versions for quite some time, backed by both Oracle and Red Hat.
---
I believe Oracle does this with every JDK as they approach End of Life. ("Want us to continue patching JDK 8 rather than you upgrading to JDK 9? Fine, then pay us"). The story here is just the pricing model has changed AFAIK.
--- "We've always been at war with Eastasia."
Except my company has a corporate policy against using open source software. So that's not an alternative to not paying Oracle.
Goodbye, Slashdot!
The fact a tech website like this is full of users convinced that this means that commercial users of Java will now have to start paying is VERY bad news for Java. It re-enforces the feeling most people have that Oracle's takeover means Java is ceasing to be an open, free, technology, that was already a gut feeling most had when they started suing Google.
Despite being such a promising platform, between the poor and over ideological stewardship of James Gosling and his successors, and Oracle's malignant behavior over licensing, it's a system fewer and fewer people will want anything to do with.
People may be "wrong" about what this announcement means, but it doesn't matter: Their misunderstandings re-enforce a negative narrative about the platform, and we're seeing another nail in its coffin.
You are not alone. This is not normal. None of this is normal.
Azul offers OpenJDK builds for a lot of platforms using a product called Zulu, which is free of charge if you don't want any support. IMO they're better than Oracle's OpenJDK builds because you get more platforms. I think Zulu's might also continue to get security updates for longer than Oracle is willing to provide them for old versions of Java, so if you're stuck on Java 7 or 8, this is a great alternative. Of course, updating your code so you can jump to OpenJDK 10 is better, but sometimes that can take a long time for projects hitting worst-case issues with backwards compat.
Looking at their site, they seem to offer another product that claims better latency consistency, called Zing, that is non-free. So that tells me that Zulu is mostly unmodified OpenJDK builds (although they could be marginally faster if they are compiled with different option flags or a better compiler than Oracle uses). Zing is something else entirely.
P.S. - I am not a shill for Azul. I've never done business with them, worked for them, or bought their products. But I have downloaded their free OpenJDK builds and find them much more convenient to download (with fewer nags) than Oracle Java or Oracle OpenJDK.
Well, if that's their policy, then they get to pay Oracle big bucks. They can change their policy and save money, or not.
The world's burning. Moped Jesus spotted on I50. Details at 11.
Even Oracle doesn't sue itself.... I think..
---
This post is why you never go full retard. OpenJDK is owned and controlled by Oracle, nimrod.
Don't look at Java the language, but the JVM it runs in, a battle tested way to not just run services with high reliability and pretty serious performance, but outrageous tooling to figure out what went wrong if anything happens. It is not perfect for all scenarios, but Python's best use cases and Java's are pretty different.
There's too much java code running in too many shops to kill. The big enterprise outfits will pay the licensing fee, and the smaller ones will switch to openjdk. I know it's popular around here to imagine that Java has some sort of meaningful competition, but if Microsoft with all its resolve to open up .NET can't really grab a piece of Java's significant penetration, then it's fantasy to imagine that languages like Python will.
The world's burning. Moped Jesus spotted on I50. Details at 11.
Static typing, Generics, run time/load time byte code instrumentation, jit compilation, picking from a handful (or with 3rd party VMs more) garbage collecting algorithms, Annotations I guess there are plenty more, but I'm not a Python expert.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Nimrod was a legendary great hunter.
Bugs Bunny called Elmer Fudd that with tremendous sarcasm.
It's not an insult.
Well, if anyone wonders why people use Python instead of Java, here is a pretty damn big reason.
Some people think cucumbers taste better than pickles. Python v Java is a decision only hobby programmers make. For any project even remotely big enough to consider paid support for their development/runtime environment, the answer would be use both and whatever else you need.
I seem to recall an issue I had once with javax.crypto stuff not working right with openjdk, and I needed the certs from oracle jdk. to do a secured socket connection.
File under 'M' for 'Manic ranting'
Kotlin.
I've worked for software development companies that had policies of not using open source software as well, but it had less to do with being shitty, per se, and more to do with lawyers, and the risk of being sued ourselves if something didn't go right just because we depended on someone else's software to work as described. If software we depend upon was commercial and had an issue, we had a specific party that we could verifiably hold responsible for addressing it.
File under 'M' for 'Manic ranting'
Generics exist because of static typing; there is no need for them as a language feature when you have dynamic typing.
Python has decorators which can do more or less the same things that annotations can.
Static typing and execution speed are the main differences that matter, in my opinion. Static typing can be an advantage or disadvantage, depending on what you're building. Recent versions of Python have optional type declarations that can be used for static code checking, but I haven't yet tried those in practice, so I don't know how useful they are in bridging the gap between static and dynamic typing.
Execution speed is usually much better (like a factor 4 to 10) in Java, although if you use a lot of library calls or I/O, the interpreter is not the deciding factor in the speed of a Python program and then it can run just as fast as Java.
Java has just about dropped of my list of PLs 'up there' in terms of future-safety.
Then you're not thinking straight. Java is still THE most secure widely and deeply used programming language on the planet (as an ongoing product). Sun's foresight in releasing it under the GPL ensures this. At this point, Oracle is just a steward of the GPL'd version. It would not take much for a coalition of interesting parties (Google, Red Hat, Apache, et. al.) to wrest that stewardship away from Oracle if its behavior became harmful to the GPL'd version.
As it stands, ALL of my Java projects use OpenJDK, and none of them use Oracle's SDK. I have absolutely no qualms about writing new projects using it, as Java is in absolutely no danger at all. You should be MUCH more worried about starting and maintaining C# and Swift programs (regardless of them being released under certain Open Source licenses), as they are still controlled by a single company which can pull the rug out from under you at any time.
Companies run by stupid people, on the other hand, are going to get shafted. But then, these people probably already surrendered themselves by relying too heavily on closed software.