Note finally that the Java Community Source License doesn't allow for code modifications
(apart from research purposes only), as we will see in the next section.
A Note on the Sun JRE distribution Package
The Sun licenses for both SDK and JRE products are quite articulate. We will cover here only
the technical details. We assume that developers are familiar with the main provisions the
license imposes. For any other detail, see the license text (file “LICENSE” in the JRE's root
When redistributing Sun's JRE, the following two constraints have to be observed.
•Any modification of the Java 2 Runtime Environment is prohibited.
•In your application's product license, the conditions stated in the Sun Binary License
Agreement must be included.
Furthermore, some files and directories in the JRE redistribution can be omitted, as discussed
Files that Can Be Omitted from the JRE Distribution Package
When not needed by the particular application, the following files may be omitted by the redis-
tributed JRE package.
• Localized applications. The character conversion classes and all other locale support:
• RMI-related tools. The Java RMI activation system daemon: bin/rmid ,the Java Remote
Object Registry: bin/rmiregistry , and the Java IDL name server: bin/tnameserv .
Security-related tools. The key and certificate management tool: bin/keytool , and the
policy file creation and management tool: bin/policytool .
The extension directory: lib/ext/ .
Files from the Java 2 SDK that Can be Redistributed
Some files of the Java 2 SDK, Standard Edition (that cannot be redistributed) can be included
in JRE redistributions when needed for the given applications. Such files are listed as follows.
All paths are relative to the top-level directory of the SDK, whose jre/ is a subdirectory.
•All additional font files: jre/lib/fonts/*.tff . The default font contained in the file
LucidaSansRegular.ttf is contained in the JRE distribution.
• Color map conversions with Java2D API. jre/lib/cmm/PYCC.pf . Color-management
•MIDI soundbank support, present in the Java 2 SDK, but removed from the JRE. File: