This page describes Category C components as defined above: components that are redistributed
with Saxon in binary form, without source-level alteration. (The ICU library is included in this
category, though the version that is distributed has been tailored to Saxon's needs using the
configuration facilities available within the ICL product.)
Saxon on Java
Saxon-EE, on both Java and .NET, includes the ASM bytecode generation library. The code is
issued without modification, except that on .NET it is cross-compiled to .NET IL form.
The license can be found at http://asm.ow2.org/license.html
Applicable notice: ASM.txt
XQJ is a Java API for XQuery, supported by a number of XQuery implementations including
Saxon. To support this API, Saxon necessarily includes the Java files that define the
These files are copyright (c) Oracle Corporation. They are used under a license which permits
use and redistribution. The license however does not qualify as an open source license under
the rules of the Open Source Initiative, because it explicitly prohibits modification of the
relevant files. For this reason XQJ is issued as a free-standing JAR file in the open-source Saxon-HE
The license for XQJ is provided in the JSR 225 specification. This contains separate licenses
for the specification, the reference implementation, and the "technology compatibility kit"
(that is, the reference tests). Saxonica considers that the Java interface files are part of
the specification and are licensed under the conditions that apply to the specification. These
conditions are as follows:
Saxonica certifies that the Saxon product, as an implementation of XQJ, satisfies the
conditions of this license (for example, it passes the tests in the TCK).
See http://www.ikvm.net/. Can be downloaded from
http://sourceforge.net/project/showfiles.php?group_id=69637. Saxon links dynamically to this
License is at http://weblog.ikvm.net/story.aspx/license
Applicable notice: FRIJTERS.txt
The copy of OpenJDK Classpath released with Saxon on .NET is a derived from the version that
is released as part of IKVM Runtime (see above). This in turn is derived largely from the Sun
OpenJDK distribution, together with some components taken from the Red Hat IcedTea library,
compiled into CIL code using IKVMC. Saxon 9.1 uses IKVM 0.40.0.1, which in turn uses OpenJDK 7
Saxon distributes only the parts of this library that are actually needed. These parts have
been rebuilt from source code, but no source modifications have been made.
Saxon links dynamically to this DLL.
The license conditions are at http://openjdk.java.net/legal/gplv2+ce.html. (This is a modified
variant of the GNU Public License version 2, with a special clause allowing it to be used as
part of a product that is not itself open source.)
Applicable notice: GPL+CLASSPATH.txt
Rather than distributing the Sun version of Xerces that comes with the OpenJDK library, Saxon
instead distributes the Apache version of Xerces. (The two versions have diverged
considerably. The Apache version is used because it is considered more reliable and is also
easier to integrate because it does not have unnecessary dependencies on other parts of the
The two Apache JAR files xercesImpl.jar and resolver.jar have been
cross-compiled to IL code using the IKVMC compiler, but are otherwise unmodified.
Supporting the saxon:parse-html() extension function, the code of TagSoup
version 1.2 is included in the Saxon-PE and Saxon-EE distributions on .NET. Apart from
cross-compiling from Java bytecode to IL code, the code is unmodified.