Remember almost a decade ago when Oracle acquired Sun Microsystems and all of its intellectual property? Part of that acquisition was the programming language Java. There was a concern at the time that Oracle may change terms for using Java, which they eventually did. Fortunately, you can run a free and open variant and continue using Java without having to license it from Oracle separately.
FileMaker has long used Java in FileMaker Server for various components and functionality. Specifically, in recent versions, it uses Java 8 SE, which happens to be the commercial variant. Now, there is nothing inherently wrong with this decision. Java is a very powerful and popular programming language and will continue to be for a long time. If you need to use web publishing, you need to use Java on the server and for any attached web worker machine.
Change in Terms
Recently, however, Oracle has ended the free commercial use license for updates to Java 8 SE, and this has some impact on the FileMaker Server. This sounds complicated, but it is not as bad as it might sound, once you understand the implications and details a little more. This affects FileMaker 17 and 18, see the following support articles:
You will note that you now have the option of staying with Java 8 SE. You must purchase licensing from Oracle to be in compliance. Licensing for Java SE is calculated at a certain amount per processor. So, if you only needed to purchase a license for one FileMaker Server provisioned with four processors, that would be $300 per processor/per year or $1,200 annually.
That might seem a bit much on top of your server cost (hardware or virtual) and FileMaker licensing. Fortunately, there are alternatives, as laid out in the above support notes. You can opt to install OpenJDK, which is an open-source variant of Java. If you read the steps above, you might find doing this manually a little bit out of your wheelhouse.
All of this may sound a little disconcerting. But fear not, the situation is not as bad as it seems. The engineers at FileMaker have done a good job of making the process as painless as possible and providing some clear instructions on how to rectify. I will try to elucidate by expanding on those instructions and advise on the best options available, as far as can be seen.
On a new install of FileMaker Server 18.0.2, you will now see the following dialog when you enable the web publishing engine on any connected worker machine. In a single machine deployment, you will see the master machine listed as a worker.If you select OpenJDK, another dialog presents the option to upload a zip file for OpenJDK. Find and download the appropriate zip, as directed in the instructions here, and upload it with the FileMaker Admin Console. It will then install in the Web Publishing folder where FileMaker Server is installed, and additionally add the correct environment variables if you are on Windows. That is kind of nice, and not mentioned in the above support articles or release notes.
Only time will tell how to monitor the Java version on your server and if subsequent FileMaker Server updates will prompt you to update files if needed. It is possible it may be a complete non-issue. In the meantime, you may also want to refer to the following support article for tested and recommended versions of Java for your version of FileMaker Server:
Another Option: Amazon Corretto
There is also a branch of the OpenJDK project that is developed by Amazon, called Corretto. Amazon Corretto is a build of the Open Java Development Kit (OpenJDK) with long-term support from Amazon. It’s certified using the Java Technical Compatibility Kit (TCK) to ensure it meets the Java SE standard and is available on Linux, Windows, and macOS. It was designed as a drop-in replacement for Java SE, and includes an installer that shows in installed programs, for example, and may be easier to manage and update going forward.
In our testing, we installed Corretto on a server, followed by FileMaker 18.0.2 and when prompted with what Java Runtime Environment to use, selected “Oracle JRE” and it all worked as expected. When installing Corretto, we used the default install options, and it set the proper environment variables needed in Windows OS.
You do not need to be on AWS at all to use Corretto, and it is freely available from https://aws.amazon.com/corretto/, and the source can be found on GitHub as well. Being open, all source code is available online should you want to review.
We have found working with Corretto to be easy and is compatible with FileMaker Server and could be a great option to the changing requirements for production servers. We will, of course, monitor developments going forward. Hopefully, this provides some clarity and sets server admins at ease when running into this issue.