Project

Profile

Help

How to connect?
Download (53.3 KB) Statistics
| Branch: | Revision:

he / src / userdoc / conditions.xml @ d9cb5c62

1
<?xml version="1.0" encoding="utf-8"?>
2
<article id="conditions" title="Licensing">
3
  <h1>Licensing</h1>
4

    
5

    
6
  <p>This section of the documentation provides information about Saxon licensing, including
7
    required <dfn>notices</dfn> for open-source <dfn>components</dfn> that have been incorporated
8
    into Saxon, and acknowledgments of contributors.</p>
9

    
10
  <p>This documentation relates both to the open source Saxon-HE product and to the commercial
11
    products Saxon-PE and Saxon-EE. The conditions of use are of course different in the two cases;
12
    there are also differences in the third-party components that are included.</p>
13

    
14
  <p>The information in this section applies to both the Java and .NET versions of Saxon, unless
15
    otherwise specified.</p>
16
  
17
  <p>The source code of Saxon can be considered for <dfn>licensing</dfn> purposes as having four
18
    parts:</p>
19
  <ul>
20
    <li>
21
      <p><i>Category A</i> consists of open-source code which was written as part of Saxon either by the initial
22
        developer, or by another contributor. All such components are subject only to the MPL 2.0
23
        license. Details of third-party <a class="bodylink" href="contributors">Contributions</a> is provided, for
24
        information.</p>
25
    </li>
26
    <li>
27
      <p><i>Category B</i> code was originally produced as part of some other product and
28
        subsequently incorporated (with varying degrees of modification) into Saxon by way of source
29
        code integration. Many of these components have their own license conditions: these are in
30
        all cases licenses similar in form to either the Mozilla Public License, the Apache license,
31
        or the BSD license. All these licenses are "non-viral": they permit the code to be combined
32
        into a commercial product without requiring the commercial code to become open source. In
33
        some cases the license conditions require the origin of the code to be acknowledged,
34
        typically by including a notice in all distributions of the product. These notices are
35
        provided in the <code>notices</code> directory of the Saxon product as distributed, and the
36
        documentation provides a table listing all these <a class="bodylink"
37
          href="third-party-components">Third-party code components</a>.</p>
38
    </li>
39
    <li>
40
      <p><i>Category C</i> code consists of components that are included unchanged in the Saxon
41
        distribution in binary form, for the convenience of users to avoid the need for a separate
42
        download. (In the Java product this includes the ASM library for bytecode generation, the
43
        XQJ interface definitions, and the JLine 2 library for interactive console input; 
44
        in the .NET product it also includes the IKVMC and OpenJDK
45
        runtimes, the Apache <dfn>Xerces</dfn> parser, and the <dfn>TagSoup</dfn> HTML parser.)
46
        These are listed as <a class="bodylink" href="redistributed">Redistributed components</a>.
47
      </p>
48
      <p>The code in this category is in most cases used in all Saxon editions (the only open source
49
        code in Saxon-PE or Saxon-EE that is not also used in Saxon-HE is the ASM bytecode generation
50
        library and the ICU localization library). In all cases the license under which the code was
51
        used permits the creation of commercial products derived from this code, and does not "infect"
52
        such products with open source obligations. In many cases the relevant license requires a notice
53
        to be published; this is satisfied by inclusion of the relevant notices in this documentation
54
        and also in the <code>notices</code> directory of the issued product. In many cases the relevant
55
        license also requires any modifications to source code to be published; Saxonica satisfies the
56
        requirement by issuing the source code of Saxon-HE, which includes all such modifications.</p>
57
    </li>
58
    <li><p><i>Category D</i> code is proprietary (non-open-source) code developed and owned by Saxonica.
59
    This is made available to a small number of selected integration partners under the terms of a custom 
60
    contract. This code is not used in Saxon-HE.</p></li>
61
  </ul>
62

    
63
  
64

    
65
  <h2 class="subtitle">Saxon-HE</h2>
66
  
67
  <p>The open-source Saxon-HE product is made available under the <dfn>Mozilla Public License</dfn>
68
    (the "License"). Prior to Saxon 9.5 MPL Version 1.0 was used; from 9.5 onwards, MPL Version 2.0
69
    is used. You may not use the software except as permitted by the License. You may obtain a copy
70
    of the License at <a href="http://www.mozilla.org/MPL/" class="bodylink"
71
      >http://www.mozilla.org/MPL/</a>.</p>
72
  
73
  <p>MPL version 2.0 allows software to be declared as "compatible with secondary licenses". Saxon
74
    code, in general, is NOT compatible with secondary licenses. This means it is not possible to
75
    redistribute the source code under a different license. The reason for this is the difficulty of
76
    obtaining the consent of all past contributors to the code.</p>
77
  
78
  <p>Saxon-HE is built from code in categories A, B, and C above. This code is published and is available
79
  for use under the terms of the license. Most users will never need access to source code, but for those
80
  who do, it is published in two forms:</p>
81
  
82
  <ul>
83
    <li><p>Saxonica's open-source Subversion repository at 
84
      <a href="http://dev.saxonica.com/" class="bodylink">dev.saxonica.com</a> contains
85
    the source code in the form required by the MPL license, that is, "the form of the work preferred
86
    for making modifications". This form of the code includes preprocessor directives used to identify
87
    variations between the code for different Saxon editions, and it therefore cannot be compiled until
88
    the preprocessor has been run. The repository includes Ant build files that invoke this preprocessing.
89
    The build files are complex and have many dependencies. Many users will therefore find it easier
90
    to build from the preprocessed source published on SourceForge.</p></li>
91
    <li><p>For every release, a ZIP file containing Saxon-HE source is published on the SourceForge site
92
    (project name Saxon). A typical file name is <code>saxon-source-10.0.zip</code>. The is the source
93
    code after preprocessing to extract the code needed for building Saxon-HE, and it is possible to compile
94
    it simply by dropping it into the source directory structure for an IDE such as Eclipse or IntelliJ, 
95
    provided all the required third-party libraries are present on the classpath.</p></li>
96
  </ul>
97
  
98
  <p>Saxonica does not actively solicit contributions to the code from external developers. We will accept
99
  contributions only if the requirements and design have been agreed in advance, if comprehensive test material 
100
  is supplied in a suitable form, and if a contribution agreement is signed.</p>
101
 
102
  
103
  <p>Saxon-HE includes a separate JAR file, <code>saxon-xqj-10.0.jar</code>, which contains Saxon's
104
    support for the XQJ interface, a standard API for access to XQuery engines from Java. In
105
    previous Saxon releases this was made available as part of the main JAR file. It has been
106
    decoupled because it has been pointed out that the license under which Oracle distributes XQJ is
107
    not a pure open source license under the definition used by the Open Source Initiative:
