I want to check it's ok to bundle Java SE Embedded with the installer for a Java application.

The target environment are general purpose servers which use embedded hardware (e.g. ARM, PPC architectures). Examples would be consumer grade NAS servers (Synology, QNAP etc).

I want to know if it is possible to redistribute the JRE for these devices. Java SE has a specific readme file for redistribution saying which files must be included. But there's no such documentation for Java SE embedded.

General Java SE Embedded licencing

It might be worth mentioning the general licencing requirements for Java SE embedded. Overall, use on NAS appears to fall within this licencing as "General Purpose Desktop Computers and Servers".

The licence for Java SE says:

"General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools).

The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement.

I don't think consumer grade NAS or home server is included in that list at the end - it's not a "storage management" device which I think refers to something specific like a RAID or SAN controller or similar.

However the embedded FAQ also says:

Q10. How is Java SE Embedded licensed?

Java SE is free to use for development of embedded applications. We provide affordable licensing for deploying Java SE in an embedded device or as part of a embedded-based system. Please contact us when you are ready to deploy or if you have already deployed but not sure you have the correct license.

Q11: Does deploying Java SE embedded devices or purposes require a royalty?

Yes. Oracle's license for Java SE enables it to be freely used for general purpose desktops or servers. If Java SE is bundled as part of a dedicated solution that involves or controls hardware of some kind, then it's likely an embedded application and is subject to modest royalty payments.

So I'm not 100% clear about licencing - on the one hand, "embedded" seems to be used as a synonym for highly specific applications (which this isn't), but then the use of "embedded-based system" seems more ambiguous - does this just refer to any computer with an ARM chip, say?

Overall I am minded to think we are ok from this point of view.

But what about redistribution?

  • rather blatant duplicate of What does “general purpose system” mean for Java SE Embedded? – gnat Aug 24 '16 at 9:12
  • I don't think so. That is asking for clarification on what a "general purpose system" means in the licencing. I copied a bit of that question (the sections of the licence) to ask my question, which is "can I redistribute the embedded JRE?". – Dan Gravell Aug 24 '16 at 10:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.