Refactored using IntelliJ
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
package org.openautonomousconnection.webserver;
|
||||
|
||||
import jdk.dynalink.linker.LinkerServices;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public final class ContentTypeResolver {
|
||||
|
||||
@@ -17,7 +17,8 @@ import java.util.Scanner;
|
||||
|
||||
public class Main {
|
||||
public static final CommandPermission PERMISSION_ALL = new CommandPermission("all", 1);
|
||||
private static final CommandExecutor commandExecutor = new CommandExecutor("WebServer", PERMISSION_ALL) {};
|
||||
private static final CommandExecutor commandExecutor = new CommandExecutor("WebServer", PERMISSION_ALL) {
|
||||
};
|
||||
|
||||
@Getter
|
||||
private static CommandManager commandManager;
|
||||
|
||||
@@ -18,7 +18,8 @@ import org.openautonomousconnection.webserver.utils.WebHasher;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
import java.util.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.WEB)
|
||||
public final class WebServer extends ProtocolWebServer {
|
||||
@@ -35,7 +36,7 @@ public final class WebServer extends ProtocolWebServer {
|
||||
int sessionExpire,
|
||||
int maxUpload
|
||||
) throws Exception {
|
||||
super(authFile, rulesFile,sessionExpire, maxUpload);
|
||||
super(authFile, rulesFile, sessionExpire, maxUpload);
|
||||
|
||||
// NOTE: Values chosen as safe defaults.
|
||||
// move them to Main and pass them in here (no hidden assumptions).
|
||||
@@ -80,8 +81,10 @@ public final class WebServer extends ProtocolWebServer {
|
||||
File root = getContentFolder().getCanonicalFile();
|
||||
File file = new File(root, path).getCanonicalFile();
|
||||
|
||||
if (!file.getPath().startsWith(root.getPath())) return new WebResponsePacket(403, "text/plain; charset=utf-8", Map.of(), "Forbidden".getBytes());
|
||||
if (!file.exists() || !file.isFile()) return new WebResponsePacket(404, "text/plain; charset=utf-8", Map.of(), "Not found".getBytes());
|
||||
if (!file.getPath().startsWith(root.getPath()))
|
||||
return new WebResponsePacket(403, "text/plain; charset=utf-8", Map.of(), "Forbidden".getBytes());
|
||||
if (!file.exists() || !file.isFile())
|
||||
return new WebResponsePacket(404, "text/plain; charset=utf-8", Map.of(), "Not found".getBytes());
|
||||
|
||||
String contentType = ContentTypeResolver.resolve(file.getName());
|
||||
long size = file.length();
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package org.openautonomousconnection.webserver.api;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* Declares a route path for a server-side Java WebPage.
|
||||
|
||||
@@ -41,7 +41,15 @@ public final class SessionContext {
|
||||
return new SessionContext(sessionId, user, true);
|
||||
}
|
||||
|
||||
public boolean isValid() { return valid; }
|
||||
public String getSessionId() { return sessionId; }
|
||||
public String getUser() { return user; }
|
||||
public boolean isValid() {
|
||||
return valid;
|
||||
}
|
||||
|
||||
public String getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public String getUser() {
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ package org.openautonomousconnection.webserver.api;
|
||||
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket;
|
||||
import org.openautonomousconnection.protocol.side.server.CustomConnectedClient;
|
||||
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
|
||||
import org.openautonomousconnection.webserver.utils.WebHasher;
|
||||
import org.openautonomousconnection.webserver.utils.RequestParams;
|
||||
import org.openautonomousconnection.webserver.utils.WebHasher;
|
||||
|
||||
/**
|
||||
* Context passed to Java WebPages (client, request, session, params, hasher).
|
||||
|
||||
@@ -8,16 +8,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
*/
|
||||
public final class JavaPageCache {
|
||||
|
||||
private static final class Entry {
|
||||
final long lastModified;
|
||||
final Class<?> clazz;
|
||||
|
||||
Entry(long lastModified, Class<?> clazz) {
|
||||
this.lastModified = lastModified;
|
||||
this.clazz = clazz;
|
||||
}
|
||||
}
|
||||
|
||||
private final ConcurrentHashMap<String, Entry> cache = new ConcurrentHashMap<>();
|
||||
|
||||
public Class<?> getOrCompile(File javaFile) throws Exception {
|
||||
@@ -33,4 +23,7 @@ public final class JavaPageCache {
|
||||
cache.put(key, new Entry(lm, compiled));
|
||||
return compiled;
|
||||
}
|
||||
|
||||
private record Entry(long lastModified, Class<?> clazz) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package org.openautonomousconnection.webserver.runtime;
|
||||
|
||||
import javax.tools.*;
|
||||
import javax.tools.JavaCompiler;
|
||||
import javax.tools.JavaFileObject;
|
||||
import javax.tools.StandardJavaFileManager;
|
||||
import javax.tools.ToolProvider;
|
||||
import java.io.File;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
@@ -16,7 +19,8 @@ import java.util.List;
|
||||
*/
|
||||
public final class JavaPageCompiler {
|
||||
|
||||
private JavaPageCompiler() {}
|
||||
private JavaPageCompiler() {
|
||||
}
|
||||
|
||||
public static Class<?> compile(File javaFile) throws Exception {
|
||||
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
|
||||
@@ -35,7 +39,7 @@ public final class JavaPageCompiler {
|
||||
String fqcn = deriveFqcn(javaFile);
|
||||
|
||||
// Root must be the folder containing the package root (javaFile parent is fine if classes output there).
|
||||
URLClassLoader cl = new URLClassLoader(new URL[]{ javaFile.getParentFile().toURI().toURL() });
|
||||
URLClassLoader cl = new URLClassLoader(new URL[]{javaFile.getParentFile().toURI().toURL()});
|
||||
|
||||
return cl.loadClass(fqcn);
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@ import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
|
||||
import org.openautonomousconnection.webserver.WebServer;
|
||||
import org.openautonomousconnection.webserver.api.WebPage;
|
||||
import org.openautonomousconnection.webserver.api.WebPageContext;
|
||||
import org.openautonomousconnection.webserver.utils.WebHasher;
|
||||
import org.openautonomousconnection.webserver.utils.RequestParams;
|
||||
import org.openautonomousconnection.webserver.utils.WebHasher;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
@@ -21,7 +21,8 @@ public final class JavaPageDispatcher {
|
||||
|
||||
private static final JavaRouteRegistry ROUTES = new JavaRouteRegistry();
|
||||
|
||||
private JavaPageDispatcher() {}
|
||||
private JavaPageDispatcher() {
|
||||
}
|
||||
|
||||
public static WebResponsePacket dispatch(
|
||||
CustomConnectedClient client,
|
||||
|
||||
@@ -4,7 +4,10 @@ import org.openautonomousconnection.webserver.api.Route;
|
||||
import org.openautonomousconnection.webserver.api.WebPage;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Deque;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
/**
|
||||
@@ -18,24 +21,50 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
*/
|
||||
public final class JavaRouteRegistry {
|
||||
|
||||
private static final class RouteEntry {
|
||||
final File sourceFile;
|
||||
final long lastModified;
|
||||
final String fqcn;
|
||||
final boolean routable;
|
||||
|
||||
RouteEntry(File sourceFile, long lastModified, String fqcn, boolean routable) {
|
||||
this.sourceFile = sourceFile;
|
||||
this.lastModified = lastModified;
|
||||
this.fqcn = fqcn;
|
||||
this.routable = routable;
|
||||
}
|
||||
}
|
||||
|
||||
private final JavaPageCache cache = new JavaPageCache();
|
||||
private final ConcurrentHashMap<String, RouteEntry> routes = new ConcurrentHashMap<>();
|
||||
private final ConcurrentHashMap<String, Long> scanState = new ConcurrentHashMap<>();
|
||||
|
||||
private static String normalizeRoute(String value) {
|
||||
if (value == null) return "/";
|
||||
String v = value.trim();
|
||||
if (v.isEmpty()) return "/";
|
||||
if (!v.startsWith("/")) v = "/" + v;
|
||||
return v;
|
||||
}
|
||||
|
||||
private static List<File> listJavaFiles(File root) {
|
||||
ArrayList<File> out = new ArrayList<>();
|
||||
Deque<File> stack = new ArrayDeque<>();
|
||||
stack.push(root);
|
||||
|
||||
while (!stack.isEmpty()) {
|
||||
File cur = stack.pop();
|
||||
File[] children = cur.listFiles();
|
||||
if (children == null) continue;
|
||||
|
||||
for (File c : children) {
|
||||
if (c.isDirectory()) {
|
||||
stack.push(c);
|
||||
} else if (c.isFile() && c.getName().endsWith(".java")) {
|
||||
out.add(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
private static long folderLastModified(File folder) {
|
||||
long lm = folder.lastModified();
|
||||
File[] children = folder.listFiles();
|
||||
if (children == null) return lm;
|
||||
for (File c : children) {
|
||||
lm = Math.max(lm, c.isDirectory() ? folderLastModified(c) : c.lastModified());
|
||||
}
|
||||
return lm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Refreshes registry when content folder changed.
|
||||
*
|
||||
@@ -88,52 +117,16 @@ public final class JavaRouteRegistry {
|
||||
}
|
||||
}
|
||||
|
||||
private static String normalizeRoute(String value) {
|
||||
if (value == null) return "/";
|
||||
String v = value.trim();
|
||||
if (v.isEmpty()) return "/";
|
||||
if (!v.startsWith("/")) v = "/" + v;
|
||||
return v;
|
||||
}
|
||||
|
||||
private static List<File> listJavaFiles(File root) {
|
||||
ArrayList<File> out = new ArrayList<>();
|
||||
Deque<File> stack = new ArrayDeque<>();
|
||||
stack.push(root);
|
||||
|
||||
while (!stack.isEmpty()) {
|
||||
File cur = stack.pop();
|
||||
File[] children = cur.listFiles();
|
||||
if (children == null) continue;
|
||||
|
||||
for (File c : children) {
|
||||
if (c.isDirectory()) {
|
||||
stack.push(c);
|
||||
} else if (c.isFile() && c.getName().endsWith(".java")) {
|
||||
out.add(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
private static long folderLastModified(File folder) {
|
||||
long lm = folder.lastModified();
|
||||
File[] children = folder.listFiles();
|
||||
if (children == null) return lm;
|
||||
for (File c : children) {
|
||||
lm = Math.max(lm, c.isDirectory() ? folderLastModified(c) : c.lastModified());
|
||||
}
|
||||
return lm;
|
||||
private record RouteEntry(File sourceFile, long lastModified, String fqcn, boolean routable) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Lookup result for a route.
|
||||
*
|
||||
* @param sourceFile Java source file
|
||||
* @param fqcn fully qualified class name
|
||||
* @param routable true if @Route + implements WebPage
|
||||
* @param fqcn fully qualified class name
|
||||
* @param routable true if @Route + implements WebPage
|
||||
*/
|
||||
public record RouteLookupResult(File sourceFile, String fqcn, boolean routable) {}
|
||||
public record RouteLookupResult(File sourceFile, String fqcn, boolean routable) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,8 @@ import java.nio.charset.StandardCharsets;
|
||||
*/
|
||||
public final class Html {
|
||||
|
||||
private Html() {}
|
||||
private Html() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Escapes text for HTML.
|
||||
@@ -37,7 +38,7 @@ public final class Html {
|
||||
* Simple page wrapper.
|
||||
*
|
||||
* @param title title
|
||||
* @param body body html
|
||||
* @param body body html
|
||||
* @return full html
|
||||
*/
|
||||
public static String page(String title, String body) {
|
||||
|
||||
@@ -88,7 +88,7 @@ public final class RequestParams {
|
||||
* Returns SHA-256 hex of a header value.
|
||||
*
|
||||
* @param hasher hasher
|
||||
* @param key header key
|
||||
* @param key header key
|
||||
* @return sha256 hex (or null if missing)
|
||||
*/
|
||||
public String getSha256Hex(WebHasher hasher, String key) {
|
||||
|
||||
@@ -26,8 +26,8 @@ public final class WebHasher {
|
||||
* Creates a hasher.
|
||||
*
|
||||
* @param pbkdf2Iterations iterations (recommended >= 100k)
|
||||
* @param pbkdf2SaltBytes salt bytes
|
||||
* @param pbkdf2KeyBytes derived key bytes
|
||||
* @param pbkdf2SaltBytes salt bytes
|
||||
* @param pbkdf2KeyBytes derived key bytes
|
||||
*/
|
||||
public WebHasher(int pbkdf2Iterations, int pbkdf2SaltBytes, int pbkdf2KeyBytes) {
|
||||
if (pbkdf2Iterations < 10_000) throw new IllegalArgumentException("pbkdf2Iterations too low");
|
||||
@@ -38,6 +38,35 @@ public final class WebHasher {
|
||||
this.pbkdf2KeyBytes = pbkdf2KeyBytes;
|
||||
}
|
||||
|
||||
private static byte[] derive(char[] password, byte[] salt, int iterations, int keyBytes) {
|
||||
try {
|
||||
PBEKeySpec spec = new PBEKeySpec(password, salt, iterations, keyBytes * 8);
|
||||
SecretKeyFactory skf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
|
||||
return skf.generateSecret(spec).getEncoded();
|
||||
} catch (Exception e) {
|
||||
throw new IllegalStateException("PBKDF2 not available", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean constantTimeEquals(byte[] a, byte[] b) {
|
||||
if (a == null || b == null) return false;
|
||||
if (a.length != b.length) return false;
|
||||
int r = 0;
|
||||
for (int i = 0; i < a.length; i++) r |= (a[i] ^ b[i]);
|
||||
return r == 0;
|
||||
}
|
||||
|
||||
private static String toHexLower(byte[] data) {
|
||||
final char[] hex = "0123456789abcdef".toCharArray();
|
||||
char[] out = new char[data.length * 2];
|
||||
int i = 0;
|
||||
for (byte b : data) {
|
||||
out[i++] = hex[(b >>> 4) & 0x0F];
|
||||
out[i++] = hex[b & 0x0F];
|
||||
}
|
||||
return new String(out);
|
||||
}
|
||||
|
||||
/**
|
||||
* SHA-256 hashes text (lowercase hex).
|
||||
*
|
||||
@@ -77,7 +106,7 @@ public final class WebHasher {
|
||||
* Verifies a raw password against a stored PBKDF2 string.
|
||||
*
|
||||
* @param password raw password
|
||||
* @param stored stored format
|
||||
* @param stored stored format
|
||||
* @return true if valid
|
||||
*/
|
||||
public boolean pbkdf2Verify(String password, String stored) {
|
||||
@@ -107,33 +136,4 @@ public final class WebHasher {
|
||||
byte[] actual = derive(password.toCharArray(), salt, it, expected.length);
|
||||
return constantTimeEquals(expected, actual);
|
||||
}
|
||||
|
||||
private static byte[] derive(char[] password, byte[] salt, int iterations, int keyBytes) {
|
||||
try {
|
||||
PBEKeySpec spec = new PBEKeySpec(password, salt, iterations, keyBytes * 8);
|
||||
SecretKeyFactory skf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
|
||||
return skf.generateSecret(spec).getEncoded();
|
||||
} catch (Exception e) {
|
||||
throw new IllegalStateException("PBKDF2 not available", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean constantTimeEquals(byte[] a, byte[] b) {
|
||||
if (a == null || b == null) return false;
|
||||
if (a.length != b.length) return false;
|
||||
int r = 0;
|
||||
for (int i = 0; i < a.length; i++) r |= (a[i] ^ b[i]);
|
||||
return r == 0;
|
||||
}
|
||||
|
||||
private static String toHexLower(byte[] data) {
|
||||
final char[] hex = "0123456789abcdef".toCharArray();
|
||||
char[] out = new char[data.length * 2];
|
||||
int i = 0;
|
||||
for (byte b : data) {
|
||||
out[i++] = hex[(b >>> 4) & 0x0F];
|
||||
out[i++] = hex[b & 0x0F];
|
||||
}
|
||||
return new String(out);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,381 +1,407 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Javassist License</TITLE>
|
||||
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
|
||||
<META content="MSHTML 5.50.4916.2300" name=GENERATOR></HEAD>
|
||||
<TITLE>Javassist License</TITLE>
|
||||
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
|
||||
<META content="MSHTML 5.50.4916.2300" name=GENERATOR>
|
||||
</HEAD>
|
||||
|
||||
<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff>
|
||||
<BODY aLink=#ff0000 bgColor=#ffffff link=#0000ee text=#000000 vLink=#551a8b>
|
||||
<CENTER><B><FONT size=+2>MOZILLA PUBLIC LICENSE</FONT></B> <BR><B>Version
|
||||
1.1</B>
|
||||
<P>
|
||||
<HR width="20%">
|
||||
1.1</B>
|
||||
<P>
|
||||
<HR width="20%">
|
||||
</CENTER>
|
||||
<P><B>1. Definitions.</B>
|
||||
<UL><B>1.0.1. "Commercial Use" </B>means distribution or otherwise making the
|
||||
Covered Code available to a third party.
|
||||
<P><B>1.1. ''Contributor''</B> means each entity that creates or contributes
|
||||
to the creation of Modifications.
|
||||
<P><B>1.2. ''Contributor Version''</B> means the combination of the Original
|
||||
Code, prior Modifications used by a Contributor, and the Modifications made by
|
||||
that particular Contributor.
|
||||
<P><B>1.3. ''Covered Code''</B> means the Original Code or Modifications or
|
||||
the combination of the Original Code and Modifications, in each case including
|
||||
portions thereof<B>.</B>
|
||||
<P><B>1.4. ''Electronic Distribution Mechanism''</B> means a mechanism
|
||||
generally accepted in the software development community for the electronic
|
||||
transfer of data.
|
||||
<P><B>1.5. ''Executable''</B> means Covered Code in any form other than Source
|
||||
Code.
|
||||
<P><B>1.6. ''Initial Developer''</B> means the individual or entity identified
|
||||
as the Initial Developer in the Source Code notice required by <B>Exhibit
|
||||
A</B>.
|
||||
<P><B>1.7. ''Larger Work''</B> means a work which combines Covered Code or
|
||||
portions thereof with code not governed by the terms of this License.
|
||||
<P><B>1.8. ''License''</B> means this document.
|
||||
<P><B>1.8.1. "Licensable"</B> means having the right to grant, to the maximum
|
||||
extent possible, whether at the time of the initial grant or subsequently
|
||||
acquired, any and all of the rights conveyed herein.
|
||||
<P><B>1.9. ''Modifications''</B> means any addition to or deletion from the
|
||||
substance or structure of either the Original Code or any previous
|
||||
Modifications. When Covered Code is released as a series of files, a
|
||||
Modification is:
|
||||
<UL><B>A.</B> Any addition to or deletion from the contents of a file
|
||||
containing Original Code or previous Modifications.
|
||||
<P><B>B.</B> Any new file that contains any part of the Original Code or
|
||||
previous Modifications. <BR> </P></UL><B>1.10. ''Original Code''</B>
|
||||
means Source Code of computer software code which is described in the Source
|
||||
Code notice required by <B>Exhibit A</B> as Original Code, and which, at the
|
||||
time of its release under this License is not already Covered Code governed by
|
||||
this License.
|
||||
<P><B>1.10.1. "Patent Claims"</B> means any patent claim(s), now owned or
|
||||
hereafter acquired, including without limitation, method, process, and
|
||||
apparatus claims, in any patent Licensable by grantor.
|
||||
<P><B>1.11. ''Source Code''</B> means the preferred form of the Covered Code
|
||||
for making modifications to it, including all modules it contains, plus any
|
||||
associated interface definition files, scripts used to control compilation and
|
||||
installation of an Executable, or source code differential comparisons against
|
||||
either the Original Code or another well known, available Covered Code of the
|
||||
Contributor's choice. The Source Code can be in a compressed or archival form,
|
||||
provided the appropriate decompression or de-archiving software is widely
|
||||
available for no charge.
|
||||
<P><B>1.12. "You'' (or "Your") </B> means an individual or a legal entity
|
||||
exercising rights under, and complying with all of the terms of, this License
|
||||
or a future version of this License issued under Section 6.1. For legal
|
||||
entities, "You'' includes any entity which controls, is controlled by, or is
|
||||
under common control with You. For purposes of this definition, "control''
|
||||
means (a) the power, direct or indirect, to cause the direction or management
|
||||
of such entity, whether by contract or otherwise, or (b) ownership of more
|
||||
than fifty percent (50%) of the outstanding shares or beneficial ownership of
|
||||
such entity.</P></UL><B>2. Source Code License.</B>
|
||||
Covered Code available to a third party.
|
||||
<P><B>1.1. ''Contributor''</B> means each entity that creates or contributes
|
||||
to the creation of Modifications.
|
||||
<P><B>1.2. ''Contributor Version''</B> means the combination of the Original
|
||||
Code, prior Modifications used by a Contributor, and the Modifications made by
|
||||
that particular Contributor.
|
||||
<P><B>1.3. ''Covered Code''</B> means the Original Code or Modifications or
|
||||
the combination of the Original Code and Modifications, in each case including
|
||||
portions thereof<B>.</B>
|
||||
<P><B>1.4. ''Electronic Distribution Mechanism''</B> means a mechanism
|
||||
generally accepted in the software development community for the electronic
|
||||
transfer of data.
|
||||
<P><B>1.5. ''Executable''</B> means Covered Code in any form other than Source
|
||||
Code.
|
||||
<P><B>1.6. ''Initial Developer''</B> means the individual or entity identified
|
||||
as the Initial Developer in the Source Code notice required by <B>Exhibit
|
||||
A</B>.
|
||||
<P><B>1.7. ''Larger Work''</B> means a work which combines Covered Code or
|
||||
portions thereof with code not governed by the terms of this License.
|
||||
<P><B>1.8. ''License''</B> means this document.
|
||||
<P><B>1.8.1. "Licensable"</B> means having the right to grant, to the maximum
|
||||
extent possible, whether at the time of the initial grant or subsequently
|
||||
acquired, any and all of the rights conveyed herein.
|
||||
<P><B>1.9. ''Modifications''</B> means any addition to or deletion from the
|
||||
substance or structure of either the Original Code or any previous
|
||||
Modifications. When Covered Code is released as a series of files, a
|
||||
Modification is:
|
||||
<UL><B>A.</B> Any addition to or deletion from the contents of a file
|
||||
containing Original Code or previous Modifications.
|
||||
<P><B>B.</B> Any new file that contains any part of the Original Code or
|
||||
previous Modifications. <BR> </P></UL>
|
||||
<B>1.10. ''Original Code''</B>
|
||||
means Source Code of computer software code which is described in the Source
|
||||
Code notice required by <B>Exhibit A</B> as Original Code, and which, at the
|
||||
time of its release under this License is not already Covered Code governed by
|
||||
this License.
|
||||
<P><B>1.10.1. "Patent Claims"</B> means any patent claim(s), now owned or
|
||||
hereafter acquired, including without limitation, method, process, and
|
||||
apparatus claims, in any patent Licensable by grantor.
|
||||
<P><B>1.11. ''Source Code''</B> means the preferred form of the Covered Code
|
||||
for making modifications to it, including all modules it contains, plus any
|
||||
associated interface definition files, scripts used to control compilation and
|
||||
installation of an Executable, or source code differential comparisons against
|
||||
either the Original Code or another well known, available Covered Code of the
|
||||
Contributor's choice. The Source Code can be in a compressed or archival form,
|
||||
provided the appropriate decompression or de-archiving software is widely
|
||||
available for no charge.
|
||||
<P><B>1.12. "You'' (or "Your") </B> means an individual or a legal entity
|
||||
exercising rights under, and complying with all of the terms of, this License
|
||||
or a future version of this License issued under Section 6.1. For legal
|
||||
entities, "You'' includes any entity which controls, is controlled by, or is
|
||||
under common control with You. For purposes of this definition, "control''
|
||||
means (a) the power, direct or indirect, to cause the direction or management
|
||||
of such entity, whether by contract or otherwise, or (b) ownership of more
|
||||
than fifty percent (50%) of the outstanding shares or beneficial ownership of
|
||||
such entity.</P></UL>
|
||||
<B>2. Source Code License.</B>
|
||||
<UL><B>2.1. The Initial Developer Grant.</B> <BR>The Initial Developer hereby
|
||||
grants You a world-wide, royalty-free, non-exclusive license, subject to third
|
||||
party intellectual property claims:
|
||||
<UL><B>(a)</B> <B> </B>under intellectual property rights (other than
|
||||
patent or trademark) Licensable by Initial Developer to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Original Code (or
|
||||
portions thereof) with or without Modifications, and/or as part of a Larger
|
||||
Work; and
|
||||
<P><B>(b)</B> under Patents Claims infringed by the making, using or selling
|
||||
of Original Code, to make, have made, use, practice, sell, and offer for
|
||||
sale, and/or otherwise dispose of the Original Code (or portions thereof).
|
||||
<UL>
|
||||
<UL></UL></UL><B>(c) </B>the licenses granted in this Section 2.1(a) and (b)
|
||||
are effective on the date Initial Developer first distributes Original Code
|
||||
under the terms of this License.
|
||||
<P><B>(d) </B>Notwithstanding Section 2.1(b) above, no patent license is
|
||||
granted: 1) for code that You delete from the Original Code; 2) separate
|
||||
from the Original Code; or 3) for infringements caused by: i) the
|
||||
modification of the Original Code or ii) the combination of the Original
|
||||
Code with other software or devices. <BR> </P></UL><B>2.2. Contributor
|
||||
Grant.</B> <BR>Subject to third party intellectual property claims, each
|
||||
Contributor hereby grants You a world-wide, royalty-free, non-exclusive
|
||||
license
|
||||
<UL> <BR><B>(a)</B> <B> </B>under intellectual property rights (other
|
||||
than patent or trademark) Licensable by Contributor, to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Modifications
|
||||
created by such Contributor (or portions thereof) either on an unmodified
|
||||
basis, with other Modifications, as Covered Code and/or as part of a Larger
|
||||
Work; and
|
||||
<P><B>(b)</B> under Patent Claims infringed by the making, using, or selling
|
||||
of Modifications made by that Contributor either alone and/or in<FONT
|
||||
color=#000000> combination with its Contributor Version (or portions of such
|
||||
combination), to make, use, sell, offer for sale, have made, and/or
|
||||
otherwise dispose of: 1) Modifications made by that Contributor (or portions
|
||||
thereof); and 2) the combination of Modifications made by that
|
||||
Contributor with its Contributor Version (or portions of such
|
||||
combination).</FONT>
|
||||
<P><B>(c) </B>the licenses granted in Sections 2.2(a) and 2.2(b) are
|
||||
effective on the date Contributor first makes Commercial Use of the Covered
|
||||
Code.
|
||||
<P><B>(d) </B> Notwithstanding Section 2.2(b) above, no
|
||||
patent license is granted: 1) for any code that Contributor has deleted from
|
||||
the Contributor Version; 2) separate from the Contributor
|
||||
Version; 3) for infringements caused by: i) third party
|
||||
modifications of Contributor Version or ii) the combination of
|
||||
Modifications made by that Contributor with other software (except as
|
||||
part of the Contributor Version) or other devices; or 4) under Patent Claims
|
||||
infringed by Covered Code in the absence of Modifications made by that
|
||||
Contributor.</P></UL></UL>
|
||||
grants You a world-wide, royalty-free, non-exclusive license, subject to third
|
||||
party intellectual property claims:
|
||||
<UL><B>(a)</B> <B> </B>under intellectual property rights (other than
|
||||
patent or trademark) Licensable by Initial Developer to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Original Code (or
|
||||
portions thereof) with or without Modifications, and/or as part of a Larger
|
||||
Work; and
|
||||
<P><B>(b)</B> under Patents Claims infringed by the making, using or selling
|
||||
of Original Code, to make, have made, use, practice, sell, and offer for
|
||||
sale, and/or otherwise dispose of the Original Code (or portions thereof).
|
||||
<UL>
|
||||
<UL></UL>
|
||||
</UL>
|
||||
<B>(c) </B>the licenses granted in this Section 2.1(a) and (b)
|
||||
are effective on the date Initial Developer first distributes Original Code
|
||||
under the terms of this License.
|
||||
<P><B>(d) </B>Notwithstanding Section 2.1(b) above, no patent license is
|
||||
granted: 1) for code that You delete from the Original Code; 2) separate
|
||||
from the Original Code; or 3) for infringements caused by: i) the
|
||||
modification of the Original Code or ii) the combination of the Original
|
||||
Code with other software or devices. <BR> </P></UL>
|
||||
<B>2.2. Contributor
|
||||
Grant.</B> <BR>Subject to third party intellectual property claims, each
|
||||
Contributor hereby grants You a world-wide, royalty-free, non-exclusive
|
||||
license
|
||||
<UL><BR><B>(a)</B> <B> </B>under intellectual property rights (other
|
||||
than patent or trademark) Licensable by Contributor, to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Modifications
|
||||
created by such Contributor (or portions thereof) either on an unmodified
|
||||
basis, with other Modifications, as Covered Code and/or as part of a Larger
|
||||
Work; and
|
||||
<P><B>(b)</B> under Patent Claims infringed by the making, using, or selling
|
||||
of Modifications made by that Contributor either alone and/or in<FONT
|
||||
color=#000000> combination with its Contributor Version (or portions of such
|
||||
combination), to make, use, sell, offer for sale, have made, and/or
|
||||
otherwise dispose of: 1) Modifications made by that Contributor (or portions
|
||||
thereof); and 2) the combination of Modifications made by that
|
||||
Contributor with its Contributor Version (or portions of such
|
||||
combination).</FONT>
|
||||
<P><B>(c) </B>the licenses granted in Sections 2.2(a) and 2.2(b) are
|
||||
effective on the date Contributor first makes Commercial Use of the Covered
|
||||
Code.
|
||||
<P><B>(d) </B> Notwithstanding Section 2.2(b) above, no
|
||||
patent license is granted: 1) for any code that Contributor has deleted from
|
||||
the Contributor Version; 2) separate from the Contributor
|
||||
Version; 3) for infringements caused by: i) third party
|
||||
modifications of Contributor Version or ii) the combination of
|
||||
Modifications made by that Contributor with other software (except as
|
||||
part of the Contributor Version) or other devices; or 4) under Patent Claims
|
||||
infringed by Covered Code in the absence of Modifications made by that
|
||||
Contributor.</P></UL>
|
||||
</UL>
|
||||
<P><BR><B>3. Distribution Obligations.</B>
|
||||
<UL><B>3.1. Application of License.</B> <BR>The Modifications which You create
|
||||
or to which You contribute are governed by the terms of this License,
|
||||
including without limitation Section <B>2.2</B>. The Source Code version of
|
||||
Covered Code may be distributed only under the terms of this License or a
|
||||
future version of this License released under Section <B>6.1</B>, and You must
|
||||
include a copy of this License with every copy of the Source Code You
|
||||
distribute. You may not offer or impose any terms on any Source Code version
|
||||
that alters or restricts the applicable version of this License or the
|
||||
recipients' rights hereunder. However, You may include an additional document
|
||||
offering the additional rights described in Section <B>3.5</B>.
|
||||
<P><B>3.2. Availability of Source Code.</B> <BR>Any Modification which You
|
||||
create or to which You contribute must be made available in Source Code form
|
||||
under the terms of this License either on the same media as an Executable
|
||||
version or via an accepted Electronic Distribution Mechanism to anyone to whom
|
||||
you made an Executable version available; and if made available via Electronic
|
||||
Distribution Mechanism, must remain available for at least twelve (12) months
|
||||
after the date it initially became available, or at least six (6) months after
|
||||
a subsequent version of that particular Modification has been made available
|
||||
to such recipients. You are responsible for ensuring that the Source Code
|
||||
version remains available even if the Electronic Distribution Mechanism is
|
||||
maintained by a third party.
|
||||
<P><B>3.3. Description of Modifications.</B> <BR>You must cause all Covered
|
||||
Code to which You contribute to contain a file documenting the changes You
|
||||
made to create that Covered Code and the date of any change. You must include
|
||||
a prominent statement that the Modification is derived, directly or
|
||||
indirectly, from Original Code provided by the Initial Developer and including
|
||||
the name of the Initial Developer in (a) the Source Code, and (b) in any
|
||||
notice in an Executable version or related documentation in which You describe
|
||||
the origin or ownership of the Covered Code.
|
||||
<P><B>3.4. Intellectual Property Matters</B>
|
||||
<UL><B>(a) Third Party Claims</B>. <BR>If Contributor has knowledge that a
|
||||
license under a third party's intellectual property rights is required to
|
||||
exercise the rights granted by such Contributor under Sections 2.1 or 2.2,
|
||||
Contributor must include a text file with the Source Code distribution
|
||||
titled "LEGAL'' which describes the claim and the party making the claim in
|
||||
sufficient detail that a recipient will know whom to contact. If Contributor
|
||||
obtains such knowledge after the Modification is made available as described
|
||||
in Section 3.2, Contributor shall promptly modify the LEGAL file in all
|
||||
copies Contributor makes available thereafter and shall take other steps
|
||||
(such as notifying appropriate mailing lists or newsgroups) reasonably
|
||||
calculated to inform those who received the Covered Code that new knowledge
|
||||
has been obtained.
|
||||
<P><B>(b) Contributor APIs</B>. <BR>If Contributor's Modifications include
|
||||
an application programming interface and Contributor has knowledge of patent
|
||||
licenses which are reasonably necessary to implement that API, Contributor
|
||||
must also include this information in the LEGAL file.
|
||||
<BR> </P></UL>
|
||||
<B>(c) Representations.</B>
|
||||
<UL>Contributor represents that, except as disclosed pursuant to Section
|
||||
3.4(a) above, Contributor believes that Contributor's Modifications are
|
||||
Contributor's original creation(s) and/or Contributor has sufficient rights
|
||||
to grant the rights conveyed by this License.</UL>
|
||||
<P><BR><B>3.5. Required Notices.</B> <BR>You must duplicate the notice in
|
||||
<B>Exhibit A</B> in each file of the Source Code. If it is not possible
|
||||
to put such notice in a particular Source Code file due to its structure, then
|
||||
You must include such notice in a location (such as a relevant directory)
|
||||
where a user would be likely to look for such a notice. If You created
|
||||
one or more Modification(s) You may add your name as a Contributor to the
|
||||
notice described in <B>Exhibit A</B>. You must also duplicate this
|
||||
License in any documentation for the Source Code where You describe
|
||||
recipients' rights or ownership rights relating to Covered Code. You may
|
||||
choose to offer, and to charge a fee for, warranty, support, indemnity or
|
||||
liability obligations to one or more recipients of Covered Code. However, You
|
||||
may do so only on Your own behalf, and not on behalf of the Initial Developer
|
||||
or any Contributor. You must make it absolutely clear than any such warranty,
|
||||
support, indemnity or liability obligation is offered by You alone, and You
|
||||
hereby agree to indemnify the Initial Developer and every Contributor for any
|
||||
liability incurred by the Initial Developer or such Contributor as a result of
|
||||
warranty, support, indemnity or liability terms You offer.
|
||||
<P><B>3.6. Distribution of Executable Versions.</B> <BR>You may distribute
|
||||
Covered Code in Executable form only if the requirements of Section
|
||||
<B>3.1-3.5</B> have been met for that Covered Code, and if You include a
|
||||
notice stating that the Source Code version of the Covered Code is available
|
||||
under the terms of this License, including a description of how and where You
|
||||
have fulfilled the obligations of Section <B>3.2</B>. The notice must be
|
||||
conspicuously included in any notice in an Executable version, related
|
||||
documentation or collateral in which You describe recipients' rights relating
|
||||
to the Covered Code. You may distribute the Executable version of Covered Code
|
||||
or ownership rights under a license of Your choice, which may contain terms
|
||||
different from this License, provided that You are in compliance with the
|
||||
terms of this License and that the license for the Executable version does not
|
||||
attempt to limit or alter the recipient's rights in the Source Code version
|
||||
from the rights set forth in this License. If You distribute the Executable
|
||||
version under a different license You must make it absolutely clear that any
|
||||
terms which differ from this License are offered by You alone, not by the
|
||||
Initial Developer or any Contributor. You hereby agree to indemnify the
|
||||
Initial Developer and every Contributor for any liability incurred by the
|
||||
Initial Developer or such Contributor as a result of any such terms You offer.
|
||||
or to which You contribute are governed by the terms of this License,
|
||||
including without limitation Section <B>2.2</B>. The Source Code version of
|
||||
Covered Code may be distributed only under the terms of this License or a
|
||||
future version of this License released under Section <B>6.1</B>, and You must
|
||||
include a copy of this License with every copy of the Source Code You
|
||||
distribute. You may not offer or impose any terms on any Source Code version
|
||||
that alters or restricts the applicable version of this License or the
|
||||
recipients' rights hereunder. However, You may include an additional document
|
||||
offering the additional rights described in Section <B>3.5</B>.
|
||||
<P><B>3.2. Availability of Source Code.</B> <BR>Any Modification which You
|
||||
create or to which You contribute must be made available in Source Code form
|
||||
under the terms of this License either on the same media as an Executable
|
||||
version or via an accepted Electronic Distribution Mechanism to anyone to whom
|
||||
you made an Executable version available; and if made available via Electronic
|
||||
Distribution Mechanism, must remain available for at least twelve (12) months
|
||||
after the date it initially became available, or at least six (6) months after
|
||||
a subsequent version of that particular Modification has been made available
|
||||
to such recipients. You are responsible for ensuring that the Source Code
|
||||
version remains available even if the Electronic Distribution Mechanism is
|
||||
maintained by a third party.
|
||||
<P><B>3.3. Description of Modifications.</B> <BR>You must cause all Covered
|
||||
Code to which You contribute to contain a file documenting the changes You
|
||||
made to create that Covered Code and the date of any change. You must include
|
||||
a prominent statement that the Modification is derived, directly or
|
||||
indirectly, from Original Code provided by the Initial Developer and including
|
||||
the name of the Initial Developer in (a) the Source Code, and (b) in any
|
||||
notice in an Executable version or related documentation in which You describe
|
||||
the origin or ownership of the Covered Code.
|
||||
<P><B>3.4. Intellectual Property Matters</B>
|
||||
<UL><B>(a) Third Party Claims</B>. <BR>If Contributor has knowledge that a
|
||||
license under a third party's intellectual property rights is required to
|
||||
exercise the rights granted by such Contributor under Sections 2.1 or 2.2,
|
||||
Contributor must include a text file with the Source Code distribution
|
||||
titled "LEGAL'' which describes the claim and the party making the claim in
|
||||
sufficient detail that a recipient will know whom to contact. If Contributor
|
||||
obtains such knowledge after the Modification is made available as described
|
||||
in Section 3.2, Contributor shall promptly modify the LEGAL file in all
|
||||
copies Contributor makes available thereafter and shall take other steps
|
||||
(such as notifying appropriate mailing lists or newsgroups) reasonably
|
||||
calculated to inform those who received the Covered Code that new knowledge
|
||||
has been obtained.
|
||||
<P><B>(b) Contributor APIs</B>. <BR>If Contributor's Modifications include
|
||||
an application programming interface and Contributor has knowledge of patent
|
||||
licenses which are reasonably necessary to implement that API, Contributor
|
||||
must also include this information in the LEGAL file.
|
||||
<BR> </P></UL>
|
||||
<B>(c) Representations.</B>
|
||||
<UL>Contributor represents that, except as disclosed pursuant to Section
|
||||
3.4(a) above, Contributor believes that Contributor's Modifications are
|
||||
Contributor's original creation(s) and/or Contributor has sufficient rights
|
||||
to grant the rights conveyed by this License.
|
||||
</UL>
|
||||
<P><BR><B>3.5. Required Notices.</B> <BR>You must duplicate the notice in
|
||||
<B>Exhibit A</B> in each file of the Source Code. If it is not possible
|
||||
to put such notice in a particular Source Code file due to its structure, then
|
||||
You must include such notice in a location (such as a relevant directory)
|
||||
where a user would be likely to look for such a notice. If You created
|
||||
one or more Modification(s) You may add your name as a Contributor to the
|
||||
notice described in <B>Exhibit A</B>. You must also duplicate this
|
||||
License in any documentation for the Source Code where You describe
|
||||
recipients' rights or ownership rights relating to Covered Code. You may
|
||||
choose to offer, and to charge a fee for, warranty, support, indemnity or
|
||||
liability obligations to one or more recipients of Covered Code. However, You
|
||||
may do so only on Your own behalf, and not on behalf of the Initial Developer
|
||||
or any Contributor. You must make it absolutely clear than any such warranty,
|
||||
support, indemnity or liability obligation is offered by You alone, and You
|
||||
hereby agree to indemnify the Initial Developer and every Contributor for any
|
||||
liability incurred by the Initial Developer or such Contributor as a result of
|
||||
warranty, support, indemnity or liability terms You offer.
|
||||
<P><B>3.6. Distribution of Executable Versions.</B> <BR>You may distribute
|
||||
Covered Code in Executable form only if the requirements of Section
|
||||
<B>3.1-3.5</B> have been met for that Covered Code, and if You include a
|
||||
notice stating that the Source Code version of the Covered Code is available
|
||||
under the terms of this License, including a description of how and where You
|
||||
have fulfilled the obligations of Section <B>3.2</B>. The notice must be
|
||||
conspicuously included in any notice in an Executable version, related
|
||||
documentation or collateral in which You describe recipients' rights relating
|
||||
to the Covered Code. You may distribute the Executable version of Covered Code
|
||||
or ownership rights under a license of Your choice, which may contain terms
|
||||
different from this License, provided that You are in compliance with the
|
||||
terms of this License and that the license for the Executable version does not
|
||||
attempt to limit or alter the recipient's rights in the Source Code version
|
||||
from the rights set forth in this License. If You distribute the Executable
|
||||
version under a different license You must make it absolutely clear that any
|
||||
terms which differ from this License are offered by You alone, not by the
|
||||
Initial Developer or any Contributor. You hereby agree to indemnify the
|
||||
Initial Developer and every Contributor for any liability incurred by the
|
||||
Initial Developer or such Contributor as a result of any such terms You offer.
|
||||
|
||||
<P><B>3.7. Larger Works.</B> <BR>You may create a Larger Work by combining
|
||||
Covered Code with other code not governed by the terms of this License and
|
||||
distribute the Larger Work as a single product. In such a case, You must make
|
||||
sure the requirements of this License are fulfilled for the Covered
|
||||
Code.</P></UL><B>4. Inability to Comply Due to Statute or Regulation.</B>
|
||||
<P><B>3.7. Larger Works.</B> <BR>You may create a Larger Work by combining
|
||||
Covered Code with other code not governed by the terms of this License and
|
||||
distribute the Larger Work as a single product. In such a case, You must make
|
||||
sure the requirements of this License are fulfilled for the Covered
|
||||
Code.</P></UL>
|
||||
<B>4. Inability to Comply Due to Statute or Regulation.</B>
|
||||
<UL>If it is impossible for You to comply with any of the terms of this
|
||||
License with respect to some or all of the Covered Code due to statute,
|
||||
judicial order, or regulation then You must: (a) comply with the terms of this
|
||||
License to the maximum extent possible; and (b) describe the limitations and
|
||||
the code they affect. Such description must be included in the LEGAL file
|
||||
described in Section <B>3.4</B> and must be included with all distributions of
|
||||
the Source Code. Except to the extent prohibited by statute or regulation,
|
||||
such description must be sufficiently detailed for a recipient of ordinary
|
||||
skill to be able to understand it.</UL><B>5. Application of this License.</B>
|
||||
License with respect to some or all of the Covered Code due to statute,
|
||||
judicial order, or regulation then You must: (a) comply with the terms of this
|
||||
License to the maximum extent possible; and (b) describe the limitations and
|
||||
the code they affect. Such description must be included in the LEGAL file
|
||||
described in Section <B>3.4</B> and must be included with all distributions of
|
||||
the Source Code. Except to the extent prohibited by statute or regulation,
|
||||
such description must be sufficiently detailed for a recipient of ordinary
|
||||
skill to be able to understand it.
|
||||
</UL>
|
||||
<B>5. Application of this License.</B>
|
||||
<UL>This License applies to code to which the Initial Developer has attached
|
||||
the notice in <B>Exhibit A</B> and to related Covered Code.</UL><B>6. Versions
|
||||
of the License.</B>
|
||||
the notice in <B>Exhibit A</B> and to related Covered Code.
|
||||
</UL>
|
||||
<B>6. Versions
|
||||
of the License.</B>
|
||||
<UL><B>6.1. New Versions</B>. <BR>Netscape Communications Corporation
|
||||
(''Netscape'') may publish revised and/or new versions of the License from
|
||||
time to time. Each version will be given a distinguishing version number.
|
||||
<P><B>6.2. Effect of New Versions</B>. <BR>Once Covered Code has been
|
||||
published under a particular version of the License, You may always continue
|
||||
to use it under the terms of that version. You may also choose to use such
|
||||
Covered Code under the terms of any subsequent version of the License
|
||||
published by Netscape. No one other than Netscape has the right to modify the
|
||||
terms applicable to Covered Code created under this License.
|
||||
<P><B>6.3. Derivative Works</B>. <BR>If You create or use a modified version
|
||||
of this License (which you may only do in order to apply it to code which is
|
||||
not already Covered Code governed by this License), You must (a) rename Your
|
||||
license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'',
|
||||
''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear
|
||||
in your license (except to note that your license differs from this License)
|
||||
and (b) otherwise make it clear that Your version of the license contains
|
||||
terms which differ from the Mozilla Public License and Netscape Public
|
||||
License. (Filling in the name of the Initial Developer, Original Code or
|
||||
Contributor in the notice described in <B>Exhibit A</B> shall not of
|
||||
themselves be deemed to be modifications of this License.)</P></UL><B>7.
|
||||
DISCLAIMER OF WARRANTY.</B>
|
||||
(''Netscape'') may publish revised and/or new versions of the License from
|
||||
time to time. Each version will be given a distinguishing version number.
|
||||
<P><B>6.2. Effect of New Versions</B>. <BR>Once Covered Code has been
|
||||
published under a particular version of the License, You may always continue
|
||||
to use it under the terms of that version. You may also choose to use such
|
||||
Covered Code under the terms of any subsequent version of the License
|
||||
published by Netscape. No one other than Netscape has the right to modify the
|
||||
terms applicable to Covered Code created under this License.
|
||||
<P><B>6.3. Derivative Works</B>. <BR>If You create or use a modified version
|
||||
of this License (which you may only do in order to apply it to code which is
|
||||
not already Covered Code governed by this License), You must (a) rename Your
|
||||
license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'',
|
||||
''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear
|
||||
in your license (except to note that your license differs from this License)
|
||||
and (b) otherwise make it clear that Your version of the license contains
|
||||
terms which differ from the Mozilla Public License and Netscape Public
|
||||
License. (Filling in the name of the Initial Developer, Original Code or
|
||||
Contributor in the notice described in <B>Exhibit A</B> shall not of
|
||||
themselves be deemed to be modifications of this License.)</P></UL>
|
||||
<B>7.
|
||||
DISCLAIMER OF WARRANTY.</B>
|
||||
<UL>COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT
|
||||
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
|
||||
LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE,
|
||||
FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
|
||||
QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED
|
||||
CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
|
||||
OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR
|
||||
CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
|
||||
LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
|
||||
DISCLAIMER.</UL><B>8. TERMINATION.</B>
|
||||
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
|
||||
LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE,
|
||||
FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
|
||||
QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED
|
||||
CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
|
||||
OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR
|
||||
CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
|
||||
LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
|
||||
DISCLAIMER.
|
||||
</UL>
|
||||
<B>8. TERMINATION.</B>
|
||||
<UL><B>8.1. </B>This License and the rights granted hereunder will
|
||||
terminate automatically if You fail to comply with terms herein and fail to
|
||||
cure such breach within 30 days of becoming aware of the breach. All
|
||||
sublicenses to the Covered Code which are properly granted shall survive any
|
||||
termination of this License. Provisions which, by their nature, must remain in
|
||||
effect beyond the termination of this License shall survive.
|
||||
<P><B>8.2. </B>If You initiate litigation by asserting a patent
|
||||
infringement claim (excluding declatory judgment actions) against Initial
|
||||
Developer or a Contributor (the Initial Developer or Contributor against whom
|
||||
You file such action is referred to as "Participant") alleging that:
|
||||
<P><B>(a) </B>such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent, then any and all rights granted by such
|
||||
Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon
|
||||
60 days notice from Participant terminate prospectively, unless if within 60
|
||||
days after receipt of notice You either: (i) agree in writing to pay
|
||||
Participant a mutually agreeable reasonable royalty for Your past and future
|
||||
use of Modifications made by such Participant, or (ii) withdraw Your
|
||||
litigation claim with respect to the Contributor Version against such
|
||||
Participant. If within 60 days of notice, a reasonable royalty and
|
||||
payment arrangement are not mutually agreed upon in writing by the parties or
|
||||
the litigation claim is not withdrawn, the rights granted by Participant to
|
||||
You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of
|
||||
the 60 day notice period specified above.
|
||||
<P><B>(b)</B> any software, hardware, or device, other than such
|
||||
Participant's Contributor Version, directly or indirectly infringes any
|
||||
patent, then any rights granted to You by such Participant under Sections
|
||||
2.1(b) and 2.2(b) are revoked effective as of the date You first made, used,
|
||||
sold, distributed, or had made, Modifications made by that Participant.
|
||||
<P><B>8.3. </B>If You assert a patent infringement claim against
|
||||
Participant alleging that such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent where such claim is resolved (such as by
|
||||
license or settlement) prior to the initiation of patent infringement
|
||||
litigation, then the reasonable value of the licenses granted by such
|
||||
Participant under Sections 2.1 or 2.2 shall be taken into account in
|
||||
determining the amount or value of any payment or license.
|
||||
<P><B>8.4.</B> In the event of termination under Sections 8.1 or 8.2
|
||||
above, all end user license agreements (excluding distributors and
|
||||
resellers) which have been validly granted by You or any distributor hereunder
|
||||
prior to termination shall survive termination.</P></UL><B>9. LIMITATION OF
|
||||
LIABILITY.</B>
|
||||
terminate automatically if You fail to comply with terms herein and fail to
|
||||
cure such breach within 30 days of becoming aware of the breach. All
|
||||
sublicenses to the Covered Code which are properly granted shall survive any
|
||||
termination of this License. Provisions which, by their nature, must remain in
|
||||
effect beyond the termination of this License shall survive.
|
||||
<P><B>8.2. </B>If You initiate litigation by asserting a patent
|
||||
infringement claim (excluding declatory judgment actions) against Initial
|
||||
Developer or a Contributor (the Initial Developer or Contributor against whom
|
||||
You file such action is referred to as "Participant") alleging that:
|
||||
<P><B>(a) </B>such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent, then any and all rights granted by such
|
||||
Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon
|
||||
60 days notice from Participant terminate prospectively, unless if within 60
|
||||
days after receipt of notice You either: (i) agree in writing to pay
|
||||
Participant a mutually agreeable reasonable royalty for Your past and future
|
||||
use of Modifications made by such Participant, or (ii) withdraw Your
|
||||
litigation claim with respect to the Contributor Version against such
|
||||
Participant. If within 60 days of notice, a reasonable royalty and
|
||||
payment arrangement are not mutually agreed upon in writing by the parties or
|
||||
the litigation claim is not withdrawn, the rights granted by Participant to
|
||||
You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of
|
||||
the 60 day notice period specified above.
|
||||
<P><B>(b)</B> any software, hardware, or device, other than such
|
||||
Participant's Contributor Version, directly or indirectly infringes any
|
||||
patent, then any rights granted to You by such Participant under Sections
|
||||
2.1(b) and 2.2(b) are revoked effective as of the date You first made, used,
|
||||
sold, distributed, or had made, Modifications made by that Participant.
|
||||
<P><B>8.3. </B>If You assert a patent infringement claim against
|
||||
Participant alleging that such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent where such claim is resolved (such as by
|
||||
license or settlement) prior to the initiation of patent infringement
|
||||
litigation, then the reasonable value of the licenses granted by such
|
||||
Participant under Sections 2.1 or 2.2 shall be taken into account in
|
||||
determining the amount or value of any payment or license.
|
||||
<P><B>8.4.</B> In the event of termination under Sections 8.1 or 8.2
|
||||
above, all end user license agreements (excluding distributors and
|
||||
resellers) which have been validly granted by You or any distributor hereunder
|
||||
prior to termination shall survive termination.</P></UL>
|
||||
<B>9. LIMITATION OF
|
||||
LIABILITY.</B>
|
||||
<UL>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING
|
||||
NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY
|
||||
OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY
|
||||
OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
|
||||
INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
|
||||
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
|
||||
MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH
|
||||
PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
|
||||
LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
|
||||
INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
|
||||
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
|
||||
LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND
|
||||
LIMITATION MAY NOT APPLY TO YOU.</UL><B>10. U.S. GOVERNMENT END USERS.</B>
|
||||
NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY
|
||||
OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY
|
||||
OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
|
||||
INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
|
||||
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
|
||||
MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH
|
||||
PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
|
||||
LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
|
||||
INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
|
||||
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
|
||||
LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND
|
||||
LIMITATION MAY NOT APPLY TO YOU.
|
||||
</UL>
|
||||
<B>10. U.S. GOVERNMENT END USERS.</B>
|
||||
<UL>The Covered Code is a ''commercial item,'' as that term is defined in 48
|
||||
C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and
|
||||
''commercial computer software documentation,'' as such terms are used in 48
|
||||
C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R.
|
||||
227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users
|
||||
acquire Covered Code with only those rights set forth herein.</UL><B>11.
|
||||
MISCELLANEOUS.</B>
|
||||
C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and
|
||||
''commercial computer software documentation,'' as such terms are used in 48
|
||||
C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R.
|
||||
227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users
|
||||
acquire Covered Code with only those rights set forth herein.
|
||||
</UL>
|
||||
<B>11.
|
||||
MISCELLANEOUS.</B>
|
||||
<UL>This License represents the complete agreement concerning subject matter
|
||||
hereof. If any provision of this License is held to be unenforceable, such
|
||||
provision shall be reformed only to the extent necessary to make it
|
||||
enforceable. This License shall be governed by California law provisions
|
||||
(except to the extent applicable law, if any, provides otherwise), excluding
|
||||
its conflict-of-law provisions. With respect to disputes in which at least one
|
||||
party is a citizen of, or an entity chartered or registered to do business in
|
||||
the United States of America, any litigation relating to this License shall be
|
||||
subject to the jurisdiction of the Federal Courts of the Northern District of
|
||||
California, with venue lying in Santa Clara County, California, with the
|
||||
losing party responsible for costs, including without limitation, court costs
|
||||
and reasonable attorneys' fees and expenses. The application of the United
|
||||
Nations Convention on Contracts for the International Sale of Goods is
|
||||
expressly excluded. Any law or regulation which provides that the language of
|
||||
a contract shall be construed against the drafter shall not apply to this
|
||||
License.</UL><B>12. RESPONSIBILITY FOR CLAIMS.</B>
|
||||
hereof. If any provision of this License is held to be unenforceable, such
|
||||
provision shall be reformed only to the extent necessary to make it
|
||||
enforceable. This License shall be governed by California law provisions
|
||||
(except to the extent applicable law, if any, provides otherwise), excluding
|
||||
its conflict-of-law provisions. With respect to disputes in which at least one
|
||||
party is a citizen of, or an entity chartered or registered to do business in
|
||||
the United States of America, any litigation relating to this License shall be
|
||||
subject to the jurisdiction of the Federal Courts of the Northern District of
|
||||
California, with venue lying in Santa Clara County, California, with the
|
||||
losing party responsible for costs, including without limitation, court costs
|
||||
and reasonable attorneys' fees and expenses. The application of the United
|
||||
Nations Convention on Contracts for the International Sale of Goods is
|
||||
expressly excluded. Any law or regulation which provides that the language of
|
||||
a contract shall be construed against the drafter shall not apply to this
|
||||
License.
|
||||
</UL>
|
||||
<B>12. RESPONSIBILITY FOR CLAIMS.</B>
|
||||
<UL>As between Initial Developer and the Contributors, each party is
|
||||
responsible for claims and damages arising, directly or indirectly, out of its
|
||||
utilization of rights under this License and You agree to work with Initial
|
||||
Developer and Contributors to distribute such responsibility on an equitable
|
||||
basis. Nothing herein is intended or shall be deemed to constitute any
|
||||
admission of liability.</UL><B>13. MULTIPLE-LICENSED CODE.</B>
|
||||
responsible for claims and damages arising, directly or indirectly, out of its
|
||||
utilization of rights under this License and You agree to work with Initial
|
||||
Developer and Contributors to distribute such responsibility on an equitable
|
||||
basis. Nothing herein is intended or shall be deemed to constitute any
|
||||
admission of liability.
|
||||
</UL>
|
||||
<B>13. MULTIPLE-LICENSED CODE.</B>
|
||||
<UL>Initial Developer may designate portions of the Covered Code as
|
||||
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
|
||||
Developer permits you to utilize portions of the Covered Code under Your
|
||||
choice of the MPL or the alternative licenses, if any, specified by the
|
||||
Initial Developer in the file described in Exhibit A.</UL>
|
||||
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
|
||||
Developer permits you to utilize portions of the Covered Code under Your
|
||||
choice of the MPL or the alternative licenses, if any, specified by the
|
||||
Initial Developer in the file described in Exhibit A.
|
||||
</UL>
|
||||
<P><BR><B>EXHIBIT A -Mozilla Public License.</B>
|
||||
<UL>The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
<BR>http://www.mozilla.org/MPL/
|
||||
<P>Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
<P>The Original Code is Javassist.
|
||||
<P>The Initial Developer of the Original Code is Shigeru Chiba.
|
||||
Portions created by the Initial Developer are<BR>
|
||||
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
|
||||
<P>Contributor(s): __Bill Burke, Jason T. Greene______________.
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
<BR>http://www.mozilla.org/MPL/
|
||||
<P>Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
<P>The Original Code is Javassist.
|
||||
<P>The Initial Developer of the Original Code is Shigeru Chiba.
|
||||
Portions created by the Initial Developer are<BR>
|
||||
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
|
||||
<P>Contributor(s): __Bill Burke, Jason T. Greene______________.
|
||||
|
||||
<p>Alternatively, the contents of this software may be used under the
|
||||
terms of the GNU Lesser General Public License Version 2.1 or later
|
||||
(the "LGPL"), or the Apache License Version 2.0 (the "AL"),
|
||||
in which case the provisions of the LGPL or the AL are applicable
|
||||
instead of those above. If you wish to allow use of your version of
|
||||
this software only under the terms of either the LGPL or the AL, and not to allow others to
|
||||
use your version of this software under the terms of the MPL, indicate
|
||||
your decision by deleting the provisions above and replace them with
|
||||
the notice and other provisions required by the LGPL or the AL. If you do not
|
||||
delete the provisions above, a recipient may use your version of this
|
||||
software under the terms of any one of the MPL, the LGPL or the AL.</p>
|
||||
<p>Alternatively, the contents of this software may be used under the
|
||||
terms of the GNU Lesser General Public License Version 2.1 or later
|
||||
(the "LGPL"), or the Apache License Version 2.0 (the "AL"),
|
||||
in which case the provisions of the LGPL or the AL are applicable
|
||||
instead of those above. If you wish to allow use of your version of
|
||||
this software only under the terms of either the LGPL or the AL, and not to allow others to
|
||||
use your version of this software under the terms of the MPL, indicate
|
||||
your decision by deleting the provisions above and replace them with
|
||||
the notice and other provisions required by the LGPL or the AL. If you do not
|
||||
delete the provisions above, a recipient may use your version of this
|
||||
software under the terms of any one of the MPL, the LGPL or the AL.</p>
|
||||
|
||||
<p>If you obtain this software as part of JBoss,
|
||||
the contents of this software may be used under only the terms of the LGPL.
|
||||
To use them under the MPL, you must obtain a separate package including only
|
||||
Javassist but not the other part of JBoss.</p>
|
||||
<p>If you obtain this software as part of JBoss,
|
||||
the contents of this software may be used under only the terms of the LGPL.
|
||||
To use them under the MPL, you must obtain a separate package including only
|
||||
Javassist but not the other part of JBoss.</p>
|
||||
|
||||
<p>All the contributors to the original source tree have agreed to the original
|
||||
license term described above.</p>
|
||||
<p>All the contributors to the original source tree have agreed to the original
|
||||
license term described above.</p>
|
||||
|
||||
<P></P></UL>
|
||||
<P></P></UL>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@@ -1,381 +1,407 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Javassist License</TITLE>
|
||||
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
|
||||
<META content="MSHTML 5.50.4916.2300" name=GENERATOR></HEAD>
|
||||
<TITLE>Javassist License</TITLE>
|
||||
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
|
||||
<META content="MSHTML 5.50.4916.2300" name=GENERATOR>
|
||||
</HEAD>
|
||||
|
||||
<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff>
|
||||
<BODY aLink=#ff0000 bgColor=#ffffff link=#0000ee text=#000000 vLink=#551a8b>
|
||||
<CENTER><B><FONT size=+2>MOZILLA PUBLIC LICENSE</FONT></B> <BR><B>Version
|
||||
1.1</B>
|
||||
<P>
|
||||
<HR width="20%">
|
||||
1.1</B>
|
||||
<P>
|
||||
<HR width="20%">
|
||||
</CENTER>
|
||||
<P><B>1. Definitions.</B>
|
||||
<UL><B>1.0.1. "Commercial Use" </B>means distribution or otherwise making the
|
||||
Covered Code available to a third party.
|
||||
<P><B>1.1. ''Contributor''</B> means each entity that creates or contributes
|
||||
to the creation of Modifications.
|
||||
<P><B>1.2. ''Contributor Version''</B> means the combination of the Original
|
||||
Code, prior Modifications used by a Contributor, and the Modifications made by
|
||||
that particular Contributor.
|
||||
<P><B>1.3. ''Covered Code''</B> means the Original Code or Modifications or
|
||||
the combination of the Original Code and Modifications, in each case including
|
||||
portions thereof<B>.</B>
|
||||
<P><B>1.4. ''Electronic Distribution Mechanism''</B> means a mechanism
|
||||
generally accepted in the software development community for the electronic
|
||||
transfer of data.
|
||||
<P><B>1.5. ''Executable''</B> means Covered Code in any form other than Source
|
||||
Code.
|
||||
<P><B>1.6. ''Initial Developer''</B> means the individual or entity identified
|
||||
as the Initial Developer in the Source Code notice required by <B>Exhibit
|
||||
A</B>.
|
||||
<P><B>1.7. ''Larger Work''</B> means a work which combines Covered Code or
|
||||
portions thereof with code not governed by the terms of this License.
|
||||
<P><B>1.8. ''License''</B> means this document.
|
||||
<P><B>1.8.1. "Licensable"</B> means having the right to grant, to the maximum
|
||||
extent possible, whether at the time of the initial grant or subsequently
|
||||
acquired, any and all of the rights conveyed herein.
|
||||
<P><B>1.9. ''Modifications''</B> means any addition to or deletion from the
|
||||
substance or structure of either the Original Code or any previous
|
||||
Modifications. When Covered Code is released as a series of files, a
|
||||
Modification is:
|
||||
<UL><B>A.</B> Any addition to or deletion from the contents of a file
|
||||
containing Original Code or previous Modifications.
|
||||
<P><B>B.</B> Any new file that contains any part of the Original Code or
|
||||
previous Modifications. <BR> </P></UL><B>1.10. ''Original Code''</B>
|
||||
means Source Code of computer software code which is described in the Source
|
||||
Code notice required by <B>Exhibit A</B> as Original Code, and which, at the
|
||||
time of its release under this License is not already Covered Code governed by
|
||||
this License.
|
||||
<P><B>1.10.1. "Patent Claims"</B> means any patent claim(s), now owned or
|
||||
hereafter acquired, including without limitation, method, process, and
|
||||
apparatus claims, in any patent Licensable by grantor.
|
||||
<P><B>1.11. ''Source Code''</B> means the preferred form of the Covered Code
|
||||
for making modifications to it, including all modules it contains, plus any
|
||||
associated interface definition files, scripts used to control compilation and
|
||||
installation of an Executable, or source code differential comparisons against
|
||||
either the Original Code or another well known, available Covered Code of the
|
||||
Contributor's choice. The Source Code can be in a compressed or archival form,
|
||||
provided the appropriate decompression or de-archiving software is widely
|
||||
available for no charge.
|
||||
<P><B>1.12. "You'' (or "Your") </B> means an individual or a legal entity
|
||||
exercising rights under, and complying with all of the terms of, this License
|
||||
or a future version of this License issued under Section 6.1. For legal
|
||||
entities, "You'' includes any entity which controls, is controlled by, or is
|
||||
under common control with You. For purposes of this definition, "control''
|
||||
means (a) the power, direct or indirect, to cause the direction or management
|
||||
of such entity, whether by contract or otherwise, or (b) ownership of more
|
||||
than fifty percent (50%) of the outstanding shares or beneficial ownership of
|
||||
such entity.</P></UL><B>2. Source Code License.</B>
|
||||
Covered Code available to a third party.
|
||||
<P><B>1.1. ''Contributor''</B> means each entity that creates or contributes
|
||||
to the creation of Modifications.
|
||||
<P><B>1.2. ''Contributor Version''</B> means the combination of the Original
|
||||
Code, prior Modifications used by a Contributor, and the Modifications made by
|
||||
that particular Contributor.
|
||||
<P><B>1.3. ''Covered Code''</B> means the Original Code or Modifications or
|
||||
the combination of the Original Code and Modifications, in each case including
|
||||
portions thereof<B>.</B>
|
||||
<P><B>1.4. ''Electronic Distribution Mechanism''</B> means a mechanism
|
||||
generally accepted in the software development community for the electronic
|
||||
transfer of data.
|
||||
<P><B>1.5. ''Executable''</B> means Covered Code in any form other than Source
|
||||
Code.
|
||||
<P><B>1.6. ''Initial Developer''</B> means the individual or entity identified
|
||||
as the Initial Developer in the Source Code notice required by <B>Exhibit
|
||||
A</B>.
|
||||
<P><B>1.7. ''Larger Work''</B> means a work which combines Covered Code or
|
||||
portions thereof with code not governed by the terms of this License.
|
||||
<P><B>1.8. ''License''</B> means this document.
|
||||
<P><B>1.8.1. "Licensable"</B> means having the right to grant, to the maximum
|
||||
extent possible, whether at the time of the initial grant or subsequently
|
||||
acquired, any and all of the rights conveyed herein.
|
||||
<P><B>1.9. ''Modifications''</B> means any addition to or deletion from the
|
||||
substance or structure of either the Original Code or any previous
|
||||
Modifications. When Covered Code is released as a series of files, a
|
||||
Modification is:
|
||||
<UL><B>A.</B> Any addition to or deletion from the contents of a file
|
||||
containing Original Code or previous Modifications.
|
||||
<P><B>B.</B> Any new file that contains any part of the Original Code or
|
||||
previous Modifications. <BR> </P></UL>
|
||||
<B>1.10. ''Original Code''</B>
|
||||
means Source Code of computer software code which is described in the Source
|
||||
Code notice required by <B>Exhibit A</B> as Original Code, and which, at the
|
||||
time of its release under this License is not already Covered Code governed by
|
||||
this License.
|
||||
<P><B>1.10.1. "Patent Claims"</B> means any patent claim(s), now owned or
|
||||
hereafter acquired, including without limitation, method, process, and
|
||||
apparatus claims, in any patent Licensable by grantor.
|
||||
<P><B>1.11. ''Source Code''</B> means the preferred form of the Covered Code
|
||||
for making modifications to it, including all modules it contains, plus any
|
||||
associated interface definition files, scripts used to control compilation and
|
||||
installation of an Executable, or source code differential comparisons against
|
||||
either the Original Code or another well known, available Covered Code of the
|
||||
Contributor's choice. The Source Code can be in a compressed or archival form,
|
||||
provided the appropriate decompression or de-archiving software is widely
|
||||
available for no charge.
|
||||
<P><B>1.12. "You'' (or "Your") </B> means an individual or a legal entity
|
||||
exercising rights under, and complying with all of the terms of, this License
|
||||
or a future version of this License issued under Section 6.1. For legal
|
||||
entities, "You'' includes any entity which controls, is controlled by, or is
|
||||
under common control with You. For purposes of this definition, "control''
|
||||
means (a) the power, direct or indirect, to cause the direction or management
|
||||
of such entity, whether by contract or otherwise, or (b) ownership of more
|
||||
than fifty percent (50%) of the outstanding shares or beneficial ownership of
|
||||
such entity.</P></UL>
|
||||
<B>2. Source Code License.</B>
|
||||
<UL><B>2.1. The Initial Developer Grant.</B> <BR>The Initial Developer hereby
|
||||
grants You a world-wide, royalty-free, non-exclusive license, subject to third
|
||||
party intellectual property claims:
|
||||
<UL><B>(a)</B> <B> </B>under intellectual property rights (other than
|
||||
patent or trademark) Licensable by Initial Developer to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Original Code (or
|
||||
portions thereof) with or without Modifications, and/or as part of a Larger
|
||||
Work; and
|
||||
<P><B>(b)</B> under Patents Claims infringed by the making, using or selling
|
||||
of Original Code, to make, have made, use, practice, sell, and offer for
|
||||
sale, and/or otherwise dispose of the Original Code (or portions thereof).
|
||||
<UL>
|
||||
<UL></UL></UL><B>(c) </B>the licenses granted in this Section 2.1(a) and (b)
|
||||
are effective on the date Initial Developer first distributes Original Code
|
||||
under the terms of this License.
|
||||
<P><B>(d) </B>Notwithstanding Section 2.1(b) above, no patent license is
|
||||
granted: 1) for code that You delete from the Original Code; 2) separate
|
||||
from the Original Code; or 3) for infringements caused by: i) the
|
||||
modification of the Original Code or ii) the combination of the Original
|
||||
Code with other software or devices. <BR> </P></UL><B>2.2. Contributor
|
||||
Grant.</B> <BR>Subject to third party intellectual property claims, each
|
||||
Contributor hereby grants You a world-wide, royalty-free, non-exclusive
|
||||
license
|
||||
<UL> <BR><B>(a)</B> <B> </B>under intellectual property rights (other
|
||||
than patent or trademark) Licensable by Contributor, to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Modifications
|
||||
created by such Contributor (or portions thereof) either on an unmodified
|
||||
basis, with other Modifications, as Covered Code and/or as part of a Larger
|
||||
Work; and
|
||||
<P><B>(b)</B> under Patent Claims infringed by the making, using, or selling
|
||||
of Modifications made by that Contributor either alone and/or in<FONT
|
||||
color=#000000> combination with its Contributor Version (or portions of such
|
||||
combination), to make, use, sell, offer for sale, have made, and/or
|
||||
otherwise dispose of: 1) Modifications made by that Contributor (or portions
|
||||
thereof); and 2) the combination of Modifications made by that
|
||||
Contributor with its Contributor Version (or portions of such
|
||||
combination).</FONT>
|
||||
<P><B>(c) </B>the licenses granted in Sections 2.2(a) and 2.2(b) are
|
||||
effective on the date Contributor first makes Commercial Use of the Covered
|
||||
Code.
|
||||
<P><B>(d) </B> Notwithstanding Section 2.2(b) above, no
|
||||
patent license is granted: 1) for any code that Contributor has deleted from
|
||||
the Contributor Version; 2) separate from the Contributor
|
||||
Version; 3) for infringements caused by: i) third party
|
||||
modifications of Contributor Version or ii) the combination of
|
||||
Modifications made by that Contributor with other software (except as
|
||||
part of the Contributor Version) or other devices; or 4) under Patent Claims
|
||||
infringed by Covered Code in the absence of Modifications made by that
|
||||
Contributor.</P></UL></UL>
|
||||
grants You a world-wide, royalty-free, non-exclusive license, subject to third
|
||||
party intellectual property claims:
|
||||
<UL><B>(a)</B> <B> </B>under intellectual property rights (other than
|
||||
patent or trademark) Licensable by Initial Developer to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Original Code (or
|
||||
portions thereof) with or without Modifications, and/or as part of a Larger
|
||||
Work; and
|
||||
<P><B>(b)</B> under Patents Claims infringed by the making, using or selling
|
||||
of Original Code, to make, have made, use, practice, sell, and offer for
|
||||
sale, and/or otherwise dispose of the Original Code (or portions thereof).
|
||||
<UL>
|
||||
<UL></UL>
|
||||
</UL>
|
||||
<B>(c) </B>the licenses granted in this Section 2.1(a) and (b)
|
||||
are effective on the date Initial Developer first distributes Original Code
|
||||
under the terms of this License.
|
||||
<P><B>(d) </B>Notwithstanding Section 2.1(b) above, no patent license is
|
||||
granted: 1) for code that You delete from the Original Code; 2) separate
|
||||
from the Original Code; or 3) for infringements caused by: i) the
|
||||
modification of the Original Code or ii) the combination of the Original
|
||||
Code with other software or devices. <BR> </P></UL>
|
||||
<B>2.2. Contributor
|
||||
Grant.</B> <BR>Subject to third party intellectual property claims, each
|
||||
Contributor hereby grants You a world-wide, royalty-free, non-exclusive
|
||||
license
|
||||
<UL><BR><B>(a)</B> <B> </B>under intellectual property rights (other
|
||||
than patent or trademark) Licensable by Contributor, to use, reproduce,
|
||||
modify, display, perform, sublicense and distribute the Modifications
|
||||
created by such Contributor (or portions thereof) either on an unmodified
|
||||
basis, with other Modifications, as Covered Code and/or as part of a Larger
|
||||
Work; and
|
||||
<P><B>(b)</B> under Patent Claims infringed by the making, using, or selling
|
||||
of Modifications made by that Contributor either alone and/or in<FONT
|
||||
color=#000000> combination with its Contributor Version (or portions of such
|
||||
combination), to make, use, sell, offer for sale, have made, and/or
|
||||
otherwise dispose of: 1) Modifications made by that Contributor (or portions
|
||||
thereof); and 2) the combination of Modifications made by that
|
||||
Contributor with its Contributor Version (or portions of such
|
||||
combination).</FONT>
|
||||
<P><B>(c) </B>the licenses granted in Sections 2.2(a) and 2.2(b) are
|
||||
effective on the date Contributor first makes Commercial Use of the Covered
|
||||
Code.
|
||||
<P><B>(d) </B> Notwithstanding Section 2.2(b) above, no
|
||||
patent license is granted: 1) for any code that Contributor has deleted from
|
||||
the Contributor Version; 2) separate from the Contributor
|
||||
Version; 3) for infringements caused by: i) third party
|
||||
modifications of Contributor Version or ii) the combination of
|
||||
Modifications made by that Contributor with other software (except as
|
||||
part of the Contributor Version) or other devices; or 4) under Patent Claims
|
||||
infringed by Covered Code in the absence of Modifications made by that
|
||||
Contributor.</P></UL>
|
||||
</UL>
|
||||
<P><BR><B>3. Distribution Obligations.</B>
|
||||
<UL><B>3.1. Application of License.</B> <BR>The Modifications which You create
|
||||
or to which You contribute are governed by the terms of this License,
|
||||
including without limitation Section <B>2.2</B>. The Source Code version of
|
||||
Covered Code may be distributed only under the terms of this License or a
|
||||
future version of this License released under Section <B>6.1</B>, and You must
|
||||
include a copy of this License with every copy of the Source Code You
|
||||
distribute. You may not offer or impose any terms on any Source Code version
|
||||
that alters or restricts the applicable version of this License or the
|
||||
recipients' rights hereunder. However, You may include an additional document
|
||||
offering the additional rights described in Section <B>3.5</B>.
|
||||
<P><B>3.2. Availability of Source Code.</B> <BR>Any Modification which You
|
||||
create or to which You contribute must be made available in Source Code form
|
||||
under the terms of this License either on the same media as an Executable
|
||||
version or via an accepted Electronic Distribution Mechanism to anyone to whom
|
||||
you made an Executable version available; and if made available via Electronic
|
||||
Distribution Mechanism, must remain available for at least twelve (12) months
|
||||
after the date it initially became available, or at least six (6) months after
|
||||
a subsequent version of that particular Modification has been made available
|
||||
to such recipients. You are responsible for ensuring that the Source Code
|
||||
version remains available even if the Electronic Distribution Mechanism is
|
||||
maintained by a third party.
|
||||
<P><B>3.3. Description of Modifications.</B> <BR>You must cause all Covered
|
||||
Code to which You contribute to contain a file documenting the changes You
|
||||
made to create that Covered Code and the date of any change. You must include
|
||||
a prominent statement that the Modification is derived, directly or
|
||||
indirectly, from Original Code provided by the Initial Developer and including
|
||||
the name of the Initial Developer in (a) the Source Code, and (b) in any
|
||||
notice in an Executable version or related documentation in which You describe
|
||||
the origin or ownership of the Covered Code.
|
||||
<P><B>3.4. Intellectual Property Matters</B>
|
||||
<UL><B>(a) Third Party Claims</B>. <BR>If Contributor has knowledge that a
|
||||
license under a third party's intellectual property rights is required to
|
||||
exercise the rights granted by such Contributor under Sections 2.1 or 2.2,
|
||||
Contributor must include a text file with the Source Code distribution
|
||||
titled "LEGAL'' which describes the claim and the party making the claim in
|
||||
sufficient detail that a recipient will know whom to contact. If Contributor
|
||||
obtains such knowledge after the Modification is made available as described
|
||||
in Section 3.2, Contributor shall promptly modify the LEGAL file in all
|
||||
copies Contributor makes available thereafter and shall take other steps
|
||||
(such as notifying appropriate mailing lists or newsgroups) reasonably
|
||||
calculated to inform those who received the Covered Code that new knowledge
|
||||
has been obtained.
|
||||
<P><B>(b) Contributor APIs</B>. <BR>If Contributor's Modifications include
|
||||
an application programming interface and Contributor has knowledge of patent
|
||||
licenses which are reasonably necessary to implement that API, Contributor
|
||||
must also include this information in the LEGAL file.
|
||||
<BR> </P></UL>
|
||||
<B>(c) Representations.</B>
|
||||
<UL>Contributor represents that, except as disclosed pursuant to Section
|
||||
3.4(a) above, Contributor believes that Contributor's Modifications are
|
||||
Contributor's original creation(s) and/or Contributor has sufficient rights
|
||||
to grant the rights conveyed by this License.</UL>
|
||||
<P><BR><B>3.5. Required Notices.</B> <BR>You must duplicate the notice in
|
||||
<B>Exhibit A</B> in each file of the Source Code. If it is not possible
|
||||
to put such notice in a particular Source Code file due to its structure, then
|
||||
You must include such notice in a location (such as a relevant directory)
|
||||
where a user would be likely to look for such a notice. If You created
|
||||
one or more Modification(s) You may add your name as a Contributor to the
|
||||
notice described in <B>Exhibit A</B>. You must also duplicate this
|
||||
License in any documentation for the Source Code where You describe
|
||||
recipients' rights or ownership rights relating to Covered Code. You may
|
||||
choose to offer, and to charge a fee for, warranty, support, indemnity or
|
||||
liability obligations to one or more recipients of Covered Code. However, You
|
||||
may do so only on Your own behalf, and not on behalf of the Initial Developer
|
||||
or any Contributor. You must make it absolutely clear than any such warranty,
|
||||
support, indemnity or liability obligation is offered by You alone, and You
|
||||
hereby agree to indemnify the Initial Developer and every Contributor for any
|
||||
liability incurred by the Initial Developer or such Contributor as a result of
|
||||
warranty, support, indemnity or liability terms You offer.
|
||||
<P><B>3.6. Distribution of Executable Versions.</B> <BR>You may distribute
|
||||
Covered Code in Executable form only if the requirements of Section
|
||||
<B>3.1-3.5</B> have been met for that Covered Code, and if You include a
|
||||
notice stating that the Source Code version of the Covered Code is available
|
||||
under the terms of this License, including a description of how and where You
|
||||
have fulfilled the obligations of Section <B>3.2</B>. The notice must be
|
||||
conspicuously included in any notice in an Executable version, related
|
||||
documentation or collateral in which You describe recipients' rights relating
|
||||
to the Covered Code. You may distribute the Executable version of Covered Code
|
||||
or ownership rights under a license of Your choice, which may contain terms
|
||||
different from this License, provided that You are in compliance with the
|
||||
terms of this License and that the license for the Executable version does not
|
||||
attempt to limit or alter the recipient's rights in the Source Code version
|
||||
from the rights set forth in this License. If You distribute the Executable
|
||||
version under a different license You must make it absolutely clear that any
|
||||
terms which differ from this License are offered by You alone, not by the
|
||||
Initial Developer or any Contributor. You hereby agree to indemnify the
|
||||
Initial Developer and every Contributor for any liability incurred by the
|
||||
Initial Developer or such Contributor as a result of any such terms You offer.
|
||||
or to which You contribute are governed by the terms of this License,
|
||||
including without limitation Section <B>2.2</B>. The Source Code version of
|
||||
Covered Code may be distributed only under the terms of this License or a
|
||||
future version of this License released under Section <B>6.1</B>, and You must
|
||||
include a copy of this License with every copy of the Source Code You
|
||||
distribute. You may not offer or impose any terms on any Source Code version
|
||||
that alters or restricts the applicable version of this License or the
|
||||
recipients' rights hereunder. However, You may include an additional document
|
||||
offering the additional rights described in Section <B>3.5</B>.
|
||||
<P><B>3.2. Availability of Source Code.</B> <BR>Any Modification which You
|
||||
create or to which You contribute must be made available in Source Code form
|
||||
under the terms of this License either on the same media as an Executable
|
||||
version or via an accepted Electronic Distribution Mechanism to anyone to whom
|
||||
you made an Executable version available; and if made available via Electronic
|
||||
Distribution Mechanism, must remain available for at least twelve (12) months
|
||||
after the date it initially became available, or at least six (6) months after
|
||||
a subsequent version of that particular Modification has been made available
|
||||
to such recipients. You are responsible for ensuring that the Source Code
|
||||
version remains available even if the Electronic Distribution Mechanism is
|
||||
maintained by a third party.
|
||||
<P><B>3.3. Description of Modifications.</B> <BR>You must cause all Covered
|
||||
Code to which You contribute to contain a file documenting the changes You
|
||||
made to create that Covered Code and the date of any change. You must include
|
||||
a prominent statement that the Modification is derived, directly or
|
||||
indirectly, from Original Code provided by the Initial Developer and including
|
||||
the name of the Initial Developer in (a) the Source Code, and (b) in any
|
||||
notice in an Executable version or related documentation in which You describe
|
||||
the origin or ownership of the Covered Code.
|
||||
<P><B>3.4. Intellectual Property Matters</B>
|
||||
<UL><B>(a) Third Party Claims</B>. <BR>If Contributor has knowledge that a
|
||||
license under a third party's intellectual property rights is required to
|
||||
exercise the rights granted by such Contributor under Sections 2.1 or 2.2,
|
||||
Contributor must include a text file with the Source Code distribution
|
||||
titled "LEGAL'' which describes the claim and the party making the claim in
|
||||
sufficient detail that a recipient will know whom to contact. If Contributor
|
||||
obtains such knowledge after the Modification is made available as described
|
||||
in Section 3.2, Contributor shall promptly modify the LEGAL file in all
|
||||
copies Contributor makes available thereafter and shall take other steps
|
||||
(such as notifying appropriate mailing lists or newsgroups) reasonably
|
||||
calculated to inform those who received the Covered Code that new knowledge
|
||||
has been obtained.
|
||||
<P><B>(b) Contributor APIs</B>. <BR>If Contributor's Modifications include
|
||||
an application programming interface and Contributor has knowledge of patent
|
||||
licenses which are reasonably necessary to implement that API, Contributor
|
||||
must also include this information in the LEGAL file.
|
||||
<BR> </P></UL>
|
||||
<B>(c) Representations.</B>
|
||||
<UL>Contributor represents that, except as disclosed pursuant to Section
|
||||
3.4(a) above, Contributor believes that Contributor's Modifications are
|
||||
Contributor's original creation(s) and/or Contributor has sufficient rights
|
||||
to grant the rights conveyed by this License.
|
||||
</UL>
|
||||
<P><BR><B>3.5. Required Notices.</B> <BR>You must duplicate the notice in
|
||||
<B>Exhibit A</B> in each file of the Source Code. If it is not possible
|
||||
to put such notice in a particular Source Code file due to its structure, then
|
||||
You must include such notice in a location (such as a relevant directory)
|
||||
where a user would be likely to look for such a notice. If You created
|
||||
one or more Modification(s) You may add your name as a Contributor to the
|
||||
notice described in <B>Exhibit A</B>. You must also duplicate this
|
||||
License in any documentation for the Source Code where You describe
|
||||
recipients' rights or ownership rights relating to Covered Code. You may
|
||||
choose to offer, and to charge a fee for, warranty, support, indemnity or
|
||||
liability obligations to one or more recipients of Covered Code. However, You
|
||||
may do so only on Your own behalf, and not on behalf of the Initial Developer
|
||||
or any Contributor. You must make it absolutely clear than any such warranty,
|
||||
support, indemnity or liability obligation is offered by You alone, and You
|
||||
hereby agree to indemnify the Initial Developer and every Contributor for any
|
||||
liability incurred by the Initial Developer or such Contributor as a result of
|
||||
warranty, support, indemnity or liability terms You offer.
|
||||
<P><B>3.6. Distribution of Executable Versions.</B> <BR>You may distribute
|
||||
Covered Code in Executable form only if the requirements of Section
|
||||
<B>3.1-3.5</B> have been met for that Covered Code, and if You include a
|
||||
notice stating that the Source Code version of the Covered Code is available
|
||||
under the terms of this License, including a description of how and where You
|
||||
have fulfilled the obligations of Section <B>3.2</B>. The notice must be
|
||||
conspicuously included in any notice in an Executable version, related
|
||||
documentation or collateral in which You describe recipients' rights relating
|
||||
to the Covered Code. You may distribute the Executable version of Covered Code
|
||||
or ownership rights under a license of Your choice, which may contain terms
|
||||
different from this License, provided that You are in compliance with the
|
||||
terms of this License and that the license for the Executable version does not
|
||||
attempt to limit or alter the recipient's rights in the Source Code version
|
||||
from the rights set forth in this License. If You distribute the Executable
|
||||
version under a different license You must make it absolutely clear that any
|
||||
terms which differ from this License are offered by You alone, not by the
|
||||
Initial Developer or any Contributor. You hereby agree to indemnify the
|
||||
Initial Developer and every Contributor for any liability incurred by the
|
||||
Initial Developer or such Contributor as a result of any such terms You offer.
|
||||
|
||||
<P><B>3.7. Larger Works.</B> <BR>You may create a Larger Work by combining
|
||||
Covered Code with other code not governed by the terms of this License and
|
||||
distribute the Larger Work as a single product. In such a case, You must make
|
||||
sure the requirements of this License are fulfilled for the Covered
|
||||
Code.</P></UL><B>4. Inability to Comply Due to Statute or Regulation.</B>
|
||||
<P><B>3.7. Larger Works.</B> <BR>You may create a Larger Work by combining
|
||||
Covered Code with other code not governed by the terms of this License and
|
||||
distribute the Larger Work as a single product. In such a case, You must make
|
||||
sure the requirements of this License are fulfilled for the Covered
|
||||
Code.</P></UL>
|
||||
<B>4. Inability to Comply Due to Statute or Regulation.</B>
|
||||
<UL>If it is impossible for You to comply with any of the terms of this
|
||||
License with respect to some or all of the Covered Code due to statute,
|
||||
judicial order, or regulation then You must: (a) comply with the terms of this
|
||||
License to the maximum extent possible; and (b) describe the limitations and
|
||||
the code they affect. Such description must be included in the LEGAL file
|
||||
described in Section <B>3.4</B> and must be included with all distributions of
|
||||
the Source Code. Except to the extent prohibited by statute or regulation,
|
||||
such description must be sufficiently detailed for a recipient of ordinary
|
||||
skill to be able to understand it.</UL><B>5. Application of this License.</B>
|
||||
License with respect to some or all of the Covered Code due to statute,
|
||||
judicial order, or regulation then You must: (a) comply with the terms of this
|
||||
License to the maximum extent possible; and (b) describe the limitations and
|
||||
the code they affect. Such description must be included in the LEGAL file
|
||||
described in Section <B>3.4</B> and must be included with all distributions of
|
||||
the Source Code. Except to the extent prohibited by statute or regulation,
|
||||
such description must be sufficiently detailed for a recipient of ordinary
|
||||
skill to be able to understand it.
|
||||
</UL>
|
||||
<B>5. Application of this License.</B>
|
||||
<UL>This License applies to code to which the Initial Developer has attached
|
||||
the notice in <B>Exhibit A</B> and to related Covered Code.</UL><B>6. Versions
|
||||
of the License.</B>
|
||||
the notice in <B>Exhibit A</B> and to related Covered Code.
|
||||
</UL>
|
||||
<B>6. Versions
|
||||
of the License.</B>
|
||||
<UL><B>6.1. New Versions</B>. <BR>Netscape Communications Corporation
|
||||
(''Netscape'') may publish revised and/or new versions of the License from
|
||||
time to time. Each version will be given a distinguishing version number.
|
||||
<P><B>6.2. Effect of New Versions</B>. <BR>Once Covered Code has been
|
||||
published under a particular version of the License, You may always continue
|
||||
to use it under the terms of that version. You may also choose to use such
|
||||
Covered Code under the terms of any subsequent version of the License
|
||||
published by Netscape. No one other than Netscape has the right to modify the
|
||||
terms applicable to Covered Code created under this License.
|
||||
<P><B>6.3. Derivative Works</B>. <BR>If You create or use a modified version
|
||||
of this License (which you may only do in order to apply it to code which is
|
||||
not already Covered Code governed by this License), You must (a) rename Your
|
||||
license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'',
|
||||
''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear
|
||||
in your license (except to note that your license differs from this License)
|
||||
and (b) otherwise make it clear that Your version of the license contains
|
||||
terms which differ from the Mozilla Public License and Netscape Public
|
||||
License. (Filling in the name of the Initial Developer, Original Code or
|
||||
Contributor in the notice described in <B>Exhibit A</B> shall not of
|
||||
themselves be deemed to be modifications of this License.)</P></UL><B>7.
|
||||
DISCLAIMER OF WARRANTY.</B>
|
||||
(''Netscape'') may publish revised and/or new versions of the License from
|
||||
time to time. Each version will be given a distinguishing version number.
|
||||
<P><B>6.2. Effect of New Versions</B>. <BR>Once Covered Code has been
|
||||
published under a particular version of the License, You may always continue
|
||||
to use it under the terms of that version. You may also choose to use such
|
||||
Covered Code under the terms of any subsequent version of the License
|
||||
published by Netscape. No one other than Netscape has the right to modify the
|
||||
terms applicable to Covered Code created under this License.
|
||||
<P><B>6.3. Derivative Works</B>. <BR>If You create or use a modified version
|
||||
of this License (which you may only do in order to apply it to code which is
|
||||
not already Covered Code governed by this License), You must (a) rename Your
|
||||
license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'',
|
||||
''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear
|
||||
in your license (except to note that your license differs from this License)
|
||||
and (b) otherwise make it clear that Your version of the license contains
|
||||
terms which differ from the Mozilla Public License and Netscape Public
|
||||
License. (Filling in the name of the Initial Developer, Original Code or
|
||||
Contributor in the notice described in <B>Exhibit A</B> shall not of
|
||||
themselves be deemed to be modifications of this License.)</P></UL>
|
||||
<B>7.
|
||||
DISCLAIMER OF WARRANTY.</B>
|
||||
<UL>COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT
|
||||
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
|
||||
LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE,
|
||||
FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
|
||||
QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED
|
||||
CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
|
||||
OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR
|
||||
CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
|
||||
LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
|
||||
DISCLAIMER.</UL><B>8. TERMINATION.</B>
|
||||
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
|
||||
LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE,
|
||||
FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
|
||||
QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED
|
||||
CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
|
||||
OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR
|
||||
CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
|
||||
LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
|
||||
DISCLAIMER.
|
||||
</UL>
|
||||
<B>8. TERMINATION.</B>
|
||||
<UL><B>8.1. </B>This License and the rights granted hereunder will
|
||||
terminate automatically if You fail to comply with terms herein and fail to
|
||||
cure such breach within 30 days of becoming aware of the breach. All
|
||||
sublicenses to the Covered Code which are properly granted shall survive any
|
||||
termination of this License. Provisions which, by their nature, must remain in
|
||||
effect beyond the termination of this License shall survive.
|
||||
<P><B>8.2. </B>If You initiate litigation by asserting a patent
|
||||
infringement claim (excluding declatory judgment actions) against Initial
|
||||
Developer or a Contributor (the Initial Developer or Contributor against whom
|
||||
You file such action is referred to as "Participant") alleging that:
|
||||
<P><B>(a) </B>such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent, then any and all rights granted by such
|
||||
Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon
|
||||
60 days notice from Participant terminate prospectively, unless if within 60
|
||||
days after receipt of notice You either: (i) agree in writing to pay
|
||||
Participant a mutually agreeable reasonable royalty for Your past and future
|
||||
use of Modifications made by such Participant, or (ii) withdraw Your
|
||||
litigation claim with respect to the Contributor Version against such
|
||||
Participant. If within 60 days of notice, a reasonable royalty and
|
||||
payment arrangement are not mutually agreed upon in writing by the parties or
|
||||
the litigation claim is not withdrawn, the rights granted by Participant to
|
||||
You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of
|
||||
the 60 day notice period specified above.
|
||||
<P><B>(b)</B> any software, hardware, or device, other than such
|
||||
Participant's Contributor Version, directly or indirectly infringes any
|
||||
patent, then any rights granted to You by such Participant under Sections
|
||||
2.1(b) and 2.2(b) are revoked effective as of the date You first made, used,
|
||||
sold, distributed, or had made, Modifications made by that Participant.
|
||||
<P><B>8.3. </B>If You assert a patent infringement claim against
|
||||
Participant alleging that such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent where such claim is resolved (such as by
|
||||
license or settlement) prior to the initiation of patent infringement
|
||||
litigation, then the reasonable value of the licenses granted by such
|
||||
Participant under Sections 2.1 or 2.2 shall be taken into account in
|
||||
determining the amount or value of any payment or license.
|
||||
<P><B>8.4.</B> In the event of termination under Sections 8.1 or 8.2
|
||||
above, all end user license agreements (excluding distributors and
|
||||
resellers) which have been validly granted by You or any distributor hereunder
|
||||
prior to termination shall survive termination.</P></UL><B>9. LIMITATION OF
|
||||
LIABILITY.</B>
|
||||
terminate automatically if You fail to comply with terms herein and fail to
|
||||
cure such breach within 30 days of becoming aware of the breach. All
|
||||
sublicenses to the Covered Code which are properly granted shall survive any
|
||||
termination of this License. Provisions which, by their nature, must remain in
|
||||
effect beyond the termination of this License shall survive.
|
||||
<P><B>8.2. </B>If You initiate litigation by asserting a patent
|
||||
infringement claim (excluding declatory judgment actions) against Initial
|
||||
Developer or a Contributor (the Initial Developer or Contributor against whom
|
||||
You file such action is referred to as "Participant") alleging that:
|
||||
<P><B>(a) </B>such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent, then any and all rights granted by such
|
||||
Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon
|
||||
60 days notice from Participant terminate prospectively, unless if within 60
|
||||
days after receipt of notice You either: (i) agree in writing to pay
|
||||
Participant a mutually agreeable reasonable royalty for Your past and future
|
||||
use of Modifications made by such Participant, or (ii) withdraw Your
|
||||
litigation claim with respect to the Contributor Version against such
|
||||
Participant. If within 60 days of notice, a reasonable royalty and
|
||||
payment arrangement are not mutually agreed upon in writing by the parties or
|
||||
the litigation claim is not withdrawn, the rights granted by Participant to
|
||||
You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of
|
||||
the 60 day notice period specified above.
|
||||
<P><B>(b)</B> any software, hardware, or device, other than such
|
||||
Participant's Contributor Version, directly or indirectly infringes any
|
||||
patent, then any rights granted to You by such Participant under Sections
|
||||
2.1(b) and 2.2(b) are revoked effective as of the date You first made, used,
|
||||
sold, distributed, or had made, Modifications made by that Participant.
|
||||
<P><B>8.3. </B>If You assert a patent infringement claim against
|
||||
Participant alleging that such Participant's Contributor Version directly or
|
||||
indirectly infringes any patent where such claim is resolved (such as by
|
||||
license or settlement) prior to the initiation of patent infringement
|
||||
litigation, then the reasonable value of the licenses granted by such
|
||||
Participant under Sections 2.1 or 2.2 shall be taken into account in
|
||||
determining the amount or value of any payment or license.
|
||||
<P><B>8.4.</B> In the event of termination under Sections 8.1 or 8.2
|
||||
above, all end user license agreements (excluding distributors and
|
||||
resellers) which have been validly granted by You or any distributor hereunder
|
||||
prior to termination shall survive termination.</P></UL>
|
||||
<B>9. LIMITATION OF
|
||||
LIABILITY.</B>
|
||||
<UL>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING
|
||||
NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY
|
||||
OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY
|
||||
OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
|
||||
INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
|
||||
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
|
||||
MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH
|
||||
PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
|
||||
LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
|
||||
INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
|
||||
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
|
||||
LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND
|
||||
LIMITATION MAY NOT APPLY TO YOU.</UL><B>10. U.S. GOVERNMENT END USERS.</B>
|
||||
NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY
|
||||
OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY
|
||||
OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
|
||||
INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
|
||||
LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
|
||||
MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH
|
||||
PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
|
||||
LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
|
||||
INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
|
||||
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
|
||||
LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND
|
||||
LIMITATION MAY NOT APPLY TO YOU.
|
||||
</UL>
|
||||
<B>10. U.S. GOVERNMENT END USERS.</B>
|
||||
<UL>The Covered Code is a ''commercial item,'' as that term is defined in 48
|
||||
C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and
|
||||
''commercial computer software documentation,'' as such terms are used in 48
|
||||
C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R.
|
||||
227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users
|
||||
acquire Covered Code with only those rights set forth herein.</UL><B>11.
|
||||
MISCELLANEOUS.</B>
|
||||
C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and
|
||||
''commercial computer software documentation,'' as such terms are used in 48
|
||||
C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R.
|
||||
227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users
|
||||
acquire Covered Code with only those rights set forth herein.
|
||||
</UL>
|
||||
<B>11.
|
||||
MISCELLANEOUS.</B>
|
||||
<UL>This License represents the complete agreement concerning subject matter
|
||||
hereof. If any provision of this License is held to be unenforceable, such
|
||||
provision shall be reformed only to the extent necessary to make it
|
||||
enforceable. This License shall be governed by California law provisions
|
||||
(except to the extent applicable law, if any, provides otherwise), excluding
|
||||
its conflict-of-law provisions. With respect to disputes in which at least one
|
||||
party is a citizen of, or an entity chartered or registered to do business in
|
||||
the United States of America, any litigation relating to this License shall be
|
||||
subject to the jurisdiction of the Federal Courts of the Northern District of
|
||||
California, with venue lying in Santa Clara County, California, with the
|
||||
losing party responsible for costs, including without limitation, court costs
|
||||
and reasonable attorneys' fees and expenses. The application of the United
|
||||
Nations Convention on Contracts for the International Sale of Goods is
|
||||
expressly excluded. Any law or regulation which provides that the language of
|
||||
a contract shall be construed against the drafter shall not apply to this
|
||||
License.</UL><B>12. RESPONSIBILITY FOR CLAIMS.</B>
|
||||
hereof. If any provision of this License is held to be unenforceable, such
|
||||
provision shall be reformed only to the extent necessary to make it
|
||||
enforceable. This License shall be governed by California law provisions
|
||||
(except to the extent applicable law, if any, provides otherwise), excluding
|
||||
its conflict-of-law provisions. With respect to disputes in which at least one
|
||||
party is a citizen of, or an entity chartered or registered to do business in
|
||||
the United States of America, any litigation relating to this License shall be
|
||||
subject to the jurisdiction of the Federal Courts of the Northern District of
|
||||
California, with venue lying in Santa Clara County, California, with the
|
||||
losing party responsible for costs, including without limitation, court costs
|
||||
and reasonable attorneys' fees and expenses. The application of the United
|
||||
Nations Convention on Contracts for the International Sale of Goods is
|
||||
expressly excluded. Any law or regulation which provides that the language of
|
||||
a contract shall be construed against the drafter shall not apply to this
|
||||
License.
|
||||
</UL>
|
||||
<B>12. RESPONSIBILITY FOR CLAIMS.</B>
|
||||
<UL>As between Initial Developer and the Contributors, each party is
|
||||
responsible for claims and damages arising, directly or indirectly, out of its
|
||||
utilization of rights under this License and You agree to work with Initial
|
||||
Developer and Contributors to distribute such responsibility on an equitable
|
||||
basis. Nothing herein is intended or shall be deemed to constitute any
|
||||
admission of liability.</UL><B>13. MULTIPLE-LICENSED CODE.</B>
|
||||
responsible for claims and damages arising, directly or indirectly, out of its
|
||||
utilization of rights under this License and You agree to work with Initial
|
||||
Developer and Contributors to distribute such responsibility on an equitable
|
||||
basis. Nothing herein is intended or shall be deemed to constitute any
|
||||
admission of liability.
|
||||
</UL>
|
||||
<B>13. MULTIPLE-LICENSED CODE.</B>
|
||||
<UL>Initial Developer may designate portions of the Covered Code as
|
||||
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
|
||||
Developer permits you to utilize portions of the Covered Code under Your
|
||||
choice of the MPL or the alternative licenses, if any, specified by the
|
||||
Initial Developer in the file described in Exhibit A.</UL>
|
||||
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
|
||||
Developer permits you to utilize portions of the Covered Code under Your
|
||||
choice of the MPL or the alternative licenses, if any, specified by the
|
||||
Initial Developer in the file described in Exhibit A.
|
||||
</UL>
|
||||
<P><BR><B>EXHIBIT A -Mozilla Public License.</B>
|
||||
<UL>The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
<BR>http://www.mozilla.org/MPL/
|
||||
<P>Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
<P>The Original Code is Javassist.
|
||||
<P>The Initial Developer of the Original Code is Shigeru Chiba.
|
||||
Portions created by the Initial Developer are<BR>
|
||||
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
|
||||
<P>Contributor(s): __Bill Burke, Jason T. Greene______________.
|
||||
Version 1.1 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
<BR>http://www.mozilla.org/MPL/
|
||||
<P>Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
<P>The Original Code is Javassist.
|
||||
<P>The Initial Developer of the Original Code is Shigeru Chiba.
|
||||
Portions created by the Initial Developer are<BR>
|
||||
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
|
||||
<P>Contributor(s): __Bill Burke, Jason T. Greene______________.
|
||||
|
||||
<p>Alternatively, the contents of this software may be used under the
|
||||
terms of the GNU Lesser General Public License Version 2.1 or later
|
||||
(the "LGPL"), or the Apache License Version 2.0 (the "AL"),
|
||||
in which case the provisions of the LGPL or the AL are applicable
|
||||
instead of those above. If you wish to allow use of your version of
|
||||
this software only under the terms of either the LGPL or the AL, and not to allow others to
|
||||
use your version of this software under the terms of the MPL, indicate
|
||||
your decision by deleting the provisions above and replace them with
|
||||
the notice and other provisions required by the LGPL or the AL. If you do not
|
||||
delete the provisions above, a recipient may use your version of this
|
||||
software under the terms of any one of the MPL, the LGPL or the AL.</p>
|
||||
<p>Alternatively, the contents of this software may be used under the
|
||||
terms of the GNU Lesser General Public License Version 2.1 or later
|
||||
(the "LGPL"), or the Apache License Version 2.0 (the "AL"),
|
||||
in which case the provisions of the LGPL or the AL are applicable
|
||||
instead of those above. If you wish to allow use of your version of
|
||||
this software only under the terms of either the LGPL or the AL, and not to allow others to
|
||||
use your version of this software under the terms of the MPL, indicate
|
||||
your decision by deleting the provisions above and replace them with
|
||||
the notice and other provisions required by the LGPL or the AL. If you do not
|
||||
delete the provisions above, a recipient may use your version of this
|
||||
software under the terms of any one of the MPL, the LGPL or the AL.</p>
|
||||
|
||||
<p>If you obtain this software as part of JBoss,
|
||||
the contents of this software may be used under only the terms of the LGPL.
|
||||
To use them under the MPL, you must obtain a separate package including only
|
||||
Javassist but not the other part of JBoss.</p>
|
||||
<p>If you obtain this software as part of JBoss,
|
||||
the contents of this software may be used under only the terms of the LGPL.
|
||||
To use them under the MPL, you must obtain a separate package including only
|
||||
Javassist but not the other part of JBoss.</p>
|
||||
|
||||
<p>All the contributors to the original source tree have agreed to the original
|
||||
license term described above.</p>
|
||||
<p>All the contributors to the original source tree have agreed to the original
|
||||
license term described above.</p>
|
||||
|
||||
<P></P></UL>
|
||||
<P></P></UL>
|
||||
</BODY>
|
||||
</HTML>
|
||||
Reference in New Issue
Block a user