108
    specifically, it does not allow modifications, and it does not allow redistribution except as
109
    part of a product that satisfies all the compatibility tests. Saxon satisfies these conditions,
110
    but some users are only prepared to use code that conforms to OSI-approved licenses. If you fall
111
    into this category, please delete the <code>saxon-xqj-10.0.jar</code> file. (In Saxon-PE and
112
    Saxon-EE, the XQJ components are delivered as part of the main Saxon JAR file.)</p>
113
  
114
  <aside><p>Although Saxonica complies with all the terms of the XQJ license, Saxonica does
115
    not necessarily accept that producing an implementation of a published API is an action
116
    that legally requires a license.</p></aside>
117
  
118

    
119
  <h2 class="subtitle">Saxon-EE and Saxon-PE</h2>
120

    
121
  <p>The Enterprise and Professional editions of Saxon are commercial products released under the
122
    terms and conditions published at <a href="http://www.saxonica.com/license/paid-license.pdf"
123
      class="bodylink">http://www.saxonica.com/license/paid-license.pdf</a>.</p>
124

    
125
  <p>These products include some open source components. In particular, they include the open-source components
126
    used to build Saxon-HE (categories A, B, and C above) in their entirety; they also include some open-source
127
    components (notably the ASM and ICU libraries) which are not used in Saxon-HE.
128
    Although your contract with Saxonica is
129
    entirely defined by the commercial license, the existence of an open source license for these
130
    components gives you additional rights, which are described above.</p>
131

    
132
  
133

    
134
  
135
  <h2 class="subtitle">The Saxon SQL extension</h2>
136

    
137
  <p>The <a href="/sql-extension" class="bodylink">Saxon SQL extension</a> is available as an
138
    open-source plug-in to Saxon-PE or Saxon-EE (on the Java platform only, not available on the
139
    .NET platform). It will not run with Saxon-HE because it relies on XSLT element extensibility, a
140
    feature not available in Saxon-HE. However, the code of the SQL extension itself is open-source
141
    and is issued under the Mozilla Public License, meaning that you are free to extend it and
142
    customize it to your needs, even though it requires Saxon-PE or Saxon-EE to run.</p>
143

    
144
  <h2 class="subtitle">EXSLT extensions</h2>
145

    
146
  <p>A substantial number of extension functions defined in <a href="http://www.exslt.org/"
147
      class="bodylink">EXSLT</a> are available as an open-source plug-in to Saxon-PE or Saxon-EE.
148
    Many of these are implemented as reflexive extension functions, and therefore rely on a
149
    mechanism not available in Saxon-HE. However, the code of the these extension functions itself
150
    is open-source and is issued under the Mozilla Public License 2.0, meaning that you are free to
151
    extend it and customize it to your needs, even though it requires Saxon-PE or Saxon-EE to run.
152
    (See <a href="/extensions/functions/exslt">EXSLT extensions</a> for more information on the
153
    functions available.)</p>
154

    
155
  <p>Note: this does not apply to implementations of the <a href="http://www.expath.org/"
156
      class="bodylink">EXPath</a> extension functions, which since Saxon 9.6 are implemented in code
157
    that is Saxonica-proprietary. (See <a href="/extensions/functions/expath">EXPath extensions</a>
158
    for more information on the functions available.)</p>
159

    
160
  <h2 class="subtitle">Redistribution</h2>
161

    
162
  <p><dfn>Redistribution</dfn> of Saxon-HE is freely permitted under the terms of the Mozilla Public
163
    License 2.0. Note that this requires inclusion of all the necessary notices. If any source code
164
    changes are made, the license requires that they be published (or at any rate, made available to
165
    your users); but you are not required to publish the source of your own application code if it
166
    is in separate modules.</p>
167

    
168
  <p>If you produce a product that includes or requires Saxon-HE, please refer to it prominently as
169
    "The Saxon XSLT and XQuery Processor from Saxonica Limited", and include the URL of the home
170
    page, which is at <a href="http://www.saxonica.com/" class="bodylink"
171
      >http://www.saxonica.com/</a>. As a courtesy, please take reasonable steps to ensure that your
172
    users know that they are running Saxon.</p>
173

    
174
  <p>Redistribution of Saxon-PE or Saxon-EE as a component of a commercial application is possible
175
    under commercial terms; prices are published in the Saxonica online store, and a specimen
176
    contract will be supplied on request.</p>
177

    
178
  <h2 class="subtitle">Technical Support (Saxon-HE)</h2>
179

    
180
  <p>Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
181
    ANY KIND, either express or implied. See the License for the specific language governing rights
182
    and limitations under the License.</p>
183

    
184
  <p>There is no guarantee of <dfn>technical support</dfn>, though we are usually able to answer
185
    enquiries within a few days. Please use the bug trackers and support forums provided on the
186
    community site at <a href="http://saxonica.plan.io/" class="bodylink">saxonica.plan.io</a>.
187
    There is also a mailing list available at <a
188
      href="http://lists.sourceforge.net/lists/listinfo/saxon-help" class="bodylink"
189
      >http://lists.sourceforge.net/lists/listinfo/saxon-help</a>. Please check the bug tracker at
190
      <a href="http://saxonica.plan.io/" class="bodylink">saxonica.plan.io</a> for details of known
191
    errors; all bugs are listed there, whether they apply to the open-source or commercial versions
192
    of Saxon.</p>
193
  
194
  <p>Unless otherwise stated, any code snippets that are published on a public forum in the course 
195
    of a request for technical support are considered to be implicitly licensed for use in Saxonica's 
196
    test suite, or where relevant for inclusion in the product itself, for release under the Mozilla 
197
    Public License.</p>
198

    
199

    
200
  <section id="contributors" title="Contributions">
201
    <h1>Contributions</h1>
202

    
203

    
204
    <p>This page lists third-party contributors to the <i>Category A</i> source code of Saxon-HE, as defined
205
      above. This list is provided for information and to publicly thank these contributors for
206
      their work; inclusion does not imply that the contributor has any rights, responsibilities, or
207
      liabilities in respect of the code.</p>
208

    
209
    <p>This information has been compiled after the event, so there may be contributions that are
210
      not mentioned here. We apologize for any omissions and will be happy to rectify them. We will
211
      also remove any names from this list on request.</p>
212

    
213
    <p>All contributors listed in this section explicitly asked or agreed to have their code
214
      published as part of the Saxon open source product and thus explicitly or implicitly agreed to
215
      its release under some version of the Mozilla public license. Saxonica has made the decision
216
      (from release 9.5) to move forward to Mozilla Public License version 2.0, as permitted by
217
      earlier versions of the MPL.</p>
218

    
219
    <aside>If you are interested in becoming a contributor, please contact Saxonica before sending
220
      any code. You will need to sign a written contributor agreement, perhaps countersigned by your
221
      employer; and you will need to discuss technical arrangements such as the required format for
222
      test material. Contributions without full documentation and test material are not normally
223
      accepted.</aside>
224

    
225
    <p>The LOC figure is an estimate of the number of lines of code contributed, including
226
      comments.</p>
227
    <table border="1">
228
      <tr>
229
        <td>
230
          <p>
231
            <strong>Name</strong>
232
          </p>
233
        </td>
234
        <td>
235
          <p>
236
            <strong>Company if stated</strong>
237
          </p>
238
        </td>
239
        <td>
240
          <p>
241
            <strong>LOC</strong>
242
          </p>
243
        </td>
244
        <td>
245
          <p>
246
            <strong>Contribution</strong>
247
          </p>
248
        </td>
249
        <td>
250
          <p>
251
            <strong>Date</strong>
252
          </p>
253
        </td>
254
      </tr>
255
      <tr>
256
        <td>
257
          <p>Rick Bonnett</p>
258
        </td>
259
        <td>
260
          <p> </p>
261
        </td>
262
        <td>
263
          <p>250</p>
264
        </td>
265
        <td>
266
          <p>Enhancements to the Saxon code for accessing relational databases. Package
267
              <code>net.sf.saxon.sql</code>, modules <code>SQLQuery</code> and
268
            <code>SQLClose</code></p>
269
        </td>
270
        <td>
271
          <p>2004?</p>
272
        </td>
273
      </tr>
274
      <tr>
275
        <td>
276
          <p>Erik Bruchez</p>
277
        </td>
278
        <td>
279
          <p>Orbeon</p>
280
        </td>
281
        <td>
282
          <p>1800</p>
283
        </td>
284
        <td>
285
          <p>Code to interface Saxon with DOM4J. Package <code>net.sf.saxon.dom4j</code>.</p>
286
        </td>
287
        <td>
288
          <p>2006</p>
289
        </td>
290
      </tr>
291
      <tr>
292
        <td>
293
          <p>Dominique Devienne and Dave Hale</p>
294
        </td>
295
        <td>
296
          <p>Landmark Graphics</p>
297
        </td>
298
        <td>
299
          <p>1000</p>
300
        </td>
301
        <td>
302
          <p>Utilities for handling integer sets and maps. Package <code>net.sf.saxon.sort</code>,
303
            modules <code>IntHashMap</code>, <code>IntHashSet</code>,
304
            <code>IntToIntHashMap</code></p>
305
        </td>
306
        <td>
307
          <p>2005?</p>
308
        </td>
309
      </tr>
310
      <tr>
311
        <td>
312
          <p>Ruud Diterwich</p>
313
        </td>
314
        <td>
315
          <p> </p>
316
        </td>
317
        <td>
318
          <p>300</p>
319
        </td>
320
        <td>
321
          <p>Code for efficient copying of trees. Package <code>net.sf.saxon.event</code> module
322
              <code>DocumentSender</code>; package <code>net.sf.saxon.tinytree</code> module
323
              <code>TimyElementImpl</code> method <code>copy()</code></p>
324
        </td>
325
        <td>
326
          <p>2004?</p>
327
        </td>
328
      </tr>
329
      <tr>
330
        <td>
331
          <p>Efraim Feinstein</p>
332
        </td>
333
        <td>
334
          <p> </p>
335
        </td>
336
        <td>
337
          <p>100</p>
338
        </td>
339
        <td>
340
          <p>Number formatting in traditional Hebrew</p>
341
        </td>
342
        <td>
343
          <p>2009</p>
344
        </td>
345
      </tr>
346
      <tr>
347
        <td>
348
          <p>Edwin Glaser</p>
349
        </td>
350
        <td>
351
          <p> </p>
352
        </td>
353
        <td>
354
          <p>1000</p>
355
        </td>
356
        <td>
357
          <p>Diagnostic code for tracing execution of stylesheets. Package
358
              <code>net.sf.saxon.trace</code>, various modules; and calls to these routines
359
            scattered around the Saxon code</p>
360
        </td>
361
        <td>
362
          <p>2001?</p>
363
        </td>
364
      </tr>
365
      <tr>
366
        <td>
367
          <p>Karel Goossens</p>
368
        </td>
369
        <td>
370
          <p>BTR-Services, Belgium</p>
371
        </td>
372
        <td>
373
          <p>1000</p>
374
        </td>
375
        <td>
376
          <p>Number and date formatting for Danish, Swedish, Italian, Dutch, Belgian French, and
377
            Flemish. Package <code>net.sf.saxon.number</code>, module <code>Numberer_XX</code> where
378
            XX is da, sv, it, nl, frBE, nlBE</p>
379
        </td>
380
        <td>
381
          <p>2007</p>
382
        </td>
383
      </tr>
384
      <tr>
385
        <td>
386
          <p>Wolfgang Hoschek</p>
387
        </td>
388
        <td>
389
          <p>Lawrence Berkeley [US] National Laboratory</p>
390
        </td>
391
        <td>
392
          <p>1800</p>
393
        </td>
394
        <td>
395
          <p>Code to interface Saxon with XOM. Package <code>net.sf.saxon.xom</code>, all
396
            modules</p>
397
        </td>
398
        <td>
399
          <p>2005?</p>
400
        </td>
401
      </tr>
402
      <tr>
403
        <td>
404
          <p>Dmitry Kirsanov</p>
405
        </td>
406
        <td>
407
          <p> </p>
408
        </td>
409
        <td>
410
          <p>12</p>
411
        </td>
412
        <td>
413
          <p>Data used for Cyrillic numbering. Package <code>net.sf.saxon.number</code>, module
414
              <code>Numberer_en</code></p>
415
        </td>
416
        <td>
417
          <p>2002?</p>
418
        </td>
419
      </tr>
420
      <tr>
421
        <td>
422
          <p>Mathias Payer</p>
423
        </td>
424
        <td>
425
          <p> </p>
426
        </td>
427
        <td>
428
          <p>140</p>
429
        </td>
430
        <td>
431
          <p>Enhancements to the Saxon code for accessing relational databases. Package
432
              <code>net.sf.saxon.sql</code>, module <code>SQLDelete</code></p>
433
        </td>
434
        <td>
435
          <p>2002?</p>
436
        </td>
437
      </tr>
438
      <tr>
439
        <td>
440
          <p>Murakami Shinyu</p>
441
        </td>
442
        <td>
443
          <p> </p>
444
        </td>
445
        <td>
446
          <p>30</p>
447
        </td>
448
        <td>
449
          <p>Data used for Japanese numbering. Package <code>net.sf.saxon.number</code>, module
450
              <code>Numberer_en</code></p>
451
        </td>
452
        <td>
453
          <p>2002?</p>
454
        </td>
455
      </tr>
456
      <tr>
457
        <td>
458
          <p>Luc Rochefort (with testing by Laurent Bourbeau and  Grégoire Djénandji</p>
459
        </td>
460
        <td>
461
          <p> </p>
462
        </td>
463
        <td>
464
          <p>250</p>
465
        </td>
466
        <td>
467
          <p>Number and date formatting in French. Package <code>net.sf.saxon.number</code>, module
468
              <code>Numberer_fr</code></p>
469
        </td>
470
        <td>
471
          <p>2005?</p>
472
        </td>
473
      </tr>
474
      <tr>
475
        <td>
476
          <p>Gunther Schadow</p>
477
        </td>
478
        <td>
479
          <p> </p>
480
        </td>
481
        <td>
482
          <p>20</p>
483
        </td>
484
        <td>
485
          <p>Enhancements to Query command line interface to allow input from stdin. Package
486
              <code>net.sf.saxon</code>, module <code>Query</code></p>
487
        </td>
488
        <td>
489
          <p>2004?</p>
490
        </td>
491
      </tr>
492
      <tr>
493
        <td>
494
          <p>Simon St. Laurent</p>
495
        </td>
496
        <td>
497
          <p> </p>
498
        </td>
499
        <td>
500
          <p>320</p>
501
        </td>
502
        <td>
503
          <p>EXSLT math library. Package <code>net.sf.saxon.option.exslt</code>, module
504
              <code>Math</code></p>
505
        </td>
506
        <td>
507
          <p>2004?</p>
508
        </td>
509
      </tr>
510
      <tr>
511
        <td>
512
          <p>Martin Szugat</p>
513
        </td>
514
        <td>
515
          <p> </p>
516
        </td>
517
        <td>
518
          <p>140</p>
519
        </td>
520
        <td>
521
          <p>EXSLT random library. Package <code>net.sf.saxon.option.exslt</code>, module
522
              <code>Random</code></p>
523
        </td>
524
        <td>
525
          <p>June 2004</p>
526
        </td>
527
      </tr>
528
      <tr>
529
        <td>
530
          <p>Claudio Thomas</p>
531
        </td>
532
        <td>
533
          <p> </p>
534
        </td>
535
        <td>
536
          <p>290</p>
537
        </td>
538
        <td>
539
          <p>Enhancements to the Saxon code for accessing relational databases. Package
540
              <code>net.sf.saxon.sql</code>, module <code>SQLQuery</code>
541
          </p>
542
        </td>
543
        <td>
544
          <p>2003?</p>
545
        </td>
546
      </tr>
547
    </table>
548
  </section>
549
  <section id="third-party-components" title="Third Party Source Components">
550
    <h1>Third Party Source Components</h1>
551

    
552

    
553
    <p>These tables list components in <i>Category B</i> as described above: open source code that
554
      has been integrated at source level, without the involvement of the original author.</p>
555

    
556
    <p>Unlike contributed code, this code was not written specifically for inclusion in Saxon, but
557
      was originally published under some other license.</p>
558

    
559

    
560
    <h2 class="subtitle">B1 Unicode Normalization</h2>
561
    <table border="1">
562
      <tr>
563
        <td>
564
          <p>Origin</p>
565
        </td>
566
        <td>
567
          <p>Unicode Consortium (author Mark Davis)</p>
568
        </td>
569
      </tr>
570
      <tr>
571
        <td>
572
          <p>Description</p>
573
        </td>
574
        <td>
575
          <p>Routines for Unicode character normalization</p>
576
        </td>
577
      </tr>
578
      <tr>
579
        <td>
580
          <p>Approximate LOC</p>
581
        </td>
582
        <td>
583
          <p>3500 (including data sets)</p>
584
        </td>
585
      </tr>
586
      <tr>
587
        <td>
588
          <p>Saxon packages / modules</p>
589
        </td>
590
        <td>
591
          <p>
592
            <code>net.sf.saxon.sort.codenorm.*</code>
593
          </p>
594
        </td>
595
      </tr>
596
      <tr>
597
        <td>
598
          <p>Modifications</p>
599
        </td>
600
        <td>
601
          <p>Core functionality unchanged; rewrote the module that loads the data tables from the
602
            Unicode character database; removed dependencies on ICU; fixed a few bugs</p>
603
        </td>
604
      </tr>
605
      <tr>
606
        <td>
607
          <p>Availability of source</p>
608
        </td>
609
        <td>
610
          <p>Specification of algorithm at <code>http://unicode.org/reports/tr15/</code>, code
611
            originally published at
612
            <code>http://www.unicode.org/reports/tr15/Normalizer.html</code>, withdrawn in January
613
            2012.</p>
614
        </td>
615
      </tr>
616
      <tr>
617
        <td>
618
          <p>Source version used</p>
619
        </td>
620
        <td>
621
          <p>No version number. Snapshot taken in June 2005</p>
622
        </td>
623
      </tr>
624
      <tr>
625
        <td>
626
          <p>License </p>
627
        </td>
628
        <td>
629
          <p>Unicode license: see below</p>
630
        </td>
631
      </tr>
632
    </table>
633
    <aside>COPYRIGHT AND PERMISSION NOTICE<br/> Copyright © 1991-2007 Unicode, Inc. All rights
634
      reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.<br/>
635
      <br/> Permission is hereby granted, free of charge, to any person obtaining a copy of the
636
      Unicode data files and any associated documentation (the "Data Files") or Unicode software and
637
      any associated documentation (the "Software") to deal in the Data Files or Software without
638
      restriction, including without limitation the rights to use, copy, modify, merge, publish,
639
      distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom
640
      the Data Files or Software are furnished to do so, provided that (a) the above copyright
641
      notice(s) and this permission notice appear with all copies of the Data Files or Software, (b)
642
      both the above copyright notice(s) and this permission notice appear in associated
643
      documentation, and (c) there is clear notice in each modified Data File or in the Software as
644
      well as in the documentation associated with the Data File(s) or Software that the data or
645
      software has been modified.<br/>
646
      <br/> THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
647
      OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
648
      PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
649
      HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
650
      CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
651
      WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
652
      CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.<br/>
653
      <br/> Except as contained in this notice, the name of a copyright holder shall not be used in
654
      advertising or otherwise to promote the sale, use or other dealings in these Data Files or
655
      Software without prior written authorization of the copyright holder. </aside>
656
    <h2 class="subtitle">B2 XPath Parser</h2>
657
    <table border="1">
658
      <tr>
659
        <td>
660
          <p>Origin</p>
661
        </td>
662
        <td>
663
          <p>James Clark (www.jclark.com)</p>
664
        </td>
665
      </tr>
666
      <tr>
667
        <td>
668
          <p>Description</p>
669
        </td>
670
        <td>
671
          <p>Top-down parser and lexical tokenizer for XPath</p>
672
        </td>
673
      </tr>
674
      <tr>
675
        <td>
676
          <p>Approximate LOC</p>
677
        </td>
678
        <td>
679
          <p>1000 (including data sets)</p>
680
        </td>
681
      </tr>
682
      <tr>
683
        <td>
684
          <p>Saxon packages / modules</p>
685
        </td>
686
        <td>
687
          <p><code>net.sf.saxon.expr.*</code>, modules <code>XPathParser</code>,
688
              <code>Tokenizer</code>, <code>Token</code></p>
689
        </td>
690
      </tr>
691
      <tr>
692
        <td>
693
          <p>Modifications</p>
694
        </td>
695
        <td>
696
          <p>Almost entirely rewritten with enhancements to handle XPath 2.0/3.0 and XQuery 1.0/3.0
697
            syntax, improved error reporting, etc.</p>
698
        </td>
699
      </tr>
700
      <tr>
701
        <td>
702
          <p>Availability of source</p>
703
        </td>
704
        <td>
705
          <p>Derives from James Clark's xt product, which in its original form is at
706
              <code>http://www.jclark.com/xml/xt-old.html</code>. Package
707
              <code>com.jclark.xsl.expr</code>, modules <code>ExprParser</code> and
708
              <code>ExprTokenizer</code></p>
709
        </td>
710
      </tr>
711
      <tr>
712
        <td>
713
          <p>Source version used</p>
714
        </td>
715
        <td>
716
          <p>Unknown. Snapshot taken in 1999.</p>
717
        </td>
718
      </tr>
719
      <tr>
720
        <td>
721
          <p>License</p>
722
        </td>
723
        <td>
724
          <p>James Clark (see below). Apparently copyright has since been transferred to the Thai
725
            Open Source Center Ltd.</p>
726
        </td>
727
      </tr>
728
    </table>
729
    <aside> Copyright (c) 1998, 1999 James Clark<br/>
730
      <br/> Permission is hereby granted, free of charge, to any person obtaining a copy of this
731
      software and associated documentation files (the "Software"), to deal in the Software without
732
      restriction, including without limitation the rights to use, copy, modify, merge, publish,
733
      distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
734
      Software is furnished to do so, subject to the following conditions:<br/>
735
      <br/> The above copyright notice and this permission notice shall be included in all copies or
736
      substantial portions of the Software.<br/>
737
      <br/> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
738
      INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
739
      PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL JAMES CLARK BE LIABLE FOR ANY CLAIM, DAMAGES OR
740
      OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
741
      IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br/>
742
      <br/> Except as contained in this notice, the name of James Clark shall not be used in
743
      advertising or otherwise to promote the sale, use or other dealings in this Software without
744
      prior written authorization from James Clark.<br/>
745
      <br/>
746
    </aside>
747

    
748
    <h2 class="subtitle">B3 Apache Jakarta Regexp Engine</h2>
749

    
750
    <p>Saxon includes a regular expression engine derived from the <a
751
        href="http://jakarta.apache.org/regexp/" class="bodylink">Apache Jakarta Regexp project</a>,
752
      which was originally developed by Jonathan Locke. It has been extensively modified to make the
753
      syntax and semantics conform to the W3C specifications, to fully support Unicode, to improve
754
      performance, and to integrate with Saxon.</p>
755

    
756
    <table border="1">
757
      <tr>
758
        <td>
759
          <p>Origin</p>
760
        </td>
761
        <td>
762
          <p>Apache (author Jonathan Locke)</p>
763
        </td>
764
      </tr>
765
      <tr>
766
        <td>
767
          <p>Description</p>
768
        </td>
769
        <td>
770
          <p>Regular Expression engine</p>
771
        </td>
772
      </tr>
773
      <tr>
774
        <td>
775
          <p>Approximate LOC</p>
776
        </td>
777
        <td>
778
          <p>2600</p>
779
        </td>
780
      </tr>
781
      <tr>
782
        <td>
783
          <p>Saxon packages / modules</p>
784
        </td>
785
        <td>
786
          <p>Package <code>net.sf.saxon.regex</code>, classes <code>RECompiler</code>,
787
              <code>REProgram</code>, <code>REMatcher</code></p>
788
        </td>
789
      </tr>
790
      <tr>
791
        <td>
792
          <p>Modifications</p>
793
        </td>
794
        <td>
795
          <p>Substantial modifications to implement the XSD and XPath regular expression syntax and
796
            semantics, to add Unicode support, to improve performance, and to integrate 
797
            with the rest of the Saxon code.</p>
798
        </td>
799
      </tr>
800
      <tr>
801
        <td>
802
          <p>Availability of source</p>
803
        </td>
804
        <td>
805
          <p>http://jakarta.apache.org/regexp/</p>
806
        </td>
807
      </tr>
808
      <tr>
809
        <td>
810
          <p>Source version used</p>
811
        </td>
812
        <td>
813
          <p>Version 1.5</p>
814
        </td>
815
      </tr>
816
      <tr>
817
        <td>
818
          <p>License</p>
819
        </td>
820
        <td>
821
          <p>Apache License, version 2.0</p>
822
        </td>
823
      </tr>
824
    </table>
825

    
826
    <h2 class="subtitle">B4 Immutable Hash Trie</h2>
827

    
828
    <p>Saxon implements XPath maps using an immutable hash trie map. The implementation is derived
829
      from code published on GitHub by Michael Froh. The published GitHub code carries no licensing
830
      conditions, but the author has given permission for Saxonica to release the code under the
831
      Mozilla Public License 2.0.</p>
832

    
833
    <table border="1">
834
      <tr>
835
        <td>
836
          <p>Origin</p>
837
        </td>
838
        <td>
839
          <p>Github Gist (author Michael Froh, msfroh)</p>
840
        </td>
841
      </tr>
842
      <tr>
843
        <td>
844
          <p>Description</p>
845
        </td>
846
        <td>
847
          <p>Implementation of immutable hash trie maps</p>
848
        </td>
849
      </tr>
850
      <tr>
851
        <td>
852
          <p>Approximate LOC</p>
853
        </td>
854
        <td>
855
          <p>500</p>
856
        </td>
857
      </tr>
858
      <tr>
859
        <td>
860
          <p>Saxon packages / modules</p>
861
        </td>
862
        <td>
863
          <p>Package <code>com.saxonica.functions.trie</code>, classes <code>ImmutableMap</code> and
864
              <code>ImmutableHashTrieMap</code>.</p>
865
        </td>
866
      </tr>
867
      <tr>
868
        <td>
869
          <p>Modifications</p>
870
        </td>
871
        <td>
872
          <p>Minor modifications to integrate with Saxon code, especially by removing dependencies
873
            on some utility classes also published by the author.</p>
874
        </td>
875
      </tr>
876
      <tr>
877
        <td>
878
          <p>Availability of source</p>
879
        </td>
880
        <td>
881
          <p>https://gist.github.com/msfroh</p>
882
        </td>
883
      </tr>
884
      <tr>
885
        <td>
886
          <p>Source version used</p>
887
        </td>
888
        <td>
889
          <p>Version dated 2012-06-02</p>
890
        </td>
891
      </tr>
892
      <tr>
893
        <td>
894
          <p>License</p>
895
        </td>
896
        <td>
897
          <p>Mozilla Public License, version 2.0</p>
898
        </td>
899
      </tr>
900
    </table>
901
    
902
    
903

    
904

    
905
  </section>
906
  <section id="redistributed" title="Redistributed Components">
907
    <h1>Redistributed Components</h1>
908

    
909

    
910
    <p>This page describes <i>Category C</i> components as defined above: components that are
911
      redistributed with Saxon in binary form, without source-level alteration.</p>
912
    
913
    <h2 class="subtitle">Java and .NET platforms</h2>
914
    
915
    <p>
916
      <strong>ASM</strong>
917
    </p>
918
    
919
    <p>See http://asm.ow2.org/</p>
920
    
921
    <p>Saxon-EE, on both Java and .NET, includes the ASM bytecode generation library. The code is
922
      issued without modification, except that on .NET it is cross-compiled to .NET IL form. </p>
923
    
924
    <p>The license can be found at http://asm.ow2.org/license.html</p>
925
    
926
    <aside> Copyright (c) 2000-2011 INRIA, France Telecom<br/> All rights reserved.<br/>
927
      <br/> Redistribution and use in source and binary forms, with or without modification, are
928
      permitted provided that the following conditions are met:<br/>
929
      <br/> 1. Redistributions of source code must retain the above copyright notice, this list of
930
      conditions and the following disclaimer.<br/>
931
      <br/> 2. Redistributions in binary form must reproduce the above copyright notice, this list
932
      of conditions and the following disclaimer in the documentation and/or other materials
933
      provided with the distribution.<br/>
934
      <br/> 3. Neither the name of the copyright holders nor the names of its contributors may be
935
      used to endorse or promote products derived from this software without specific prior written permission.<br/>
936
      <br/> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
937
      EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
938
      MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
939
      COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
940
      EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
941
      GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
942
      ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
943
      NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
944
      OF THE POSSIBILITY OF SUCH DAMAGE.<br/>
945
    </aside>
946
    
947
    <p>Applicable notice: ASM.txt</p>
948
    
949
    <p>
950
      <strong>ICU-J</strong>
951
    </p>
952
    
953
    <p>See <a href="http://site.icu-project.org//">http://site.icu-project.org//</a></p>
954
    
955
    <p>Saxon-EE, on both Java and .NET, includes portions of the International Components for
956
      Unicode library, principally to support use of the Unicode Collation Algorithm, and localization
957
      features such as formatting of numbers and dates.</p>
958
    
959
    <p>The license can be found at <a
960
      href="http://source.icu-project.org/repos/icu/icu/trunk/license.html"
961
      >http://source.icu-project.org/repos/icu/icu/trunk/license.html</a>, which contains details
962
      of the licences for third-party software components that <em>it</em> includes, not all of
963
      which are included in Saxon-EE.</p>
964
    
965
    <aside> ICU License - ICU 1.8.1 and later<br/> COPYRIGHT AND PERMISSION NOTICE<br/> Copyright
966
      (c) 1995-2014 International Business Machines Corporation and others<br/> All rights
967
      reserved.<br/> Permission is hereby granted, free of charge, to any person obtaining a copy of
968
      this software and associated documentation files (the "Software"), to deal in the Software
969
      without restriction, including without limitation the rights to use, copy, modify, merge,
970
      publish, distribute, and/or sell copies of the Software, and to permit persons to whom the
971
      Software is furnished to do so, provided that the above copyright notice(s) and this
972
      permission notice appear in all copies of the Software and that both the above copyright
973
      notice(s) and this permission notice appear in supporting documentation.<br/> THE SOFTWARE IS
974
      PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
975
      TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
976
      THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
977
      BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
978
      WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
979
      NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
980
      PERFORMANCE OF THIS SOFTWARE.<br/> Except as contained in this notice, the name of a copyright
981
      holder shall not be used in advertising or otherwise to promote the sale, use or other
982
      dealings in this Software without prior written authorization of the copyright holder. <br/>
983
    </aside>
984
    
985
    
986
    <h2 class="subtitle">Saxon on Java</h2>    
987

    
988
    <p>
989
      <strong>XQJ</strong>
990
    </p>
991

    
992
    <p>See http://www.jcp.org/en/jsr/detail?id=225</p>
993

    
994
    <p>XQJ is a Java API for XQuery, supported by a number of XQuery implementations including
995
      Saxon. To support this API, Saxon necessarily includes the Java files that define the
996
      interfaces.</p>
997

    
998
    <p>These files are copyright (c) Oracle Corporation. They are used under a license which permits
999
      use and redistribution. The license however does not qualify as an open source license under
1000
      the rules of the Open Source Initiative, because it explicitly prohibits modification of the
1001
      relevant files. For this reason XQJ is issued as a free-standing JAR file in the open-source
1002
      Saxon-HE product.</p>
1003

    
1004
    <p>The license for XQJ is provided in the JSR 225 specification. This contains separate licenses
1005
      for the specification, the reference implementation, and the "technology compatibility kit"
1006
      (that is, the reference tests). Saxonica considers that the Java interface files are part of
1007
      the specification and are licensed under the conditions that apply to the specification. These
1008
      conditions are as follows:</p>
1009

    
1010
    <aside>
1011
      <p>Specification License</p>
1012
      <p>Oracle USA (the “Spec Lead”) for the XQuery API for Java specification (the
1013
        “Specification”) hereby grant a perpetual, non-exclusive, worldwide, fully paid-up,
1014
        royalty-free, irrevocable (except as explicitly set forth below) license to copy and display
1015
        the Specification, in any medium without fee or royalty, provided that you include the
1016
        following on ALL copies, or portions thereof, that you make:</p>
1017

    
1018
      <ol>
1019
        <li>A link or URL to the Specification at this location:
1020
          http://jcp.org/aboutJava/communityprocess/final/jsr225/index.html.</li>
1021
        <li>The copyright notice as shown herein.</li>
1022
      </ol>
1023

    
1024
      <p>In addition, to the extent that an implementation of the Specification would be considered
1025
        a derivative work under applicable law requiring a license grant from the holder of the
1026
        copyright in the Specification, the Spec Lead grants a copyright license solely for the
1027
        purpose of making and/or distributing an implementation of the Specification that: (a)
1028
        except for the RI code licensed from Oracle under the RI License which is attached hereto as
1029
        Exhibit B, does not include or otherwise make any use of the RI; (b) fully implements the
1030
        Specification including all of its required interfaces and functionality; (c) does not
1031
        modify, subset, superset or otherwise extend those public class or interface declarations
1032
        whose names begin with “java;” and (d) passes the TCK.</p>
1033

    
1034
      <p>The Spec Lead also agrees, upon request, to grant a perpetual, non-exclusive, worldwide,
1035
        non sub-licensable, non-transferable, royalty-free fully paid-up license, for the sole
1036
        purposes of making, having made, using, selling and offering for sale, implementations of
1037
        the Specification that meet the requirements of (a) - (d) above, under those respective
1038
        patent claims that they own, or have the authority to license, for which there is no
1039
        technically feasible way of avoiding infringement in the course of implementing the
1040
        Specification (“Necessary Patent Claims”).</p>
1041

    
1042
      <p>The licenses and agreement to license set forth above are conditional upon licensee’s
1043
        offering a license, on fair, reasonable and non-discriminatory terms to Necessary Patent
1044
        Claims that they own or have the authority to license to make, have made, use, sell and
1045
        offer for sale, implementations of the Specification that meet the requirements of (a) - (d)
1046
        above, to all other licensees to the Specification who agree to offer a similar license and
1047
        not initiating any claim that either Specification Lead, has, in the course of performing
1048
        its responsibilities as the Specification Lead, induced any other entity to infringe the
1049
        licensee’s patent rights.</p>
1050

    
1051
      <p>THE SPECIFICATION IS PROVIDED "AS IS," AND THE SPEC LEAD AND ANY OTHER AUTHORS MAKE NO
1052
        REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES
1053
        OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE
1054
        CONTENTS OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF
1055
        SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS (INCLUDING, WITHOUT LIMITATION, PATENTS OF THE
1056
        SPECIFICATION LEADS), COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. THE SPEC LEAD AND ANY OTHER
1057
        AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
1058
        DAMAGES ARISING OUT OF ANY USE OF THE SPECIFICATION OR THE PERFORMANCE OR IMPLEMENTATION OF
1059
        THE CONTENTS THEREOF.</p>
1060

    
1061
      <p>The name and trademarks of the Spec Lead or any other Authors may NOT be used in any
1062
        manner, including advertising or publicity pertaining to the Specification or its contents
1063
        without specific, written prior permission. Title to copyright in the Specification will at
1064
        all times remain with the Authors.</p>
1065

    
1066
      <p>No other rights are granted by implication, estoppel or otherwise.</p>
1067

    
1068
    </aside>
1069

    
1070
    <p>Saxonica certifies that the Saxon product, as an implementation of XQJ, satisfies the
1071
      conditions of this license (for example, it passes the tests in the TCK).</p>
1072
    
1073
    <p><i>Note: although Saxonica complies with all the conditions of this license, 
1074
    Saxonica does not necessarily accept that implementing a published specification
1075
    is an action that requires a license.</i></p>
1076

    
1077
    <p>
1078
      <strong>JLine 2</strong>
1079
    </p>
1080
    
1081
    <p>See https://github.com/jline/jline2</p>
1082
    
1083
    <p>JLine 2 is a library for handling interactive console input, with facilities such as
1084
    content completion and command history. It is used by the Gizmo utility. For user convenience,
1085
    the JLine 2 JAR file is distributed in unmodified form with the Saxon release. It should be placed
1086
    on the classpath when running Gizmo, but is otherwise unused.</p>
1087
    
1088
    <p>Note: Saxon Gizmo does not work with JLine 3.</p>
1089
    
1090
    <p>The license is the two-clause BSD license:</p>
1091
    <aside> Copyright (c) 2002-2016, the original author or authors.
1092
      All rights reserved.<br/>
1093
      
1094
      http://www.opensource.org/licenses/bsd-license.php<br/>
1095
      
1096
      Redistribution and use in source and binary forms, with or
1097
      without modification, are permitted provided that the following
1098
      conditions are met:<br/>
1099
      
1100
      Redistributions of source code must retain the above copyright
1101
      notice, this list of conditions and the following disclaimer.<br/>
1102
      
1103
      Redistributions in binary form must reproduce the above copyright
1104
      notice, this list of conditions and the following disclaimer
1105
      in the documentation and/or other materials provided with
1106
      the distribution.<br/>
1107
      
1108
      Neither the name of JLine nor the names of its contributors
1109
      may be used to endorse or promote products derived from this
1110
      software without specific prior written permission.<br/>
1111
      
1112
      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1113
      "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
1114
      BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
1115
      AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
1116
      EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
1117
      FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
1118
      OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
1119
      PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1120
      DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
1121
      AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1122
      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1123
      IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
1124
      OF THE POSSIBILITY OF SUCH DAMAGE.<br/></aside>
1125
    
1126
    <p>Applicable notice: JLINE2.txt</p>
1127

    
1128
    <h2 class="subtitle">Saxon on .NET</h2>
1129

    
1130
    <p>
1131
      <strong>IKVM Runtime</strong>
1132
    </p>
1133

    
1134
    <p>See http://www.ikvm.net/. Can be downloaded from
1135
      http://sourceforge.net/project/showfiles.php?group_id=69637. Saxon links dynamically to this
1136
      DLL.</p>
1137

    
1138
    <p>License is at http://weblog.ikvm.net/story.aspx/license</p>
1139
    <aside> Copyright (C) 2002-2007 Jeroen Frijters<br/>
1140
      <br/> This software is provided 'as-is', without any express or implied warranty. In no event
1141
      will the authors be held liable for any damages arising from the use of this software.<br/>
1142
      <br/> Permission is granted to anyone to use this software for any purpose, including
1143
      commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:<br/>
1144
      <br/> 1. The origin of this software must not be misrepresented; you must not claim that you
1145
      wrote the original software. If you use this software in a product, an acknowledgment in the
1146
      product documentation would be appreciated but is not required.<br/>
1147
      <br/> 2. Altered source versions must be plainly marked as such, and must not be
1148
      misrepresented as being the original software.<br/>
1149
      <br/> 3. This notice may not be removed or altered from any source distribution.<br/>
1150
      <br/> Jeroen Frijters<br/> jeroen@frijters.net </aside>
1151

    
1152
    <p>Applicable notice: FRIJTERS.txt</p>
1153

    
1154
    <p>
1155
      <strong>OpenJDK Classpath</strong>
1156
    </p>
1157

    
1158
    <p>The copy of OpenJDK Classpath released with Saxon on .NET is derived from the version that
1159
      is released as part of IKVM Runtime (see above). This in turn is derived largely from the Sun
1160
      OpenJDK distribution, together with some components taken from the Red Hat IcedTea library,
1161
      compiled into CIL code using IKVMC. Saxon 9.1 uses IKVM 0.40.0.1, which in turn uses OpenJDK 7
1162
      b13.</p>
1163

    
1164
    <p>Saxon distributes only the parts of this library that are actually needed. These parts have
1165
      been rebuilt from source code, but no source modifications have been made.</p>
1166

    
1167
    <p>Saxon links dynamically to this DLL.</p>
1168

    
1169
    <p>The license conditions are at <a href="http://openjdk.java.net/legal/gplv2+ce.html"
1170
        class="bodylink">http://openjdk.java.net/legal/gplv2+ce.html</a>. (This is a modified
1171
      variant of the GNU Public License version 2, with a special clause allowing it to be used as
1172
      part of a product that is not itself open source.)</p>
