Skip to content

Standard licences

Not everything Packt holds arrives with a bespoke author agreement. A code sample carries an MIT licence; a diagram is released under Creative Commons; a whole reference text is published open-access under CC BY. This material is free to reuse — but "free to reuse" is not the same as "no rights at all". MIT still demands attribution; CC BY-NC forbids commercial use; GPL insists derivatives stay open. Those obligations are real, and the platform's rule is absolute: content cannot be used until it belongs to a Work under a Contract.

Standard licences are how the platform keeps that rule without making every open-source snippet wait for a lawyer. They are default contracts — pre-built, ready-made Contracts for the common open-source and Creative Commons licences, shipped with the platform and available inside every tenant. Attaching a Work to ctr_default_cc_by_4_0 takes a second and gives that Work a complete, correct rights regime: all uses permitted, attribution required, and the effective-technological- measures clause encoded as a term the platform actually enforces.

The point is frictionless ingestion with rights intact. Openly-licensed material flows in as fast as it should, and every downstream question — may we build a product from this? may an AI assistant retrieve it? must we credit the author? — has the same firm answer it would if a rights-holder had signed a full agreement. The licence's terms are modelled once, in platform vocabulary, and enforced everywhere the content goes.

This page explains what default contracts are, why they exist, the set that ships, how their well-known identifiers work, and — with a worked example — how a licence's human-readable terms become the platform's structured usage terms, handling terms and manifestation rights.

What a default contract is

A default contract is an ordinary Contract in every respect a consumer can see. It is INBOUND — the licence is a grant of rights to the platform, exactly like an author agreement — it governs one or more Works, and its resolved rights project onto every Resource beneath those Works. Rights checks, events, and reprojection all behave identically to a hand-authored contract.

What makes it a default is two things: it is pre-built (the terms are seeded by the platform, not drafted per Work), and it is immutable (nobody amends MIT). The seeded terms stay at version 1; the write paths reject any attempt to update or add an addendum to a default contract. If a Work needs different terms, it belongs under a different contract — not a mutated copy of a standard one.

flowchart LR
    L["Open licence<br/>on the source material<br/>(MIT, CC BY-NC, …)"]
      --> D["Default contract<br/>ctr_default_&lt;slug&gt;<br/>(pre-built, immutable)"]
    D -->|governs| W["Work<br/>(rights source of truth)"]
    W -->|projected onto| R["Resources<br/>(rights cache + search index)"]

Default contracts are seeded into every tenant. At tenant provisioning the platform copies each default into the new tenant's own partition under its well-known identifier, so ctr_default_mit resolves inside a tenant like any other contract it owns; defaults added after a tenant already exists are backfilled by a platform sweep. Attaching Works to a default (and the events and reprojection that follow) works exactly as it does for any contract in the tenant.

Why a full contract and not a flag on the content

It would be tempting to stamp a Resource with a licence: MIT label and be done. But a label is not enforceable — it says what the licence is, not what that permits. Modelling each licence as a real contract means its obligations are expressed in the same usage, handling and manifestation vocabulary as every negotiated deal, so the same rights engine answers "may I?" the same way for open and proprietary content alike. One model, one enforcement path.

The set that ships

The platform ships defaults for the licences that dominate technical publishing: the permissive open-source family, the copyleft licences, the Creative Commons suite, and the public-domain dedication.

Licence Identifier In one line
MIT ctr_default_mit Permissive; attribution required.
Apache 2.0 ctr_default_apache_2_0 Permissive; attribution required; patent grant noted.
GPL 3.0 ctr_default_gpl_3_0 Copyleft; derivatives share-alike; attribution required.
BSD 2-Clause ctr_default_bsd_2_clause Permissive; attribution required.
BSD 3-Clause ctr_default_bsd_3_clause As BSD 2-Clause, plus no-endorsement.
CC BY 4.0 ctr_default_cc_by_4_0 All uses; attribution required; no DRM on redistribution.
CC BY-SA 4.0 ctr_default_cc_by_sa_4_0 CC BY plus share-alike on derivatives.
CC BY-NC 4.0 ctr_default_cc_by_nc_4_0 CC BY but no commercial use.
CC BY-NC-SA 4.0 ctr_default_cc_by_nc_sa_4_0 Non-commercial and share-alike.
CC BY-ND 4.0 ctr_default_cc_by_nd_4_0 CC BY but no derivatives.
CC BY-NC-ND 4.0 ctr_default_cc_by_nc_nd_4_0 Non-commercial and no derivatives.
CC0 1.0 ctr_default_cc0_1_0 Public-domain dedication; no obligations.

Two properties hold across the whole set:

  • Reproduction and redistribution come as a bundle. Open licences permit copying and sharing in any medium, so wherever a licence permits DISTRIBUTE and COPY the seeded terms also carry MAKE_AVAILABLE (hosting the content for others) and MANUFACTURE (producing physical copies) at the same status, with the same conditions and qualifiers. A restriction that narrows one — CC BY-NC's ban on commercial use — narrows all four equally.
  • None of them permit AI training. No default carries an AI_TRAINING usage term. Because silence denies, training permission is never implied by an open licence — it is always an explicit, per-contract grant a rights-holder must make deliberately.

Standard terms, not legal advice

A default contract encodes the platform's structured reading of a licence so the rights engine can enforce it. It is not a substitute for the licence text, and it does not adjudicate edge cases the licence itself leaves open. Where source material's own terms should govern rather than a modelled contract, the SUBJECT_TO_OPEN_ACCESS_TERMS condition defers to the licence on the content itself.

Statutory exceptions are not licences

One thing you will never find in this list is a default for fair dealing or fair use. An open licence is a standing grant: it attaches to a Work and authorises every future use within its terms, which is exactly what a contract models. A statutory exception — quoting a book to review it, parody, incidental inclusion — is a per-use defence: it authorises one specific act, judged on its own purpose and proportion, and grants nothing to the next act. Modelling it as a contract would attach standing permissions the law does not give.

When content is used under an exception, the record lives where the use lives: on the Activity that makes the use, as an explicit, accountable assertion. The source Work's rights are untouched, and no royalty flows through the edge.

Well-known identifiers, and why versions matter

Every other contract on the platform carries a random identifier (ctr_ followed by a UUID). Default contracts are the one exception: they use well-known IDs of the form ctr_default_<slug>, recorded as such in the Service ID Registry. The stable name is the point — ctr_default_cc_by_4_0 means the same thing in every tenant, so a Work can be attached to it, and documentation and tooling can refer to it, without first looking up a per-tenant UUID.

The identifier also pins the licence version, and this is not cosmetic. Licences are revised, and the revisions change what is permitted. CC BY 3.0 and CC BY 4.0 differ materially — 4.0 adds the clause forbidding effective technological measures (DRM) on redistribution, and covers sui generis database rights. GPL 2.0 and GPL 3.0 differ over patents and tivoisation. Because the modelled terms differ, the two are different contracts.

A licence revision is a new contract, never a mutation

Supporting an older revision of a licence means minting a new well-known identifier — ctr_default_cc_by_3_0 alongside ctr_default_cc_by_4_0 — each with its own seeded terms. The seeded terms of an existing default are never edited in place: they stay immutable at version 1. A Work stays attached to the exact licence revision it was released under, and that basis is pinned in the Resource's rights_basis for the audit trail, so "under which version of CC BY was this permitted?" always has a precise answer.

flowchart TD
    CCBY["Creative Commons Attribution"]
    CCBY --> V3["CC BY 3.0<br/>ctr_default_cc_by_3_0<br/>(own seeded terms)"]
    CCBY --> V4["CC BY 4.0<br/>ctr_default_cc_by_4_0<br/>(adds no-DRM + database rights)"]
    V3 -.->|never mutates into| V4

From licence to platform terms: a worked mapping

The value of a default contract is that a licence written for humans becomes terms a machine can evaluate. The mapping is not mechanical text-matching — it is a deliberate translation of each clause into the platform's rights vocabulary. Working one licence through end to end makes the pattern clear.

Take CC BY-NC 4.0. In prose it says: you may share and adapt the material, in any medium, for any purpose except a commercial one, as long as you give appropriate credit and do not apply technological measures that restrict others from doing what the licence permits. Three distinct obligations hide in that sentence, and each lands in a different part of the model.

  • "Give appropriate credit" is an obligation on every use, not a thing you are permitted to do. It is therefore a handling term, not a usage term: ATTRIBUTION with status REQUIRED. Handling terms travel with the content regardless of what is being done with it.
  • "Except a commercial one" is a restriction on the why, not the who. This is the subtlety worth internalising: it is encoded as purpose: COMMERCIAL prohibited on the usage terms — never as a user type. user_types answers who is acting (an individual, an institution, the platform); purpose answers why. "No commercial use" is always a purpose, so it applies whether the actor is an individual or an institution. One clause, one encoding.
  • "Share and adapt in any medium" maps to the reproduction-and- redistribution bundle: COPY, DISTRIBUTE, MAKE_AVAILABLE and MANUFACTURE all PERMITTED, together with DERIVE (adaptation is allowed — that is what separates CC BY-NC from CC BY-NC-ND). The commercial-purpose prohibition narrows all of them equally.
  • "No effective technological measures" becomes a DRM_PROHIBITED condition on the redistribution usages, the same clause CC BY 4.0 carries.
flowchart LR
    subgraph LIC["CC BY-NC 4.0 (prose)"]
      A["give appropriate credit"]
      B["non-commercial only"]
      C["share &amp; adapt, any medium"]
    end
    subgraph MODEL["Platform terms"]
      HA["Handling: ATTRIBUTION = REQUIRED"]
      PU["Usage: purpose COMMERCIAL = PROHIBITED"]
      UZ["Usage: COPY / DISTRIBUTE /<br/>MAKE_AVAILABLE / MANUFACTURE /<br/>DERIVE = PERMITTED"]
    end
    A --> HA
    B --> PU
    C --> UZ

The result is a Work whose rights answer correctly at the point of use: a request to build a paid product denies on the commercial-purpose prohibition; a request to serve the content in an educational context is permitted but carries the attribution obligation; a request to strip DRM onto a redistributed copy is denied by the condition.

A few licences side by side

The same translation applied across several licences shows how a handful of platform terms compose to cover the whole family. Each row is the distinguishing shape — attribution and the reproduction bundle are common to all the CC and permissive licences unless a row says otherwise.

Licence Key usage terms Key handling / conditions
MIT All manifestation classes and territories permitted; COPY, DERIVE, DISTRIBUTE (and MAKE_AVAILABLE, MANUFACTURE) permitted ATTRIBUTION required; royalty FREE
Apache 2.0 As MIT ATTRIBUTION required; patent grant noted in the term's exception
GPL 3.0 DERIVE permitted ATTRIBUTION required; SHARE_ALIKE condition on derivatives
BSD 3-Clause As MIT ATTRIBUTION required; NO_ENDORSEMENT condition
CC BY 4.0 All uses permitted ATTRIBUTION required; DRM_PROHIBITED on DISTRIBUTE
CC BY-NC 4.0 As CC BY, but purpose: COMMERCIAL prohibited ATTRIBUTION required; DRM_PROHIBITED on DISTRIBUTE
CC BY-SA 4.0 As CC BY ATTRIBUTION required; SHARE_ALIKE on DERIVE
CC BY-ND 4.0 As CC BY, but DERIVE prohibited ATTRIBUTION required
CC0 1.0 All uses permitted No obligations; royalty FREE

Mixed-licence material splits into separate Works

A contract attaches at Work granularity and cannot carve out individual Resources, so an open-access chapter inside an otherwise proprietary title — or a third-party asset under its own licence — must become its own Work at ingestion, attached to the matching default contract. This is how one book can carry both a bespoke author agreement and a ctr_default_cc_by_4_0 chapter without either contaminating the other. See Contract Model §1.

CC BY-NC 4.0 default contract — terms (JSON)

An abridged read of ctr_default_cc_by_nc_4_0, showing how the three obligations above land in the record. Only the rights-relevant terms are shown; commercial terms are FREE. IDs use readable slugs in place of the random suffix.

{
  "id": "ctr_default_cc_by_nc_4_0",
  "title": "Creative Commons BY-NC 4.0",
  "status": "ACTIVE",
  "direction": "INBOUND",
  "version": 1,
  "manifestation_rights": [
    { "manifestation_type": "PRINT", "status": "PERMITTED" },
    { "manifestation_type": "EBOOK", "status": "PERMITTED" },
    { "manifestation_type": "ONLINE", "status": "PERMITTED" }
  ],
  "usage_terms": [
    { "usage_type": "COPY", "status": "PERMITTED" },
    { "usage_type": "DERIVE", "status": "PERMITTED" },
    {
      "usage_type": "DISTRIBUTE",
      "status": "PERMITTED",
      "conditions": [{ "type": "DRM_PROHIBITED" }]
    },
    { "usage_type": "MAKE_AVAILABLE", "status": "PERMITTED" },
    { "usage_type": "MANUFACTURE", "status": "PERMITTED" },
    {
      "usage_type": "DISTRIBUTE",
      "status": "PROHIBITED",
      "purpose": "COMMERCIAL"
    }
  ],
  "handling_terms": [
    { "handling_type": "ATTRIBUTION", "status": "REQUIRED" }
  ],
  "royalty": { "type": "FREE" }
}

The commercial-purpose prohibition is authored as a narrowed PROHIBITED term alongside the unqualified permit; where they overlap, prohibition wins, so an unqualified "may I distribute?" resolves to CONDITIONAL and a commercial one resolves to PROHIBITED.