<- Go to Data Types Go to ToC

1. Definition 2. Functional Requirements 3. Syntax 4. Semantics

1 Definition

The licence of an AIM, in two states of one Data Type: the Implementer’s offer, in the AIM Metadata, which is the Implementer’s licence to the MPAI Store; and the AIM Licence that the MPAI Store issues, signed, to the Entity that runs Controllers (the holder of a Trust Anchor) that obtains the AIM, which is the MPAI Store’s sublicence and which its Controllers keep in their AIM repository.

2 Functional Requirements

2.1 General Requirements

The AIM Licence shall:

  • include a Header matching the pattern AIF-LIC-V<major>.<minor>;
  • include a Grant, whose Rights include Run;
  • disallow any undefined field at the root level (additionalProperties: false).

2.2 The offer

  • The offer is the AIMLicence field of the AIM Metadata. It states what may be done, the limits, for how long, whether newer versions are covered, the price, and where its terms are (TermsURI, required).
  • The offer is the Implementer’s licence to the MPAI Store: it states what the MPAI Store may grant, and the sale price that the Implementer proposes (Payment). It shall have Sublicensing, which states whether the MPAI Store may sublicense the AIM; the MPAI Store issues no AIM Licence for an AIM whose offer does not allow it.
  • The offer shall not have Licensee, Licensor, ParentLicence, Status or Signature: the AIM Metadata is published once, for everybody, and is never overwritten.

2.3 The issued AIM Licence

  • It shall complete the offer for one licensee: it names the AIM and the files covered, each with the fingerprint the MPAI Store approved (AIM); the Licensor, the MPAI Store; the Licensee, the holder of a Trust Anchor; when the Term begins (NotBefore); where validity and revocation are asked, and how long a status may go unconfirmed (Status); and, where the AIM has a price, the proof of payment (Payment).
  • It is a sublicence: it shall be within the offer (what it grants, its Term, its Updates), and shall name the offer it is under (ParentLicence): the Implementer and the hash of the offer. Its price is the sale price proposed in the offer with the mark-up of the MPAI Store applied. Its licensee is the Entity that runs Controllers; it does not license the users of that Entity.
  • It shall be signed by the MPAI Store. What only an issued AIM Licence has comes with the Signature and nothing else does.
  • A Controller shall check, before it builds the AIM, that the signature is the MPAI Store’s, that the Controller is under the Trust Anchor the AIM Licence names, that the AIM Licence is under the offer in the AIM Metadata it holds (ParentLicence), that the files it holds are those the AIM Licence covers, that the Term has not ended, that the Grant covers the use and, when the MPAI Store can be reached, that it is not revoked.
  • The Grant says whose control: Run covers the control of the licensee, wherever the AIM executes; RunUnderOtherControl is needed for the control of a party that is not under the licensee’s Trust Anchor.

3 Syntax

https://schemas.mpai.community/AIF/V3.0/data/AIMLicence.json

4 Semantics

Label Description Offer Issued
Header AIM Licence Header – Standard “AIF-LIC-V3.0” required required
MInstance, UEnvironment As in the other Data Types. optional optional
AIMLicenceID Unique identifier of the AIM Licence, given by the MPAI Store. required
AIMLicenceTime When the MPAI Store issued it. required
TermsURI Where the terms of the AIM Licence are published in the MPAI Store. required optional
Sublicensing Allowed (boolean): whether the MPAI Store may sublicense the AIM, within the Grant, the Term, the Updates and the Payment of the offer. required
AIM What the AIM Licence is for: the AIM Instance identifier (AIMName); the versions covered (Versions: From, To), as the MPAI Store numbers them; the files covered (Implementations: BinaryName, HashAlgorithm, Hash), each Implementation and model with the fingerprint the MPAI Store approved. required
Licensor LicensorID: the MPAI Store, which grants and signs the sublicence. Its right to grant comes from the offer, the Implementer’s licence to the MPAI Store (ParentLicence). required
ParentLicence The offer the AIM Licence is under: ImplementerID, HashAlgorithm and OfferHash, the hash of the AIMLicence field of the AIM Metadata the MPAI Store published (PTF-JSON-CANON-V1 form, SHA-256). required
Licensee TrustAnchorID: the AnchorID of the PTF Trust Anchor (PTF-TRA) of the licensee – an organisation, or one owner. Every Controller whose Instance Credential chains to it is covered, however often Controllers are created and destroyed. ControllerID (optional): only that Controller is covered. required
Grant What may be done. Rights: Run – the AIM executes under the control of the licensee, that is of a Controller under its Trust Anchor, wherever the AIM executes; Keep – keep copies in an AIM repository; RunUnderOtherControl – the AIM executes under the control of another party; ProvideService – use it to give a service to third parties. MaxControllers, MaxConcurrentModules and ExcludedPurposes (optional) limit the use. required required
Term How long it lasts. In an offer, Duration (ISO 8601); in an issued AIM Licence, NotBefore (required) and NotAfter (omitted: it does not end). optional NotBefore required
Updates Included (boolean) and Until: whether newer versions of the AIM are covered. A Controller follows a newer version without a new AIM Licence only if they are. optional optional
Payment An MPAI-MMM Service Pricing Model. In an offer, the pricing model offered with the sale price the Implementer proposes; in an issued AIM Licence, the price with the mark-up of the MPAI Store applied, and SPMStatus Final with the model Chosen and the Settlement, whose Transaction is the proof of acquisition. Omitted for an AIM that costs nothing. It is not a payment mechanism. optional Final, Chosen and Settlement required if present
Obligations UsageReporting and ReportTo: the Controller reports its use of the AIM to the MPAI Store. Attestation: the Controller attests what it runs (MPAI-PTF) when the MPAI Store asks. optional optional
Status StatusURI: where validity and revocation are asked of the MPAI Store. MaxAge (ISO 8601 duration, optional): how long after the MPAI Store last confirmed that the AIM Licence is not revoked – the time of issue, the first time – the AIM may be used without asking again. required
DataXMData, DescrMetadata As in the other Data Types. optional optional
Signature, KeyID The MPAI Store’s signature over the canonical form (PTF-JSON-CANON-V1) of the AIM Licence without its Signature, and the key that verifies it. required

 

<- Go to Data Types Go to ToC