1173

    
1174
    <p>Applicable notice: GPL+CLASSPATH.txt</p>
1175

    
1176
    <p>
1177
      <strong>Apache Xerces</strong>
1178
    </p>
1179

    
1180
    <p>Rather than distributing the Sun version of Xerces that comes with the OpenJDK library, Saxon
1181
      instead distributes the Apache version of Xerces. (The two versions have diverged
1182
      considerably. The Apache version is used because it is considered more reliable and is also
1183
      easier to integrate because it does not have unnecessary dependencies on other parts of the
1184
      JDK library.)</p>
1185

    
1186
    <p>The two Apache JAR files <code>xercesImpl.jar</code> and <code>resolver.jar</code> have been
1187
      cross-compiled to IL code using the IKVMC compiler, but are otherwise unmodified.</p>
1188

    
1189
    <p>The license conditions for Xerces are at <a href="http://www.apache.org/licenses/LICENSE-2.0"
1190
        class="bodylink">http://www.apache.org/licenses/LICENSE-2.0</a></p>
1191

    
1192
    <p>Applicable notices: APACHE-XERCES.txt, APACHE-RESOLVER.txt</p>
1193

    
1194
    <p>
1195
      <strong>TagSoup</strong>
1196
    </p>
1197

    
1198
    <p>Supporting the <code>saxon:parse-html()</code> extension function, the code of TagSoup
