Operating System Distributor License for Java v1.1 (DLJ) FAQ Note: This FAQ is provided to help explain the Operating System Distributor License for Java; nothing in this FAQ is intended to amend the license, so please consult the license itself for the precise terms and conditions that actually apply. 1. What is the Operating System Distribution License for Java (a.k.a. the "Distro License for Java" or DLJ)? The DLJ is a license created specifically for individuals and communities who want to distribute Sun's binary Java Development Kit (JDK) or Java Runtime Environment (JRE) with a Linux or OpenSolaris Operating System (OS) distribution. 2. Why is Sun releasing the DLJ? It's been difficult for developers who want to use Java SE technology on a broad choice of Linux or OpenSolaris distributions to easily obtain and use Sun's JDK or JRE. One issue has been the redistribution terms of the Binary Code License (BCL) for Java SE technology, which was never intended to license these bits for general distribution with an Operating System. With this new license, Sun is enabling the developer community to distribute our binary JDK and JRE with distributions of Linux or OpenSolaris operating systems, while still maintaining compatibility with the Java Specifications. 3. How do I become a "DLJ Licensee?" The DLJ is distributed by Sun as a "click-through license" in special bundles available on java.net in the jdk-distros project at https://jdk-distros.dev.java.net. These bundles contains the same JDK software found in the standard Linux distribution bundles and the Solaris bundles in the download area on java.sun.com except that the license and README file are replaced by the DLJ and a modified README file with matching terms. The README file included in these bundles allows you to create JRE distributions from the JDK bundles by following instructions in the file. 4. What does the DLJ allow me to do? You can: - Use the JDK on your OS to design, develop, test, and run Java programs. - Distribute the JDK on any media, online, and preinstalled on systems as a package with your OS. - Distribute the JDK directly, or indirectly through your licensees, distributors, resellers, OEMs, or downstream recipients of your OS. 5. I distribute my OS online from multiple mirror sites. Does such a multi-site online distribution model fit into the definition of "online" under this license? Yes it does. Each mirror is, in essence, a downstream distributor of the original OS bundles from the master site. Accordingly, the mirror sites may distribute the JDK as part of these bundles, under the terms and conditions of the DLJ. 6. What are my obligations under this license? The license is the best reference for this. Some of the important terms to consider are that you are required to: - Keep all copyright and other notices intact. - Distribute the entire JDK - no subsetting. Note - the README file has the specifics of what you must distribute, and what can be omitted. - Use the JDK only to design, develop, test, and run Java programs on your OS - you may not use it or parts of it for other purposes. - Present for acceptance any end user licenses that are part of the JDK, if such licenses are included in the generic install bundle provided to you for repackaging. - Redistribute subject to the DLJ - so that downstream users and distributors of the JDK are also subject to the DLJ's terms. - Indemnify Sun against claims arising from your OS or your violation of the DLJ (or any applicable law) Note that you are not responsible for changes made to your OS distribution by downstream users or distributors when such changes are out of your control. - Ship only a compatible JDK on your OS. If notified of an incompatibility, you must correct it and offer a patch or replacement to downstream recipients within 90 days, or stop shipment and notify downstream recipients. 7. May I redistribute the src.zip file? This is one of the files listed in the README as being optional, but redistributable, so yes. 8. Does this license prevent me shipping any alternative technologies in my OS distribution? The DLJ does not restrict you from shipping any other technologies you choose to include in your distribution. However, you can't use pieces of the JDK configured in conjunction with any alternative technologies to create hybrid implementations, or mingle the code from the JDK with non-JDK components of any kind so that they run together. It is of course perfectly OK to ship programs or libraries that use the JDK. Because this question has caused confusion in the past, we want to make this absolutely clear: except for these limitations on combining technologies, there is nothing in the DLJ intended to prevent you from shipping alternative technologies with your OS distribution. 9. What do you mean by "present end-user licenses"? Do I have to create a click-through license display when a user first installs or runs the JDK? Must my users accept the license? Your users must agree to the license terms for ethe JDK before installing it. While you aren't required to show the DLJ on first use or installation, you must inform them that ethe JDK is licensed software and that they must agree to the license before using it. A click-through mechanism is the preferred way to do this, but at a minimum you must present the license by some appropriate means for acceptance. For example, your OS download procedure could show the user a page that informs him or her that software packages included in the download may contain software licenses to which the user must agree before installation, and allow the user to review them before download. 10. How do I redistribute the JDK in my OS, so that downstream recipients are subject to the DLJ? Do I need to do anything special? Nothing special - just be sure to include the license in your JDK bundle, and inform your downstream recipients that the JDK is subject to the license when they download or install it. 11. What obligations do I assume when I receive the JDK as part of an OS distribution, and then turn around and redistribute it, even if I don't change a thing? When you redistribute the JDK under the DLJ, you are subject to its terms. This means that you are granted the rights described in the license (provided you remain in compliance with the license terms) and assume its obligations, including compatibility requirements and indemnification. It doesn't matter whether you change the distribution you receive or not. When you redistribute, you do so under the terms of the DLJ. 12. Why does Sun ask for indemnification? What indemnification am I providing to Sun? I'm concerned that I will be held responsible for things over which I have no control. Simply put, Sun requires indemnification to limit its exposure for issues that are not Sun's fault. If your conduct or your OS causes a problem that results in a third-party claim, then Sun expects you to take responsibility for it. Note that you are not indemnifying Sun against claims that are a result of something in Sun's code. You also are not indemnifying Sun against claims due to changes that a downstream distributor has made to your OS. Since downstream distributors must redistribute the JDK under the terms of the DLJ, they are the ones providing indemnification to Sun for the changes they've made to your OS - which is now their OS for the purposes of this license. 13. What do you mean by "compatible"? "Compatible" has a very specific meaning for Java technology, and in this license. Specifically, a "Compatible" Implementation" is an implementation of the Java SE technology specification that meets the requirements of the Technology Compatibility Kit (TCK)., i.e., the compliance tests, tools and documentation which allows you to establish whether a particular implementation completely and correctly implements the Java SE Specification on a specific host platform. 14. Am I required to run the TCK before I distribute the software? No, this license does not require that you run the TCK. 15. How do I learn more about the TCK? There is a "read-only" version of the Java SE TCK available at https://jck.dev.java.net which you can look at to better understand the compatibility requirements. The license for this is for evaluation purposes only. 16. How do I verify compatibility when I don't have the TCK? The DLJ is a binary redistribution license, for a binary that has been verified on Sun's supported OS platforms (see http://java.sun.com/j2se/1.5.0/system-configurations.html). However, it is possible that the combination of Sun's JDK with your OS distribution could break compatibility. The jdk-distros project was created as a place for Linux, OpenSolaris, and Java developers to cooperate on creating new packaging for the JDK, solving problems including compatibility issues, and as a clearinghouse for best practices, tips and tricks, examples, and solutions to common issues. This project includes helpful guides to potential problems with compatibility based on Sun's experience in creating JDK bundles for supported OS versions. You can use this guide to help you discover potential problems before you distribute the JDK with your OS. 17. I'd like to test my OS distribution's compatibility. How do I obtain the TCK? The TCK is available under a usage license that includes some support, and which may be purchased from Sun. If you are a qualified not-for-profit organization, you may be eligible to obtain the TCK under a scholarship. You can find more information about this program and request a scholarship application at: http://java.sun.com/scholarship/ There is a "read-only" version of the Java SE TCK available at http://jck.dev.java.net which you can look at to better understand the compatibility requirements. The license for this is for evaluation purposes only and while it does not allow you to run the TCK, it may be helpful in your understanding of its requirements. 18. What happens if my OS does not behave compatibly with the JDK? Sun provides JDK bundles which have been qualified as compatible on several common Linux distributions and on Solaris. Incompatibility problems will typically be the result of variations between your OS and common distributions. Accordingly you should fix any problems you are aware of in your OS before distributing the software. The JDK must behave in a compatible manner when running on your OS. 19. If I'm aware of problems, can I document them for my users and ship anyway? No, you must fix the problems before distributing the software. It is worth noting however, that you may document supported and unsupported platform configurations such as specific web browsers, OS versions, or hardware devices. 20. What if a problem comes up after I distribute the software? If Sun becomes aware of a compatibility problem with the JDK software on your OS distribution and notifies you about it, then you must fix the problem and offer a patch or new version to your downstream users and distributors, or stop distributing the software within 90 days of being notified. If you stop distributing the software, you must also make reasonable attempts to notify your users, and anyone who might have downloaded your OS distribution. Once your downstream users are notified, they must make the same choice (i.e. fix the problem or stop using/distributing the software) 21. May I use the Java logo to show that I'm including the JDK in my OS distribution? What may I do with Java logos? No, you may not use the logo, as the right to use the logo is based on acquiring a TCK license and passing the TCK. You may state that you include the JDK as part of your description of your distribution. This license does not grant any right to use any Sun mark or logo. 22. What notification must I give Sun before distributing the JDK? You are not required to notify Sun, or register. You might find it useful however to post something in the jdk-distros project forums so that others interested in similar OS distributions to yours can share their experiences with you and you can collaborate with them on common issues and solutions. 23. Who can I contact if I have additional questions or comments? You can send questions related to the DLJ to DLJfeedback@sun.com and/or post comments on the jdk-distros project forums on java.net. DLJ-FAQ-v1.1