CellProfiler + Java SE Subscription license

Will it be required to obtain a license for Java from Oracle in order to use CellProfiler from 2019 and onwards? Since Oracle will start to charge for Java usage in 2019. Or can you maybe replace the Java that’s included with CellProfiler with OpenJDK or similar?


CellProfiler should work with OpenJDK- the library it relies on, python-javabridge, does anyway. Have you found that not to be the case? If so, that’s certainly something we should take a look at.

1 Like

Thank you for your reply! As far as I can tell CellProfiler comes bundled with Oracle’s Java. I haven’t found any option or guide to specify that CellProfiler should use another JRE/JDK than the one that comes bundled with CellProfiler. Is this possible?

On Windows it seems to be possible to replace the contents of the C:\Program Files (x86)\CellProfiler\java directory with OpenJDK. CellProfiler seems to run after that. But how does one do this on the Mac version? Oracle Java stuff seems to be scattered over several different directories in the app bundle.

Only CP 3.1.5 does (and CP 2.1 and earlier, but we sincerely hope people are moving away from those super old builds!).

We’re currently building what’s likely to be released as CP 3.1.7- I’ll chat with the team about packaging with OpenJDK instead.

1 Like

The next update of Fiji’s bundled JRE will certainly switch to OpenJDK. The technical differences between OpenJDK and Oracle Java SE boil down to “commercial features” that ImageJ, Bio-Formats, et al. do not use or need. If anyone discovers otherwise, I second @bcimini to please raise that on the forum here, and we will address it.

The fears about Oracle charging for Java strike me as FUD. The OP of this Reddit thread summarizes the situation well:

This is for Java SE 8 only (at the moment anyway). This means -

  • If you migrate to Java 9, 10 or newer or stick to a version of Java 8 released before January 2019 (for business, commercial or production) you don’t have to pay anything.
  • If you want to continue using new Java 8 releases that are released after January 2019 you will have to pay to get them for use in a business, commercial or production environment.

So there is no concern about existing Javas bundled with applications somehow no longer being legal, or requiring payment, even for commercial use. And certainly not for continued academic use. Oracle’s business model here is to charge companies who need continuing security fixes and support for Java SE 8. Personally I find this to be a perfectly valid thing to do, and not “evil” at all.


Hi! We usually build CellProfiler with OpenJDK (since it’s what our continuous integration setup uses for testing). However, we changed our build process with the last release so a few things inadvertently got switched around. You can expect the macOS and Windows builds to use OpenJDK with our next release!

1 Like

Well said, @ctrueden.

I should be clear that CellProfiler’s use of OpenJDK is entirely unrelated to my personal politics and opinion of Oracle’s open source behavior (it could be better). If you’re curious, we use it because it’s the simplest to install and update on all of the popular platforms!

1 Like

Thank you for all replies! Looking forward to the next release of CellProfiler. Is there an ETA on when the next release will be available? :slight_smile:

Working on it literally as we speak :slight_smile: