Java SE Embedded – Meaning of ‘General Purpose System’

embedded-systemsjava

The Oracle website says this about Java SE Embedded license:

development is free, but royalties are required upon deployment on
anything other than general purpose systems

What does "general purpose system" mean here?

We have a sensor network around the country. On each box we have installed, there is a micro controller based board that gets data from the environment and send data on serial port to a ARM based embedded board. On this board system there is a Java process which reads and submits data to our central server using JMS. Is this categorized as general purpose system?

Sorry I'm asking this here. We are in Iran, there is no Oracle office here to ask.

Best Answer

"General purpose" is defined in the license itself. The Java 7 SE license has this:

"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.

(emphasis added)

You should also read the Embedded FAQ items 10 through 14, especially:

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.

I'm not a lawyer, not familiar in any way with laws in Iran and how licensing works there, nor do I work for Oracle – but what you describe doesn't fit with the usual definition of "general purpose" system.

One more note: export restrictions may apply.

ALL Oracle products are prohibited for export/reexport to the following:

  • Any company or national of Cuba, Iran, North Korea, Sudan, and Syria. Licenses to these countries and parties are presumed denied. [...]
Related Topic