Did you know that Oracle will no longer offer free updates/security patches for Java 8, if Java is used for commercial purposes beyond Jan 2019? After that, you must pay them for support/updates (including security updates). And did you know that they are not offering their next "long-term" release, Java 11, free for PRODUCTION use at all (and that you must obtain a separate license)? Finally, while Oracle will be offering a free openJDK implementation, did you know they will only be committing to supporting/updating it for 6 months after release, leaving subsequent updates to the community of contributors?
These are important changes for those running CF, since it runs on Java. (CF2016, 11, and 10 run on Java 8. And while CF2018 came out on Java 10, that Java release will not last for long, yet another complication/curiosity that I wrote about back in May: On ColdFusion and its support for Java 9, 10, and 11.)
For now, while Adobe is aware of the issue of the pending Oracle licensing change, they have yet to clarify things on the matter (at this writing, Nov 15 2018).
While we await that news from them, I wanted to share this news here to help my readers, as well as a bit more below for those wondering about the matter, and options going forward.
Finding more on the Oracle licensing change
As for finding more about this change in Oracle licensing (for Java 11 and earlier versions), well, rather than elaborate on things any further, let me point you to some resources written by others (having nothing to do with CF, of course). These have much more detail on the licensing changes, as well as alternatives to consider.
Let me start with some that are NOT from Oracle and focus perhaps more on the potential negative impact of the changes:
- Using Java 11 In Production: Important Things To Know
- Eliminating Java Update Confusion
- Java is still available at zero-cost
- Oracle's Java 11 trap - Use OpenJDK instead!
Then here are some that are either from Oracle or speaking from a perhaps more optimistic perspective:
- Java Is Still Free
- The future of Java and OpenJDK updates without Oracle support
- Oracle JDK Releases for Java 11 and Later
If there are other, better, or more updated resources that may help readers, let me know and I will add them here.
Can you clarify "commercial" vs "production"?
(This one section has been added after the original post. Folks who are "not commercial" (such as government agencies, schools, and non-profits) will reasonably ask, "does this discussion about 'commercial' use apply to us?"
Well, let me clarify what I can find, for now. (See comments to the post below from Dec 4, when this first came up.) It seems clear that Java 11's new license does clearly say it refers to us NOT being able to use it for PRODUCTION purposes without a separate license. So that's not about "commercial" use only, but includes non-profits, etc.
What's NOT clear is about Java 8 updates, because as I write (before Jan 2019), we don't have the new license agreement that may appear when SUCH updates DO appear in 2019. But we have the Oracle blog post about the change which refers to that as being about updates post Jan 2019 being available only for "personal (non-corporate) use". We are left to interpret that, for now.
What can you do, going forward?
Well, you have a few choices:
- Someone might think, "well the heck with them. I'll just not update my Java 8 after Jan 2019". Beware that stance: you will be opening yourself to security risks. Oracle had been updating the JVM every few months (and Adobe has always supported you updating to the latest point release of the major JVM that they support. I offer a table of those versions here, and there is an older Adobe blog post on the matter, at least up to CF11.)
- Of course, one could just pay Oracle to provide updates for commercial use of Java 8 beyond 2019, or pay them to get a production license for Java 11.
- And there are some other vendors offering paid support/updates, as well as various JDK alternatives.
- Finally, one can go with Oracle's free openJDK (which IS permitted for commercial/production use), but again they have not committed to updating it beyond 6 months from release
- Then there are other openjdk implementations that may have varying levels of long-term support/updates.
Again, see the links I offered above for more on these options.
But CF folks will surely not expect to pay for Java or java security updates, given that CF comes built on Java.
And some may be reluctant to go with an openJDK implementation that doesn't have a commitment of support beyond 6 months from its release.
We need Adobe to clarify things
We really need a resolution of this from Adobe. Again, for discussions of this matter from a CF perspective, see:
- Adobe's blog post on the Oracle policy change (see comments there as well)
- An Adobe CF Forum thread where this matter was initially raised with considerable discussion
[As an update, since I wrote this, there was finally a comment in that last-mentioned forum thread, from Suresh of Adobe, who said, "The next update of ACF 2018 and 2016 planned for Jan/Feb 2019 will have support for Java 11 . The team is working on this as i write.". As others asked there, this does not address CF11, nor does it address support of openjdk implementations. And it would be helpful for someone from Adobe to update the blog post mentioned before that, to make this clarification or to create a new one and point the one to the other.]
At a minimum, one can hope that Adobe will at least change the recent versions of CF to support openjdk implementations of Java 11, so that we could use that (for free production purposes). Others may hope that Adobe might somehow license Java "for us" in a way that DOES allow us to use it (with CF only) for commercial/production purposes and to get updates/security patches for at least the term of Adobe's support of each CF version (CF11 will be supported by Adobe into mid-2019, and CF2016 into 2021, and CF2018 into 2023), but that seems unlikely.
Finally, though, on the matter of openjdk implementations that would allow us to use Java free for commercial/production use and be kept updated, there may be some potential good news on this front, a particular new openjdk implementation which may be of considerable interest--with support/updates even for commercial/production use for years to come, and from a vendor you know well. More on that in my next post.