--- Start of Definition of INTO-CPS Association Public License ---

/*
 * This file is part of the INTO-CPS Association.
 *
 * Copyright (c) 2017-CurrentYear, INTO-CPS Association (ICA),
 * c/o Peter Gorm Larsen, Aarhus University, Department of Engineering,
 * Finlandsgade 22, 8200 Aarhus N, Denmark.
 *
 * All rights reserved.
 *
 * THIS PROGRAM IS PROVIDED UNDER THE TERMS OF GPL VERSION 3 LICENSE OR
 * THIS INTO-CPS ASSOCIATION PUBLIC LICENSE (ICAPL) VERSION 1.0.
 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS PROGRAM CONSTITUTES
 * RECIPIENT'S ACCEPTANCE OF THE INTO-CPS ASSOCIATION PUBLIC LICENSE OR
 * THE GPL VERSION 3, ACCORDING TO RECIPIENTS CHOICE.
 *
 * The INTO-CPS tool suite software and the INTO-CPS Association
 * Public License (ICAPL) are obtained from the INTO-CPS Association, either
 * from the above address, from the URLs: http://www.into-cps.org or
 * in the INTO-CPS tool suite distribution.
 * GNU version 3 is obtained from: http://www.gnu.org/copyleft/gpl.html.
 *
 * This program is distributed WITHOUT ANY WARRANTY; without
 * even the implied warranty of  MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY SET FORTH
 * IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS OF
 * THE INTO-CPS ASSOCIATION PUBLIC LICENSE.
 *
 * See the full ICAPL conditions for more details.
 *
 */

--- End of INTO-CPS Association Public License Header ---

The ICAPL is a public license for the INTO-CPS tool suite with three modes/alternatives
(GPL, ICA-Internal-EPL, ICA-External-EPL) for use and redistribution,
in source and/or binary/object-code form:

* GPL. Any party (member or non-member of the INTO-CPS Association) may use and
  redistribute INTO-CPS tool suite under GPL version 3.

* Silver Level members of the INTO-CPS Association may also use and redistribute
  the INTO-CPS tool suite under ICA-Internal-EPL conditions.

* Gold Level members of the INTO-CPS Association may also use and redistribute
  The INTO-CPS tool suite under ICA-Internal-EPL or ICA-External-EPL conditions.

Definitions of the INTO-CPS Association Public license modes:

* GPL = GPL version 3.

* ICA-Internal-EPL = These INTO-CPA Association Public license conditions together with
 Internally restricted EPL, i.e., EPL version 1.0 with the Additional Condition
 that use and redistribution by a member of the INTO-CPS Association is only allowed
 within the INTO-CPS Association member's own organization (i.e., its own legal entity),
 or for a member of the INTO-CPS Association paying a membership fee corresponding to
 the size of the organization including all its affiliates, use and redistribution
 is allowed within/between its affiliates.

* ICA-External-EPL = These INTO-CPA Association Public license conditions together with
 Externally restricted EPL, i.e., EPL version 1.0 with the Additional Condition
 that use and redistribution by a member of the INTO-CPS Association, or by a Licensed
 Third Party Distributor having a redistribution agreement with that member,
 to parties external to the INTO-CPS Association member’s own organization (i.e., its own
 legal entity) is only allowed in binary/object-code form, except the case of
 redistribution to other members the INTO-CPS Association to which source is also
 allowed to be distributed.

[This has the consequence that an external party who wishes to use
the INTO-CPS Association in source form together with its own proprietary software in all
cases must be a member of the INTO-CPS Association].

In all cases of usage and redistribution by recipients, the following
conditions also apply:

a) Redistributions of source code must retain the above copyright notice,
 all definitions, and conditions. It is sufficient if the ICAPL Header is
 present in each source file, if the full ICAPL is available in a prominent
 and easily located place in the redistribution.

b) Redistributions in binary/object-code form must reproduce the above
 copyright notice, all definitions, and conditions. It is sufficient if the
 ICAPL Header and the location in the redistribution of the full ICAPL
 are present in the documentation and/or other materials provided with the
 redistribution, if the full ICAPL is available in a prominent and easily
 located place in the redistribution.

c) A recipient must clearly indicate its chosen usage mode of ICAPL,
 in accompanying documentation and in a text file ICA-USAGE-MODE.txt,
 provided with the distribution.

d) Contributor(s) making a Contribution to the INTO-CPS Association thereby also makes a
 Transfer of Contribution Copyright. In return, upon the effective date of
 the transfer, ICA grants the Contributor(s) a Contribution License of the
 Contribution. ICA has the right to accept or refuse Contributions.

Definitions:

"Subsidiary license conditions" means:

The additional license conditions depending on the by the recipient chosen
mode of ICAPL, defined by GPL version 3.0 for GPL, and by EPL for
ICA-Internal-EPL and ICA-External-EPL.

"ICAPL" means:

INTO-CPS Association Public License version 1.0, i.e., the license
defined here (the text between
"--- Start of Definition of INTO-CPS Association Public License ---" and
"--- End of Definition of INTO-CPS Association Public License ---", or later versions thereof.

"ICAPL Header" means:

INTO-CPS Association Public License Header version 1.2, i.e., the
text between "--- Start of Definition of INTO-CPS Association Public License ---" and
"--- End of INTO-CPS Association Public License Header ---, or later versions thereof.

"Contribution" means:

a) in the case of the initial Contributor, the initial code and documentation
 distributed under ICAPL, and

b) in the case of each subsequent Contributor:
   i) changes to the INTO-CPS tool suite, and
  ii) additions to the INTO-CPS tool suite;

where such changes and/or additions to the INTO-CPS tool suite originate from and are
distributed by that particular Contributor. A Contribution 'originates' from
a Contributor if it was added to the INTO-CPS tool suite by such Contributor itself or
anyone acting on such Contributor's behalf.

For Contributors licensing the INTO-CPS tool suite under ICA-Internal-EPL or
ICA-External-EPL conditions, the following conditions also hold:

Contributions do not include additions to the distributed Program which: (i)
are separate modules of software distributed in conjunction with the INTO-CPS tool suite
under their own license agreement, (ii) are separate modules which are not
derivative works of the INTO-CPS tool suite, and (iii) are separate modules of software
distributed in conjunction with the INTO-CPS tool suite under their own license agreement
where these separate modules are merged with (weaved together with) modules of
The INTO-CPS tool suite to form new modules that are distributed as object code or source
code under their own license agreement, as allowed under the Additional
Condition of internal distribution according to ICA-Internal-EPL and/or
Additional Condition for external distribution according to ICA-External-EPL.

"Transfer of Contribution Copyright" means that the Contributors of a
Contribution transfer the ownership and the copyright of the Contribution to
the INTO-CPS Association, the INTO-CPS Association Copyright owner, for
inclusion in the INTO-CPS tool suite. The transfer takes place upon the effective date
when the Contribution is made available on the INTO-CPS Association web site under ICAPL, by
such Contributors themselves or anyone acting on such Contributors' behalf.
The transfer is free of charge. If the Contributors or the INTO-CPS Association so wish,
an optional Copyright transfer agreement can be signed between the INTO-CPS Association and the Contributors.

"Contribution License" means a license from the INTO-CPS Association to the Contributors of the Contribution, effective on the date of the Transfer of Contribution Copyright,
where the INTO-CPS Association grants the Contributors a non-exclusive, world-wide, transferable, free of charge, perpetual license, including sublicensing rights, to use,
have used, modify, have modified, reproduce and or have reproduced the
contributed material, for business and other purposes, including but not
limited to evaluation, development, testing, integration and merging with
other software and distribution. The warranty and liability disclaimers of
ICAPL apply to this license.

"Contributor" means any person or entity that distributes (part of)
the INTO-CPS tool chain.

"The Program" means the Contributions distributed in accordance with ICAPL.

"The INTO-CPS tool chain" means the Contributions distributed in accordance with ICAPL.

"Recipient" means anyone who receives the INTO-CPS tool chain under ICAPL,
including all Contributors.

"Licensed Third Party Distributor" means a reseller/distributor having signed
a redistribution/resale agreement in accordance with ICAPL and the INTO-CPS
Association Bylaws, with a Gold Level organizational member which is not an
Affiliate of the reseller/distributor, for distributing a product containing
part(s) of the INTO-CPS tool suite. The Licensed Third Party Distributor shall
only be allowed further redistribution to other resellers if the Gold Level
member is granting such a right to it in the redistribution/resale agreement
between the Gold Level member and the Licensed Third Party Distributor.

"Affiliate" shall mean any legal entity, directly or indirectly, through one
or more intermediaries, controlling or controlled by or under common control
with any other legal entity, as the case may be. For purposes of this
definition, the term "control" (including the terms "controlling,"
"controlled by" and "under common control with") means the possession,
direct or indirect, of the power to direct or cause the direction of the
management and policies of a legal entity, whether through the ownership of
voting securities, by contract or otherwise.

NO WARRANTY

EXCEPT AS EXPRESSLY SET FORTH IN THE BY RECIPIENT SELECTED SUBSIDIARY
LICENSE CONDITIONS OF ICAPL, THE INTO-CPS ASSOCIATION IS PROVIDED ON AN "AS IS"
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE. Each Recipient is solely responsible for determining the
appropriateness of using and distributing the INTO-CPS tool suite and assumes all risks
associated with its exercise of rights under ICAPL , including but not
limited to the risks and costs of program errors, compliance with applicable
laws, damage to or loss of data, programs or equipment, and unavailability
or interruption of operations.

DISCLAIMER OF LIABILITY

EXCEPT AS EXPRESSLY SET FORTH IN THE BY RECIPIENT SELECTED SUBSIDIARY
LICENSE CONDITIONS OF ICAPL, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
LOST PROFITS), 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 OR DISTRIBUTION OF THE INTO-CPS TOOL
SUITE OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGES.

A Contributor licensing the INTO-CPS tool suite under ICA-Internal-EPL or
ICA-External-EPL may choose to distribute (parts of) the INTO-CPS tool suite
in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of ICAPL; or for the case of
redistribution of the INTO-CPS tool suite together with proprietary code it is a dual
license where the INTO-CPS tool suite parts are distributed under ICAPL compatible
conditions and the proprietary code is distributed under proprietary license
conditions; and

b) its license agreement:
   i) effectively disclaims on behalf of all Contributors all warranties and
conditions, express and implied, including warranties or conditions of title
and non-infringement, and implied warranties or conditions of merchantability
and fitness for a particular purpose;
  ii) effectively excludes on behalf of all Contributors all liability for
damages, including direct, indirect, special, incidental and consequential
damages, such as lost profits;
 iii) states that any provisions which differ from ICAPL are offered by that
Contributor alone and not by any other party; and
  iv) states from where the source code for the INTO-CPS tool suite is available, and
informs licensees how to obtain it in a reasonable manner on or through a
medium customarily used for software exchange.

When the INTO-CPS tool suite is made available in source code form:

 a) it must be made available under ICAPL; and

 b) a copy of ICAPL must be included with each copy of the INTO-CPS tool suite.

 c) a copy of the subsidiary license associated with the selected mode of
ICAPL must be included with each copy of the INTO-CPS tool suite.

Contributors may not remove or alter any copyright notices contained within
The INTO-CPS tool suite.

If there is a conflict between ICAPL and the subsidiary license conditions,
ICAPL has priority.

This Agreement is governed by the laws of Denmark. The place of jurisdiction
for all disagreements related to this Agreement, is Aarhus, Denmark.

The EPL 1.0 license definition has been obtained from:
http://www.eclipse.org/legal/epl-v10.html. It is also reproduced in the INTO-CPS distribution.

The GPL Version 3 license definition has been obtained from
http://www.gnu.org/copyleft/gpl.html. It is also reproduced in the INTO-CPS distribution.

--- End of Definition of INTO-CPS Association Public License ---
