DistributionREADME for JDK Software Distribution. Index: 1. DISTRIBUTION BY PUBLISHERS. 2. DISTRIBUTION BY DEVELOPERS. ============================================================= 1. DISTRIBUTION BY PUBLISHERS. This section pertains to your distribution of the Software with your printed book or magazine (as those terms are commonly used in the industry) relating to Java technology ("Publication"). Subject to and conditioned upon your compliance with the restrictions and obligations contained in the Agreement, Sun hereby grants to you a non-exclusive, nontransferable limited right to reproduce complete and unmodified copies of the Software on electronic media (the "Media") for the sole purpose of inclusion and distribution with your Publication(s), subject to the following terms: (i) You may not distribute the Software on a stand-alone basis; it must be distributed with your Publication(s); (ii) You are responsible for downloading the Software from the applicable Sun web site; (iii) You must refer to the Software as JavaTM 2 Software Development Kit, Standard Edition, Version 1.4.2; (iv) The Software must be reproduced in its entirety and without any modification whatsoever (including, without limitation, the Binary Code License and Supplemental License Terms accompanying the Software and proprietary rights notices contained in the Software); (v) The Media label shall include the following information: Copyright 2004, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Solaris, Java, the Java Coffee Cup logo, J2SE , and all trademarks and logos based on Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. This information must be placed on the Media label in such a manner as to only apply to the Sun Software; (vi) You must clearly identify the Software as Sun's product on the Media holder or Media label, and you may not state or imply that Sun is responsible for any third-party software contained on the Media; (vii) You may not include any third party software on the Media which is intended to be a replacement or substitute for the Software; (viii) You shall indemnify Sun for all damages arising from your failure to comply with the requirements of this Agreement. In addition, you shall defend, at your expense, any and all claims brought against Sun by third parties, and shall pay all damages awarded by a court of competent jurisdiction, or such settlement amount negotiated by you, arising out of or in connection with your use, reproduction or distribution of the Software and/or the Publication. Your obligation to provide indemnification under this section shall arise provided that Sun: (i) provides you prompt notice of the claim; (ii) gives you sole control of the defense and settlement of the claim; (iii) provides you, at your expense, with all available information, assistance and authority to defend; and (iv) has not compromised or settled such claim without your prior written consent; and (ix) You shall provide Sun with a written notice for each Publication; such notice shall include the following information: (1) title of Publication, (2) author(s), (3) date of Publication, and (4) ISBN or ISSN numbers. Such notice shall be sent to Sun Microsystems, Inc., 4150 Network Circle, M/S USCA12-110, Santa Clara, California 95054, U.S.A , Attention: Contracts Administration. 2. DISTRIBUTION BY DEVELOPERS. Subject to the terms and conditions of the Software License Agreement and the obligations, restrictions, and exceptions set forth below, You may reproduce and distribute the Software (and also portions of Software identified below as Redistributable), provided that: (a) you distribute the Software complete and unmodified and only bundled as part of Your applets and applications ("Programs"), (b) your Programs add significant and primary functionality to the Software (c) your Programs are only intended to run on Java-enabled general purpose desktop computers and servers, (d) you distribute Software for the sole purpose of running your Programs, (e) you do not distribute additional software intended to replace any component(s) of the Software, (f) you do not remove or alter any proprietary legends or notices contained in or on the Software. (g) you only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms contained in this Agreement, and (h) you agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. Redistribution ------------------------------------------------------------------------ NOTE - The license for this software does not allow the redistribution of beta and other pre-release versions. ------------------------------------------------------------------------ The term "vendors" used here refers to licensees, developers, and independent software vendors (ISVs) who license and distribute the J2SE Runtime Environment with their programs. Vendors must follow the terms of the Software License Agreement. Required vs. Optional Files The files that make up the J2SE Development Kit are divided into two categories: required and optional. Optional files may be excluded from redistributions of the JDK at the vendor's discretion. The following section contains a list of the files and directories that may optionally be omitted from redistributions of the JDK. All files not in these lists of optional files must be included in redistributions of the JDK. Optional Files and Directories The following files may be optionally excluded from redistributions. These files are located in the jdk1.5.0_ directory, where is the update version number. Solaris and Linux filenames and separators are shown. Windows executables have the ".exe" suffix. Corresponding files with |_g| in name can also be excluded. jre/lib/charsets.jar Character conversion classes jre/lib/ext/ sunjce_provider.jar - the SunJCE provider for Java Cryptography APIs localedata.jar - contains many of the resources needed for non US English locales ldapsec.jar - contains security features supported by the LDAP service provider dnsns.jar - for the InetAddress wrapper of JNDI DNS provider bin/rmid and jre/bin/rmid Java RMI Activation System Daemon bin/rmiregistry and jre/bin/rmiregistry Java Remote Object Registry bin/tnameserv and jre/bin/tnameserv Java IDL Name Server bin/keytool and jre/bin/keytool Key and Certificate Management Tool bin/kinit and jre/bin/kinit Used to obtain and cache Kerberos ticket-granting tickets bin/klist and jre/bin/klist Kerberos display entries in credentials cache and keytab bin/ktab and jre/bin/ktab Kerberos key table manager bin/policytool and jre/bin/policytool Policy File Creation and Management Tool bin/orbd and jre/bin/orbd Object Request Broker Daemon bin/servertool and jre/bin/servertool Java IDL Server Tool bin/javaws, jre/bin/javaws, jre/lib/javaws/ and jre/lib/javaws.jar Java Web Start src.zip Archive of source files Redistributable JDK Files The limited set of files from the JDK listed below may be included in vendor redistributions of the J2SE Runtime Environment. They cannot be redistributed separately, and must accompany a JRE distribution. All paths are relative to the top-level directory of the JDK. jre/lib/cmm/PYCC.pf Color profile. This file is required only if one wishes to convert between the PYCC color space and another color space. All .ttf font files in the jre/lib/fonts directory. Note that the LucidaSansRegular.ttf font is already contained in the J2SE Runtime Environment, so there is no need to bring that file over from the JDK. jre/lib/audio/soundbank.gm This MIDI soundbank is present in the JDK, but it has been removed from the J2SE Runtime Environment in order to reduce the size of the Runtime Environment's download bundle. However, a soundbank file is necessary for MIDI playback, and therefore the JDK's soundbank.gm file may be included in redistributions of the Runtime Environment at the vendor's discretion. Several versions of enhanced MIDI soundbanks are available from the Java Sound web site: http://java.sun.com/products/java-media/sound/. These alternative soundbanks may be included in redistributions of the J2SE Runtime Environment. The javac bytecode compiler, consisting of the following files: bin/javac [Solaris(TM) Operating Environment and Linux] bin/sparcv9/javac [Solaris Operating Environment (SPARC(R) Platform Edition)] bin/javac.exe [Microsoft Windows] lib/tools.jar [All platforms] The Annotation Processing Tool, consisting of the following files: bin/apt [Solaris(TM) Operating Environment and Linux] bin/sparcv9/apt [Solaris Operating Environment (SPARC(R) Platform Edition)] bin/apt.exe [Microsoft Windows] jre\bin\server\ On Microsoft Windows platforms, the JDK includes both the Java HotSpot Server VM and Java HotSpot Client VM. However, the J2SE Runtime Environment for Microsoft Windows platforms includes only the Java HotSpot Client VM. Those wishing to use the Java HotSpot Server VM with the J2SE Runtime Environment may copy the JDK's jre\bin\server folder to a bin\server directory in the J2SE Runtime Environment. Software vendors may redistribute the Java HotSpot Server VM with their redistributions of the J2SE Runtime Environment. Unlimited Strength Java Cryptography Extension Due to import control restrictions for some countries, the Java Cryptography Extension (JCE) policy files shipped with the J2SE Development Kit and the J2SE Runtime Environment allow strong but limited cryptography to be used. These files are located at /lib/security/local_policy.jar /lib/security/US_export_policy.jar where is the jre directory of the JDK or the top-level directory of the J2SE Runtime Environment. An unlimited strength version of these files indicating no restrictions on cryptographic strengths is available on the JDK web site for those living in eligible countries. Those living in eligible countries may download the unlimited strength version and replace the strong cryptography jar files with the unlimited strength files. jconsole jconsole.jar jconsole may be redistributed outside the JDK but only with Sun's JRE. Endorsed Standards Override Mechanism An endorsed standard is a Java API defined through a standards process other than the Java Community Process^SM (JCP^SM ). Because endorsed standards are defined outside the JCP, it is anticipated that such standards will be revised between releases of the Java 2 Platform. In order to take advantage of new revisions to endorsed standards, developers and software vendors may use the Endorsed Standards Override Mechanism to provide newer versions of an endorsed standard than those included in the Java 2 Platform as released by Sun Microsystems. For more information on the Endorsed Standards Override Mechanism, including the list of platform packages that it may be used to override, see http://java.sun.com/j2se/1.5.0/docs/guide/standards/ Classes in the packages listed on that web page may be replaced only by classes implementing a more recent version of the API as defined by the appropriate standards body. In addition to the packages listed in the document at the above URL, which are part of the Java 2 Platform Standard Edition (J2SE^TM ) specification, redistributors of Sun's J2SE Reference Implementation are allowed to override classes whose sole purpose is to implement the functionality provided by public APIs defined in these Endorsed Standards packages. Redistributors may also override classes in the org.w3c.dom.* packages, or other classes whose sole purpose is to implement these APIs. The cacerts Certificates File Root CA certificates may be added to or removed from the J2SE certificate file located at |/lib/security/cacerts|. For more information, see The cacerts Certificates File section in the keytool documentation. Web Pages For additional information, refer to these Sun Microsystems pages on the World Wide Web: http://java.sun.com/ The Java Software web site, with the latest information on Java technology, product information, news, and features. http://java.sun.com/docs Java Platform Documentation provides access to white papers, the Java Tutorial and other documents. http://developer.java.sun.com Developer Services web site. (Free registration required.) Additional technical information, news, and features; user forums; support information, and much more. http://java.sun.com/products/ Java Technology Products & API ------------------------------------------------------------------------ The J2SE Development Kit is a product of Sun Microsystems^TM , Inc. Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved.