1. Preamble
This license is about synthesizable hardware code, compilers,
hardware interfaces and application programming interfaces.
This license allows you to do two things:
a) to use the code or modifications thereof in an embedded form to
create Prototypes free of charge and free of any obligations, and
b) to contribute to the code and to release modified or extended
versions under the same license terms, including the use, and/or
granting the use of patents which may be necessary to use said code.
This license does NOT allow you to create and offer for sale
a Product. The latter requires a unilateral license agreement
with the Initial Developer, which will be granted free of charge
without restriction under the condition that You are co-operating
with a support entity (e.g. university) that supports your use of
Covered Code.
As the initial developer I reserve the right to authorize entities to
certify compatibility of modified or extended code with the original
code at a reasonable charge. This is the Initial Developer's only
business interest in the Original Code or Executables thereof
besides using it to create smart products.
2 Definitions
2.1 "Contributor"
means each entity that creates or contributes to the creation of
Modifications for any use except to create a Product.
2.2 "Contributor Version"
means the combination of the Original Code, prior Modifications
used by a Contributor, and the Modifications made by that particular
Contributor.
2.3 "Covered Code"
means the Original Code or Modifications or the combination of the
Original Code and Modifications, in each case including portions
thereof.
2.4 "Electronic Distribution Mechanism"
means a mechanism generally accepted in the Software development
community for the electronic transfer of data.
2.5 "Executable"
means Covered Code in any form other than Source Code. This
includes FPGA configuration bit images as well as technology
specific netlists.
2.6 "Initial Developer"
means the individual or entity identified as the Initial Developer
in the Source Code notice required by Exhibit A.
2.7 "Larger Work"
means a work which combines Covered Code or portions thereof with
code not governed by the terms of this License.
2.8 "License"
means this document.
2.9 "Modifications"
means any addition to or deletion from the substance or structure of
either the Original Code or any previous Modifications. When Covered
Code is released as a series of files instead of just being used
to create a Prototype, a Modification is:
(a) Any addition to or
deletion from the contents of a file containing Original Code or
previous Modifications.
(b) Any new file that contains any part
of the Original Code or previous Modifications.
2.10 "Original Code"
means Source Code of hardware description or computer software code
which is described in the Source Code notice required by Exhibit A
as Original Code, and which, at the time of its release under this
License is not already Covered Code governed by this License.
2.11 "Product"
means any entity, which You create or manufacture, or which has
been created or manufactured on your behalf using Covered Code in
the development process and that is not itself Covered Code or a
Larger Work, which is offered for sale in any form.
2.12 "Prototype"
means any entity, which You create using Covered Code in the
development process and that is not itself Covered Code or a
Larger Work.
2.13 "Source Code"
means the preferred form of the Covered Code for making modifications
to it, including all modules it contains, plus any associated
interface definition files, scripts used to control synthesis,
compilation, simulation or installation of an Executable, or a
list of source code differential comparisons against either the
Original Code or another well known, available Covered Code of the
Contributor's choice. The Source Code can be in a compressed or
archival form, provided the appropriate decompression or dearchiving
software is widely available for no charge.
2.14 "Validator"
means each entity that has been authorized by the Initial Developer
to certify compatibility of a specific Covered Code with the
Original Code.
2.15 "You"
means an individual or a legal entity exercising rights under, and
complying with all of the terms of this License or a future version
of this License issued under Section 6.1. For legal entities,
"You" includes any entity which controls, is controlled by, or is
under common control with You. For purposes of this definition,
"control" means (a) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (b) ownership of fifty percent (50%) or more of the
outstanding shares or beneficial ownership of such entity.
3 Source Code License.
3.1 The Initial Developer Grant
The Initial Developer hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) to use, reproduce, modify, display, perform, sublicense and
distribute the Original Code (or portions thereof) with or without
Modifications, or as part of a Larger Work; and
(b) under Patents now or hereafter owned or controlled by Initial
Developer, to make, have made, and use the Original Code (or
portions thereof), but solely to the extent that any such patent
is reasonably necessary to enable You to utilize the Original Code
(or portions thereof) and not to any greater extent that may be
necessary to utilize further Modifications or combinations,
(c) under the condition that You may not claim compatibility of
Covered Code with the Original Code unless certified by a Validator.
3.2 Contributor Grant
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) to use, reproduce, modify, display, perform, sublicense and
distribute the Modifications created by such Contributor (or portions
thereof) either on an unmodified basis, with other Modifications,
as Covered Code or as part of a Larger Work; and
(b) under patents now or hereafter owned or controlled by
Contributor, to Utilize the Contributor Version (or portions
thereof), but solely to the extent that any such patent is reasonably
necessary to enable You to Utilize the Contributor Version (or
portions thereof), and not to any greater extent that may be
necessary to Utilize further Modifications or combinations,
(c) under the condition that You may not claim compatibility of
Covered Code with the Contributor Version unless certified by
a Validator.
4 Distribution Obligations
4.1 Application of License
The Modifications which You create or to which You contribute are
governed by the terms of this License, including without limitation
Section 3.2 unless solely used to create a Prototype. The Source
Code version of Covered Code may be distributed only under the
terms of this License or a future version of this License released
under Section 7.1, and You must include a copy of this License
with every copy of the Source Code You distribute. You may not
offer or impose any terms on any Source Code version that alters or
restricts the applicable version of this License or the recipients'
rights hereunder. However, You may include an additional document
offering the additional rights described in Section 4.5.
4.2 Availability of Source Code
Any Modifications which You create or to which You contribute to be
released as a series of files must be made available in Source Code
form under the terms of this License via an accepted Electronic
Distribution Mechanism to anyone to whom you made an Executable
version available; and if made available via Electronic Distribution
Mechanism, must remain available for at least twelve (12) months
after the date it initially became available, or at least six (6)
months after a subsequent version of that particular Modification
has been made available to such recipients. You are responsible
for ensuring that the Source Code version remains available even if
the Electronic Distribution Mechanism is maintained by a third party.
4.3 Description of Modifications
You must cause all Covered Code to which you contribute to contain
a file documenting the changes You made to create that Covered Code
and the date of any change. You must include a prominent statement
that the Modification is derived, directly or indirectly, from
Original Code provided by the Initial Developer and including the
name of the Initial Developer in (a) the Source Code, and (b) in any
notice in an Executable version or related documentation in which
You describe the origin or ownership of the Covered Code. Under no
circumstances may you claim compatibility with the Original Version
unless certified by a Validator.
4.4 Intellectual Property Matters
(a) Third Party Claims.
If You have knowledge that a party claims an intellectual property
right in particular functionality or code (or its utilization
under this License), you must include a text file with the source
code distribution titled "LEGAL" which describes the claim and the
party making the claim in sufficient detail that a recipient will
know whom to contact. If you obtain such knowledge after You make
Your Modification available as described in Section 4.2, You shall
promptly modify the LEGAL file in all copies You make available
thereafter and shall take other steps (such as notifying appropriate
mailing lists or newsgroups) reasonably calculated to inform those
who received the Covered Code that new knowledge has been obtained.
(b) Contributor APIs.
If Your Modification is a hardware interface or an application
programming interface and You own or control patents which are
reasonably necessary to implement that API, you must also include
this information in the LEGAL file.
4.5 Required Notices.
You must duplicate the notice in Exhibit A in each file of the Source
Code, and this License in any documentation for the Source Code,
where You describe recipients' rights relating to Covered Code. If
You created one or more Modification(s), You may add your name as
a Contributor to the notice described in Exhibit A. If it is not
possible to put such notice in a particular Source Code file due to
its structure, then you must include such notice in a location (such
as a relevant directory file) where a user would be likely to look
for such a notice. You may choose to offer, and to charge a fee for,
warranty, support, validation, indemnity or liability obligations
to one or more recipients of Covered Code. However, You may do so
only on Your own behalf, and not an behalf of the Initial Developer
or any Contributor. You must make it absolutely clear that any such
warranty, support, indemnity or liability obligation is offered by
You alone, and You hereby agree to indemnify the Initial Developer
and every Contributor for any liability incurred by the Initial
Developer or such Contributor as a result of warranty, support,
validation, indemnity or liability terms You offer.
4.6 Distribution of Executable Versions.
You may distribute Covered Code in Executable form only if the
requirements of Section 4.1-4.5 have been met for that Covered Code,
and if You include a notice stating that the Source Code version
of the Covered Code is available under the terms of this License,
including a description of how and where You have fulfilled the
obligations of Section 4.2. The notice must be conspicuously
included in any notice in an Executable version, related
documentation or collateral in which You describe recipients' rights
relating to the Covered Code. You may distribute the Executable
version of Covered Code under a license of Your choice, which may
contain terms different from this License, provided that You are
in compliance with the terms of this License and that the license
for the Executable version does not attempt to limit or alter the
recipient's rights in the Source Code version from the rights set
forth in this License. If You distribute the Executable version
under a different license You must make it absolutely clear that
any terms which differ from this License are offered by You alone,
not by the Initial Developer or any Contributor. You hereby agree
to indemnify the Initial Developer and every Contributor for any
liability incurred by the Initial Developer or such Contributor as
a result of any such terms You offer.
4.7 Larger Works.
You may create a Larger Work by combining Covered Code with other
code not governed by the terms of this License and distribute the
Larger Work as a single product. In such a case, You must make sure
the requirements of this License are fulfilled for the Covered Code.
10 Limitation of Liability
EXCEPT AS EXPRESSLY PROVIDED IN THIS AGREEMENT, IN NO EVENT SHALL
THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR
OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES BE LIABLE
FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
RESULTING FROM ITS PERFORMANCE OR FAILURE TO PERFORM UNDER
THIS AGREEMENT, OR THE FURNISHING, PERFORMANCE, OR USE OF: (I)
ANY HARDWARE DESCRIPTION CODE, SOFTWARE, INTELLECTUAL PROPERTY,
AND TRANSFER MATERIALS LICENSED HEREBY, OR (II) THE DELIVERABLES
ASSIGNED HEREBY. HOWEVER, THIS DOES NOT EXCLUDE LIABILITY FOR
DEATH OR PERSONAL INJURY RESULTING FROM EITHER PARTY'S NEGLIGENCE.
11 Miscellaneous
This License represents the complete agreement concerning subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. This License shall be governed by
German law provisions (except to the extent applicable law, if any,
provides otherwise), excluding its conflict-of-law provisions. With
respect to disputes in which at least one party is a citizen of,
or an entity chartered or registered to do business in, Europe: (a)
unless otherwise agreed in writing, all disputes relating to this
License (excepting any dispute relating to intellectual property
rights) shall be subject to final and binding arbitration, with the
losing party paying all costs of arbitration; (b) any arbitration
relating to this Agreement shall be held in Hamburg, Germany,
under the auspices of the German Maritime Arbitration Association
(www.gmaa.de); and (c) any litigation relating to this Agreement
shall be subject to the jurisdiction of the Court of Hamburg, with
the losing party responsible for costs, including without limitation,
court costs and reasonable attorneys fees and expenses. The
application of the United Nations Convention on Contracts for
the International Sale of Goods is expressly excluded. Any law or
regulation which provides that the language of a contract shall be
construed against the drafter shall not apply to this License.