1199
      version 1.2 is included in the Saxon-PE and Saxon-EE distributions on .NET. Apart from
1200
      cross-compiling from Java bytecode to IL code, the code is unmodified.</p>
1201

    
1202
    <p>Information about TagSoup, including links to the download location for source code, is
1203
      available at <a href="https://mvnrepository.com/artifact/org.ccil.cowan.tagsoup/tagsoup/1.2"
1204
        class="bodylink"
1205
        >https://mvnrepository.com/artifact/org.ccil.cowan.tagsoup/tagsoup/1.2</a>.</p>
1206

    
1207
    <p>The license conditions for TagSoup are at <a
1208
        href="http://www.apache.org/licenses/LICENSE-2.0" class="bodylink"
1209
        >http://www.apache.org/licenses/LICENSE-2.0</a></p>
1210

    
1211
    <p>Applicable notices: APACHE-TAGSOUP.txt</p>
1212
  </section>
1213
  <section id="algorithms" title="Published Algorithms and Specifications">
1214
    <h1>Published Algorithms and Specifications</h1>
1215

    
1216

    
1217
    <p>The table below lists published specifications and algorithms that formed a significant
1218
      intellectual input into the development of the product.</p>
1219
    <table border="1">
1220
      <tr>
1221
        <td>
1222
          <p>
