Saxon has been under development since 1998. Almost all the code was written by
one person, Michael Kay, which has resulted in a high level of design integrity.
Saxon was originally written to support an internal project in ICL (now part of Fujitsu),
and ICL continued to sponsor development of Saxon until Michael Kay left the company
in January 2001. ICL chose not to market it as a commercial product, but to make the code available to the public
under the Mozilla public license. From 2001 through 2003 Michael Kay worked
for Software AG, who continued
to sponsor the development of Saxon as an open source product.
In March 2004 Michael Kay founded Saxonica Limited to provide
ongoing development and support of Saxon as a commercial venture. Saxonica continues to
develop the basic (non-schema-aware) version of Saxon as an open source product, while at the same
time delivering professional services and additional software (including a schema-aware processor)
as commercial offerings. The commercial product incorporates the code of the open-source product
in its entirety, with the addition of schema-processing technology, and is produced in accordance with the provisions
defined by the Mozilla Public License.
The port of Saxon to the .NET platform was pioneered by Pieter Siegers Kort and M. David Peterson, without
any involvement from Saxonica. The port was absorbed into the Saxonica product line from Saxon 8.7 onwards.
The Saxonica product uses the same approach as the previous Saxon.NET product
for cross-compiling the code into CIL assemblies. In addition, however, it includes a new .NET API
for use by C# and other .NET applications, and makes much greater use of .NET services such as
collations and regular expression processing. This integration was done by Saxonica with generous
assistance from M. David Peterson. The project would not have been possible without the IKVMC
cross-compilation technology developed by Jeroen Frijters, as well as the GNU Classpath developed
by a large team of individual enthusiasts.
It is unfortunately not possible to release Saxon under any license other than the Mozilla Public License.
This is because it is not practically feasible to obtain the necessary permission from all the people who originally
agreed to the release of code under the MPL.
The name Saxon was chosen because originally it was a layer on top of SAX. Also, it originally used
the Ælfred parser (among others); Ælfred of course was a Saxon king...