forked from modelica/Modelica-Compliance
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LICENSE
562 lines (488 loc) · 27 KB
/
LICENSE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
ModelicaCompliance is distributed under the Modelica License 2 with the
exceptions of files under ModelicaCompliance/Resources/tools/, which
are distributed under the BSD 3-clause license.
[Modelica License 2]
All files in this directory and in all subdirectories are released
under the "Modelica License 2" (if not explicitly noted otherwise).
The Modelica License 2
Preamble.
The goal of this license is that Modelica related model libraries, software,
images, documents, data files etc. can be used freely in the original or a
modified form, in open source and in commercial environments (as long as the
license conditions below are fulfilled, in particular sections 2c) and 2d).
The Original Work is provided free of charge and the use is completely at your
own risk. Developers of free Modelica packages are encouraged to utilize this
license for their work.
The Modelica License applies to any Original Work that contains the following
licensing notice adjacent to the copyright notice(s) for this Original Work:
Licensed by Modelica Association under the Modelica License 2
1. Definitions.
a. "License" is this Modelica License.
b. "Original Work" is any work of authorship, including
software, images, documents, data files, that contains the above
licensing notice or that is packed together with a licensing notice
referencing it.
c. "Licensor" is the provider of the Original Work who has
placed this licensing notice adjacent to the copyright notice(s) for
the Original Work. The Original Work is either directly provided by
the owner of the Original Work, or by a licensee of the owner.
d. "Derivative Work" is any modification of the Original
Work which represents, as a whole, an original work of authorship.
For the matter of clarity and as examples:
A. Derivative Work shall not include work that remains separable
from the Original Work, as well as merely extracting a part of
the Original Work without modifying it.
B. Derivative Work shall not include (a) fixing of errors and/or (b)
adding vendor specific Modelica annotations and/or (c) using a
subset of the classes of a Modelica package, and/or (d) using a
different representation, e.g., a binary representation.
C. Derivative Work shall include classes that are copied from the
Original Work where declarations, equations or the documentation
are modified.
D. Derivative Work shall include executables to simulate the models
that are generated by a Modelica translator based on the
Original Work (of a Modelica package).
e. "Modified Work" is any modification of the Original Work
with the following exceptions: (a) fixing of errors and/or (b)
adding vendor specific Modelica annotations and/or (c) using a
subset of the classes of a Modelica package, and/or (d) using a
different representation, e.g., a binary representation.
f. "Source Code" means the preferred form of the Original
Work for making modifications to it and all available documentation
describing how to modify the Original Work.
g. "You" means an individual or a legal entity exercising
rights under, and complying with all of the terms of, this License.
h. "Modelica package" means any Modelica library that is
defined with the "package <Name> ... end <Name>" Modelica language
element.
2. Grant of Copyright License. Licensor grants You a worldwide, royalty-free,
non-exclusive, sublicensable license, for the duration of the copyright, to do
the following:
a. To reproduce the Original Work in copies, either alone or as part of
a collection.
b. To create Derivative Works according to Section 1d) of this License.
c. To distribute or communicate to the public copies of the Original
Work or a Derivative Work under this License. No fee, neither as a
copyright-license fee, nor as a selling fee for the copy as such may
be charged under this License. Furthermore, a verbatim copy of this
License must be included in any copy of the Original Work or a
Derivative Work under this License.
For the matter of clarity, it is permitted A) to distribute or
communicate such copies as part of a (possible commercial)
collection where other parts are provided under different licenses
and a license fee is charged for the other parts only and B) to
charge for mere printing and shipping costs.
d. To distribute or communicate to the public copies of a Derivative
Work, alternatively to Section 2c), under any other license
of your choice, especially also under a license for
commercial/proprietary software, as long as You comply with Sections
3, 4 and 8 below.
For the matter of clarity, no restrictions regarding fees, either as
to a copyright-license fee or as to a selling fee for the copy as
such apply.
e. To perform the Original Work publicly.
f. To display the Original Work publicly.
3. Acceptance. Any use of the Original Work or a Derivative Work, or any
action according to either Section 2a) to 2f) above constitutes Your
acceptance of this License.
4. Designation of Derivative Works and of Modified Works.
The identifying designation of Derivative Work and of Modified
Work must be different to the corresponding identifying designation
of the Original Work. This means especially that the (root-level)
name of a Modelica package under this license must be changed if the
package is modified (besides fixing of errors, adding vendor specific
Modelica annotations, using a subset of the classes of a Modelica
package, or using another representation, e.g. a binary
representation).
5. Grant of Patent License. Licensor grants You a worldwide, royalty-free,
non-exclusive, sublicensable license, under patent claims owned by the Licensor
or licensed to the Licensor by the owners of the Original Work that are
embodied in the Original Work as furnished by the Licensor, for the duration
of the patents, to make, use, sell, offer for sale, have made, and import the
Original Work and Derivative Works under the conditions as given in Section 2.
For the matter of clarity, the license regarding Derivative Works covers
patent claims to the extent as they are embodied in the Original Work only.
6. Provision of Source Code. Licensor agrees to provide You with a copy of the
Source Code of the Original Work but reserves the right to decide freely on the
manner of how the Original Work is provided.
For the matter of clarity, Licensor might provide only a binary
representation of the Original Work. In that case, You may (a) either
reproduce the Source Code from the binary representation if this is
possible (e.g., by performing a copy of an encrypted Modelica
package, if encryption allows the copy operation) or (b) request the
Source Code from the Licensor who will provide it to You.
7. Exclusions from License Grant. Neither the names of Licensor, nor the names
of any contributors to the Original Work, nor any of their trademarks or
service marks, may be used to endorse or promote products derived from this
Original Work without express prior permission of the Licensor. Except as
otherwise expressly stated in this License and in particular in Sections
2 and 5, nothing in this License grants any license to Licensor's trademarks,
copyrights, patents, trade secrets or any other intellectual
property, and no patent license is granted to make, use, sell, offer
for sale, have made, or import embodiments of any patent claims.
No license is granted to the trademarks of Licensor even if such
trademarks are included in the Original Work, except as expressly stated in
this License. Nothing in this License shall be interpreted to prohibit Licensor
from licensing under terms different from this License any Original Work that
Licensor otherwise would have a right to license.
8. Attribution Rights. You must retain in the Source Code of the Original Work
and of any Derivative Works that You create, all author, copyright, patent,
or trademark notices, as well as any descriptive text identified therein as an
"Attribution Notice". The same applies to the licensing notice of this
License in the Original Work. For the matter of clarity, "author notice" means
the notice that identifies the original author(s).
You must cause the Source Code for any Derivative Works that You create
to carry a prominent Attribution Notice reasonably calculated to inform
recipients that You have modified the Original Work.
In case the Original Work or Derivative Work is not provided in
Source Code, the Attribution Notices shall be appropriately
displayed, e.g., in the documentation of the Derivative Work.
9. Disclaimer of Warranty.
The Original Work is provided under this License on an "as is" basis and
without warranty, either express or implied, including, without limitation,
the warranties of non-infringement, merchantability or fitness for a particular
purpose. The entire risk as to the quality of the Original Work is
with You. This disclaimer of warranty constitutes an essential part of this
License. No license to the Original Work is granted by this License except
under this disclaimer.
10. Limitation of Liability. Under no circumstances and under no legal theory,
whether in tort (including negligence), contract, or otherwise, shall the
Licensor, the owner or a licensee of the Original Work be liable to anyone for
any direct, indirect, general, special, incidental, or consequential damages
of any character arising as a result of this License or the use of the
Original Work including, without limitation, damages for loss of
goodwill, work stoppage, computer failure or malfunction, or any and
all other commercial damages or losses. This limitation of liability
shall not apply to the extent applicable law prohibits such
limitation.
11. Termination. This License conditions your rights to undertake the
activities listed in Section 2 and 5, including your right to create Derivative
Works based upon the Original Work, and doing so without observing these terms
and conditions is prohibited by copyright law and international treaty.
Nothing in this License is intended to affect copyright exceptions and
limitations. This License shall terminate immediately and You may no longer
exercise any of the rights granted to You by this License upon your failure
to observe the conditions of this license.
12. Termination for Patent Action. This License shall terminate automatically
and You may no longer exercise any of the rights granted to You by this License
as of the date You commence an action, including a cross-claim or counterclaim,
against Licensor, any owners of the Original Work or any licensee alleging that
the Original Work infringes a patent. This termination provision shall
not apply for an action alleging patent infringement through
combinations of the Original Work under combination with other
software or hardware.
13. Jurisdiction. Any action or suit relating to this License may be brought
only in the courts of a jurisdiction wherein the Licensor resides and under
the laws of that jurisdiction excluding its conflict-of-law provisions.
The application of the United Nations Convention on Contracts for the
International Sale of Goods is expressly excluded. Any use of the Original Work
outside the scope of this License or after its termination shall be subject to
the requirements and penalties of copyright or patent law in the
appropriate jurisdiction. This section shall survive the termination
of this License.
14. Attorneys' Fees. In any action to enforce the terms of this License or
seeking damages relating thereto, the prevailing party shall be entitled to
recover its costs and expenses, including, without limitation, reasonable
attorneys' fees and costs incurred in connection with such action, including
any appeal of such action. This section shall survive the termination of this
License.
15. Miscellaneous.
a. 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.
b. No verbal ancillary agreements have been made. Changes and additions to
this License must appear in writing to be valid. This also applies to
changing the clause pertaining to written form.
c. You may use the Original Work in all ways not otherwise restricted or
conditioned by this License or by law, and Licensor promises not to
interfere with or be responsible for such uses by You.
===============================================================================
<h4><a name="How_to_Apply_the_Modelica_License_2-outline"></a>
How to Apply the Modelica License 2</h4>
<p>At
the top level of your Modelica package and at every important
subpackage, add the following notices in the info layer of the
package:</p>
<p>
Licensed by <Licensor> under the Modelica License 2<br>
Copyright © <year1>-<year2>, <name of copyright
holder(s)>.
</p>
<p>
<i>This Modelica package is <u>free</u> software and the use is completely at <u>your own risk</u>; it can be redistributed and/or modified under the terms of the Modelica License 2. For license conditions (including the disclaimer of warranty) see <a href="modelica://Modelica.UsersGuide.ModelicaLicense2">Modelica.UsersGuide.ModelicaLicense2</a> or visit <a href="http://www.modelica.org/licenses/ModelicaLicense2"> http://www.modelica.org/licenses/ModelicaLicense2</a>.</i>
</p>
<p>Include
a copy of the Modelica License 2 under
<b><library>.UsersGuide.ModelicaLicense2</b>
(use <a href="http://www.modelica.org/licenses/ModelicaLicense2.mo">
http://www.modelica.org/licenses/ModelicaLicense2.mo</a>).
Furthermore, add
the list of authors and contributors under
<b><library>.UsersGuide.Contributors</b> or
<b><library>.UsersGuide.Contact</b>.</p>
<p>For
example, sublibrary Modelica.Blocks of the Modelica Standard Library
may have the following notices:</p>
<p>
Licensed by Modelica Association under the Modelica License 2<br>
Copyright © 1998-2008, Modelica Association.
</p>
<p>
<i>This Modelica package is <u>free</u> software and the use is completely at <u>your own risk</u>; it can be redistributed and/or modified under the terms of the Modelica License 2. For license conditions (including the disclaimer of warranty) see <a href="modelica://Modelica.UsersGuide.ModelicaLicense2">Modelica.UsersGuide.ModelicaLicense2</a> or visit <a href="http://www.modelica.org/licenses/ModelicaLicense2"> http://www.modelica.org/licenses/ModelicaLicense2</a>.</i>
</p>
<p>For
C-source code and documents, add similar notices in the corresponding
file.</p>
<p>For
images, add a “readme.txt” file to the directories where
the images are stored and include a similar notice in this file.</p>
<p>In
these cases, save a copy of the Modelica License 2 in one directory
of the distribution, e.g.,
<a href="http://www.modelica.org/licenses/ModelicaLicense2.html">
http://www.modelica.org/licenses/ModelicaLicense2.html</a>
in directory <b><library>/Resources/Documentation/ModelicaLicense2.html</b>.
</p>
<hr>
<h5><a name="Frequently_Asked_Questions-outline"></a>
Frequently Asked Questions</h5>
<p>This
section contains questions/answer to users and/or distributors of
Modelica packages and/or documents under Modelica License 2. Note,
the answers to the questions below are not a legal interpretation of
the Modelica License 2. In case of a conflict, the language of the
license shall prevail.</p>
<h6>Using or Distributing a Modelica <u>Package</u> under the Modelica License 2</h6>
<p><b>What are the main
differences to the previous version of the Modelica License?</b></p>
<ol>
<li><p>
Modelica License 1 is unclear whether the licensed Modelica package
can be distributed under a different license. Version 2 explicitly
allows that “Derivative Work” can be distributed under
any license of Your choice, see examples in Section 1d) as to what
qualifies as Derivative Work (so, version 2 is clearer).</p>
<li><p>
If You modify a Modelica package under Modelica License 2 (besides
fixing of errors, adding vendor specific Modelica annotations, using
a subset of the classes of a Modelica package, or using another
representation, e.g., a binary representation), you must rename the
root-level name of the package for your distribution. In version 1
you could keep the name (so, version 2 is more restrictive). The
reason of this restriction is to reduce the risk that Modelica
packages are available that have identical names, but different
functionality.</p>
<li><p>
Modelica License 1 states that “It is not allowed to charge a
fee for the original version or a modified version of the software,
besides a reasonable fee for distribution and support”.
Version 2 has a similar intention for all Original Work under
<u>Modelica License 2</u> (to remain free of charge and open source)
but states this more clearly as “No fee, neither as a
copyright-license fee, nor as a selling fee for the copy as such may
be charged”. Contrary to version 1, Modelica License 2 has no
restrictions on fees for Derivative Work that is provided under a
different license (so, version 2 is clearer and has fewer
restrictions).</p>
<li><p>
Modelica License 2 introduces several useful provisions for the
licensee (articles 5, 6, 12), and for the licensor (articles 7, 12,
13, 14) that have no counter part in version 1.</p>
<li><p>
Modelica License 2 can be applied to all type of work, including
documents, images and data files, contrary to version 1 that was
dedicated for software only (so, version 2 is more general).</p>
</ol>
<p><b>Can I distribute a
Modelica package (under Modelica License 2) as part of my commercial
Modelica modeling and simulation environment?</b></p>
<p>Yes,
according to Section 2c). However, you are not allowed to charge a
fee for this part of your environment. Of course, you can charge for
your part of the environment.
</p>
<p><b>Can I distribute a
Modelica package (under Modelica License 2) under a different
license?</b></p>
<p>No.
The license of an unmodified Modelica package cannot be changed
according to Sections 2c) and 2d). This means that you cannot <u>sell</u>
copies of it, any distribution has to be free of charge.</p>
<p><b>Can I distribute a
Modelica package (under Modelica License 2) under a different license
when I first encrypt the package?</b></p>
<p>No.
Merely encrypting a package does not qualify for Derivative Work and
therefore the encrypted package has to stay under Modelica License 2.</p>
<p><b>Can I distribute a
Modelica package (under Modelica License 2) under a different license
when I first add classes to the package?</b></p>
<p>No.
The package itself remains unmodified, i.e., it is Original Work, and
therefore the license for this part must remain under Modelica
License 2. The newly added classes can be, however, under a different
license.
</p>
<p><b>Can
I copy a class out of a Modelica package (under Modelica License 2)
and include it </b><u><b>unmodified</b></u><b> in a Modelica package
under a </b><u><b>commercial/proprietary license</b></u><b>?</b></p>
<p>No,
according to article 2c). However, you can include model, block,
function, package, record and connector classes in your Modelica
package under <u>Modelica License 2</u>. This means that your
Modelica package could be under a commercial/proprietary license, but
one or more classes of it are under Modelica License 2.<br>Note, a
“type” class (e.g., type Angle = Real(unit=”rad”))
can be copied and included unmodified under a commercial/proprietary
license (for details, see the next question).</p>
<p><b>Can
I copy a type class or </b><u><b>part</b></u><b> of a model, block,
function, record, connector class, out of a Modelica package (under
Modelica License 2) and include it modified or unmodified in a
Modelica package under a </b><u><b>commercial/proprietary</b></u><b>
license</b></p>
<p>Yes,
according to article 2d), since this will in the end usually qualify
as Derivative Work. The reasoning is the following: A type class or
part of another class (e.g., an equation, a declaration, part of a
class description) cannot be utilized “by its own”. In
order to make this “usable”, you have to add additional
code in order that the class can be utilized. This is therefore
usually Derivative Work and Derivative Work can be provided under a
different license. Note, this only holds, if the additional code
introduced is sufficient to qualify for Derivative Work. Merely, just
copying a class and changing, say, one character in the documentation
of this class would be no Derivative Work and therefore the copied
code would have to stay under Modelica License 2.</p>
<p><b>Can
I copy a class out of a Modelica package (under Modelica License 2)
and include it in </b><u><b>modified </b></u><b>form in a
</b><u><b>commercial/proprietary</b></u><b> Modelica package?</b></p>
<p>Yes.
If the modification can be seen as a “Derivative Work”,
you can place it under your commercial/proprietary license. If the
modification does not qualify as “Derivative Work” (e.g.,
bug fixes, vendor specific annotations), it must remain under
Modelica License 2. This means that your Modelica package could be
under a commercial/proprietary license, but one or more parts of it
are under Modelica License 2.</p>
<p><b>Can I distribute a
“save total model” under my commercial/proprietary
license, even if classes under Modelica License 2 are included?</b></p>
<p>Your
classes of the “save total model” can be distributed
under your commercial/proprietary license, but the classes under
Modelica License 2 must remain under Modelica License 2. This means
you can distribute a “save total model”, but some parts
might be under Modelica License 2.</p>
<p><b>Can I distribute a
Modelica package (under Modelica License 2) in encrypted form?</b></p>
<p>Yes.
Note, if the encryption does not allow “copying” of
classes (in to unencrypted Modelica source code), you have to send
the Modelica source code of this package to your customer, if he/she
wishes it, according to article 6.</p>
<p><b>Can I distribute an
executable under my commercial/proprietary license, if the model from
which the executable is generated uses models from a Modelica package
under Modelica License 2?</b></p>
<p>Yes,
according to article 2d), since this is seen as Derivative Work. The
reasoning is the following: An executable allows the simulation of a
concrete model, whereas models from a Modelica package (without
pre-processing, translation, tool run-time library) are not able to
be simulated without tool support. By the processing of the tool and
by its run-time libraries, significant new functionality is added (a
model can be simulated whereas previously it could not be simulated)
and functionality available in the package is removed (e.g., to build
up a new model by dragging components of the package is no longer
possible with the executable).</p>
<p><b>Is my modification to
a Modelica package (under Modelica License 2) a Derivative Work?</b></p>
<p>It
is not possible to give a general answer to it. To be regarded as "an
original work of authorship", a derivative work must be
different enough from the original or must contain a substantial
amount of new material. Making minor changes or additions of little
substance to a preexisting work will not qualify the work as a new
version for such purposes.
</p>
<h6>Using or Distributing a Modelica <u>Document</u> under the Modelica License 2</h6>
<p>This
section is devoted especially for the following applications:</p>
<ol type="a">
<li><p>
A Modelica tool extracts information out of a Modelica package and
presents the result in form of a “manual” for this
package in, e.g., html, doc, or pdf format.</p>
<li><p>
The Modelica language specification is a document defining the
Modelica language. It will be licensed under Modelica License 2.</p>
<li><p>
Someone writes a book about the Modelica language and/or Modelica
packages and uses information which is available in the Modelica
language specification and/or the corresponding Modelica package.</p>
</ol>
<p><b>Can I sell a manual
that was basically derived by extracting information automatically
from a Modelica package under Modelica License 2 (e.g., a “reference
guide” of the Modelica Standard Library):</b></p>
<p>Yes.
Extracting information from a Modelica package, and providing it in a
human readable, suitable format, like html, doc or pdf format, where
the content is significantly modified (e.g. tables with interface
information are constructed from the declarations of the public
variables) qualifies as Derivative Work and there are no restrictions
to charge a fee for Derivative Work under alternative 2d).</p>
<p><b>Can
I copy a text passage out of a Modelica document (under Modelica
License 2) and use it </b><u><b>unmodified</b></u><b> in my document
(e.g. the Modelica syntax description in the Modelica Specification)?</b></p>
<p>Yes.
In case you distribute your document, the copied parts are still
under Modelica License 2 and you are not allowed to charge a license
fee for this part. You can, of course, charge a fee for the rest of
your document.</p>
<p><b>Can
I copy a text passage out of a Modelica document (under Modelica
License 2) and use it in </b><u><b>modified</b></u><b> form in my
document?</b></p>
<p>Yes,
the creation of Derivative Works is allowed. In case the content is
significantly modified this qualifies as Derivative Work and there
are no restrictions to charge a fee for Derivative Work under
alternative 2d).</p>
<p><b>Can I sell a printed
version of a Modelica document (under Modelica License 2), e.g., the
Modelica Language Specification?</b></p>
<p>No,
if you are not the copyright-holder, since article 2c) does not allow
a selling fee for a (in this case physical) copy. However, mere
printing and shipping costs may be recovered.</p>
</body>
</html>
[BSD 3-clause]
Copyright (c) 2013, Modelica Association
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Modelica Association nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.