1223
            <strong>Title of Publication</strong>
1224
          </p>
1225
        </td>
1226
        <td>
1227
          <p>
1228
            <strong>Usage</strong>
1229
          </p>
1230
        </td>
1231
      </tr>
1232
      <tr>
1233
        <td>
1234
          <p>Java interface specifications</p>
1235
        </td>
1236
        <td>
1237
          <p> Saxon implements many interfaces defined in the Java SE specifications, notably the
1238
            JAXP interfaces </p>
1239
        </td>
1240
      </tr>
1241
      <tr>
1242
        <td>
1243
          <p>W3C specifications for XML, XSLT, XPath, XQuery and associated
1244
            documents </p>
1245
        </td>
1246
        <td>
1247
          <p>These specifications define the language standards that Saxon implements</p>
1248
        </td>
1249
      </tr>
1250
      <tr>
1251
        <td>
1252
          <p>Using Finite-State Automata to Implement W3C XML Schema Content Model Validation and
1253
            Restriction Checking. Henry Thompson and Richard Tobin. XML Europe 2003 </p>
1254
        </td>
1255
        <td>
1256
          <p> The Saxon-EE schema processor implements a variant of this algorithm to validate
1257
            instance documents</p>
1258
        </td>
1259
      </tr>
1260
      <tr>
