This article reviews the Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX, focusing on applying the agreement to general-purpose computing language and using Java in dedicated solutions.
Please note that this analysis is presented from a license compliance perspective and should not be construed as legal advice.
Use this article to dive deeply into BCLA, but not learn Java Licensing.
Oracle Binary Code License Agreement Overview
Oracle’s license agreement for the Java SE Platform Products and JavaFX contains several critical elements that must be understood. Primarily, it is a non-exclusive, non-transferable, limited license provided by Oracle to the user, allowing the software to run Programs (defined in the agreement), provided the terms and conditions outlined in the agreement are met.
The agreement clearly states that the software may be used internally without fees, provided it remains complete and unmodified and is used solely to run Programs.
The Programs here refer to Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers, and JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers.
General Purpose Computing Language
The agreement outlines a specific context where Java may be applied. “General Purpose Desktop Computers and Servers” describes computers or servers used for standard computing functions under end-user control. These functions include but are not limited to email, general-purpose internet browsing, and office suite productivity tools.
The use of Java in this context is permitted under the license agreement, as it falls within the defined parameters of running Programs, which are Java technology applets and applications, and JavaFX technology applications designed to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers.
Use of Java in Dedicated Solutions
The agreement expressly restricts the use of the software in systems and solutions that provide dedicated functionality or are designed for use in embedded or function-specific software applications.
Examples include 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.
Therefore, from a license compliance perspective, this agreement would not cover the use of Java in dedicated solutions that fall within the outlined examples. Any such usage would require a separate license from Oracle.
The agreement also restricts the use of “Commercial Features” for running Programs in internal business operations, for any commercial or production purpose, or for any purpose other than as outlined in Sections B, C, D, and E of the Supplemental Terms. Any other use of the Commercial Features would require a separate license from Oracle.
- From a license compliance perspective, the Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX permits using Java for general-purpose computing on desktop computers and servers.
- But it is not free to use Java for systems or solutions that fall outside the scope of general-purpose computing.
- It also restricts the use of Java in dedicated solutions and Commercial Features without a separate license from Oracle.
It is crucial to thoroughly review any software license agreement to ensure you understand the terms and conditions and are using the software in compliance with them. If you need clarification on any aspect of the binary code license agreement, it is recommended that you seek legal counsel.