1261
        <td>
1262
          <p>How to Print Floating Point Numbers Accurately. Guy Steele and Jon White. ACM SIGPLAN
1263
            1990 </p>
1264
        </td>
1265
        <td>
1266
          <p> Saxon uses this algorithm to convert floating point numbers to strings </p>
1267
        </td>
1268
      </tr>
1269
      <tr>
1270
        <td>
1271
          <p>Amélie Marian and Jérôme Siméon. Projecting XML Documents. VLDB'2003, Berlin, Germany,
1272
            September 2003 </p>
1273
        </td>
1274
        <td>
1275
          <p> Saxon-EE provides the option of performing document projection (to eliminate parts of
1276
            a source document that a query cannot reach) using an algorithm similar to the one
1277
            published in this paper </p>
1278
        </td>
1279
      </tr>
1280
      <tr>
1281
        <td>
1282
          <p>XQJ (XQuery API for Java). Java Community Process JSR-225. The current <a
1283
              href="http://jcp.org/en/jsr/detail?id=225" class="bodylink">Final Release 1.0
1284
              Specification</a> is Copyright (c) 2003, 2006, 2009 Oracle </p>
1285
        </td>
1286
        <td>
1287
          <p> The specification includes a license describing the terms under which an
1288
            implementation of the specification may be made or distributed. Saxon's implementation
1289
            conforms to these conditions. </p>
1290
        </td>
1291
      </tr>
1292
      <tr>
1293
        <td>
1294
          <p>Date calculation algorithms, taken from http://vsg.cape.com/~pbaum/date/jdalg.htm,
1295
            http://vsg.cape.com/~pbaum/date/jdalg2.htm, and
1296
            http://www.hermetic.ch/cal_stud/jdn.htm#comp </p>
1297
        </td>
1298
        <td>
1299
          <p> Saxon implements these published algorithms for converting dates to Julian day numbers
1300
            and vice versa </p>
1301
        </td>
1302
      </tr>
1303
    </table>
1304
  </section>
1305
</article>
(4-4/21)