Status: The Aegean License 1.1, Game License 1.1, Science License 1.1 and Commercial License 1.0 are the operative texts. Legal review is recommended before relying on either in a dispute.
A central home for the licensing terms, license-version history, commercial licensing process, certificate tooling, and backward-compatibility policy for projects published under the Aegean brand.
- Runtime Prerequisites: Python >= 3.10 (Standard Library only; zero external runtime dependencies)
- Build:
pip wheel .(build-time only:setuptools>=77); wheels and sdists ship the legal documents - CI:
.github/workflows/ci.ymlruns the suite on Python 3.10β3.13 and verifies the built wheel - Canonical Regression Shield Gate:
python -m unittest discover tests
| Role | Command |
|---|---|
| Status, task and gates | python aikit.py status aegean-licensing |
| Phase 4: every gate | python aikit.py check aegean-licensing |
| Repair memory and map, then check | python aikit.py fix aegean-licensing |
| Resume an interrupted task | python aikit.py resume aegean-licensing |
- Personal Use: Free for an individual's own private, non-commercial use under the Aegean License 1.1 (
licenses/AL-1.1.md,LicenseRef-AL-1.1). - Game Use: Games and interactive works use the Aegean Game License 1.1 (
licenses/AGL-1.1.md,LicenseRef-AGL-1.1): free personal play, streaming, private servers, modding and free mods, with a DRM-free covenant (no mandatory client, account binding or activation) that forbids adding DRM to a permitted mod or patch. Assets are licensed only when the LICENSE or asset manifest lists them. - Science Use: Non-commercial research and teaching use the Aegean Science License 1.1 (
licenses/ASL-1.1.md,LicenseRef-ASL-1.1): publication, reproducibility sharing, text/data mining and non-commercial ML training. It is non-commercial source-available, not open source. - Which One:
licenses/CATALOG.mdmaps each license to the project it fits, lists the drafted governance instruments, and names the gaps that still need counsel review or a signed Order Form. - Commercial & Organizational Use: Requires the paid Aegean Commercial License 1.0 (
licenses/ACL-1.0.md) before the use begins (aegean-licensing@proton.me); ACL-1.0 covers code and logic, so art, audio, datasets and model weights need a separate grant under ASSET_POLICY.md. Each company may first evaluate for 28 days, once per company group, non-production only (AL-1.1 Section 4.3). - Privacy: Personal data in licensing is processed as the KVKK notice in
licenses/PRIVACY.mddescribes. - Restricted Tier: A project too valuable to distribute switches to the All Rights Reserved notice in
licenses/RESTRICTED-NOTICE.mdfrom a recorded cutoff commit; earlier versions keep their license. - No AGPL: AegeanWorks makes no new release under AGPL-3.0.
- Explicit Versioning: Each release must identify its governing license and version.
- Older Versions & Reissuance: Older versions may be reissued under the current Aegean license only where the rights holder controls the necessary rights and the release is clearly marked as such.
- Backward Compatibility & Non-Retroactivity: Existing permissions granted under prior licensesβincluding AGPL-3.0βare not retroactively revoked. The new license cannot force existing recipients to give up a valid earlier grant. See BACKWARD-COMPATIBILITY-DRAFT.md.
Operational Notice: The root
LICENSEis a verbatim copy oflicenses/AL-1.1.md. Every repository or release it governs carries that exact text, and its release notes name the license version.
- Keep AegeanWorks as the named licensor and
aegean-licensing@proton.meas the contact in every text. - Confirm copyright ownership and contributor rights for every project.
- Decide the migration plan for each repository, including Chronos's prior AGPL-licensed releases.
- Obtain legal review for the final custom license and commercial agreement.
This repository publishes the license texts, the public register of issued certificates and a
pure standard-library verifier (aegean-license or python -m aegean_licensing). Issuing,
registering and revoking certificates, portfolio audits and templates are AegeanWorks' private
operations tooling and are not distributed (ADR-017).
python -m aegean_licensing verify license_certificate_<id>.json --project chronos --register licenses/issued.json
python -m aegean_licensing verify license_certificate_<id>.json --register licenses/issued.json --as-of 2026-10-26The register (licenses/issued.json) is the public proof of authenticity: it lists each issued
certificate's id, digest, license type, date and status, never licensee data, plus a generated_at
/ next_update freshness window and a closed reason_code on revocations. An HMAC signature can
be checked only with the signing key, which is never published (ADR-013). A certificate missing
from the register is UNREGISTERED; a revoked one is REVOKED. A missing or expired freshness
window is UNDATED_REGISTER / STALE_REGISTER, and the verifier fails closed. Always use the
register from this repository, not a copy supplied with the certificate. The exact
canonicalization, register format and a known-answer vector for third-party verifiers are
published in licenses/VERIFICATION.md.
--as-of DATE is a historical question, not a current authorization. A key-compromise entry that
carries an invalidity_date can be VALID_AS_OF before that date; every other revocation is
prospective and stays REVOKED. --as-of and --date cannot be combined.
Only format 2 certificates verify: each carries a random 256-bit serial, and its digest
is bound to the format-2 domain. Any format-1 certificate, including one made with the issuer
this repository published before ADR-018, is UNSUPPORTED_FORMAT. Checking the issuer's HMAC
signature needs AegeanWorks' secret key, so that step is private.
A certificate lists the ACL-1.0 exceptions it grants (ai-training, hosted-service); the
vocabulary lives in licenses/terms.json, and verify rejects any other value.
Commercial licensing is arranged privately by email. Nothing is sold, ordered, or paid for through GitHub or this repository, and no prices or payment details are published here.
-
Email
aegean-licensing@proton.mewith the legal licensee name, registration or tax id, address, country, project(s), tier, intended scope, and desired term. -
The licensor replies with the applicable terms and fees. The parties record them in an Order Form that incorporates
licenses/ACL-1.0.md. -
After the agreed payment is confirmed in writing, the licensor issues the certificate and records it in the public register. Anyone can then check it:
python -m aegean_licensing verify license_certificate_<id>.json --register licenses/issued.json
A certificate's SHA-256 digest proves only that the record is internally consistent; the register
proves it was issued and not revoked. See COMMERCIAL.md and licenses/COMMERCIAL_FAQ.md.
AI-Generated Brand Artwork. The banner and logo are AI-generated brand assets. They are illustrative and may not literally depict every feature or the full project scope.
.github/workflows/cla-check.yml requires external contributors to comment
/agree-cla. Accepted logins are recorded with the comment URL as evidence in
.github/cla-signatures.json on the default branch, so acceptance survives later
comment edits or deletion. A maintainer can revoke an acceptance by adding the login
to the register's revoked array; the workflow then fails future checks for that
contributor. Each run sets the AegeanWorks CLA commit status on the pull request's head, so
a /agree-cla comment turns it green without a new push; make that status a required check. The
workflow also labels the pull request cla-signed. Organization owners and members, and bots,
are exempt.
The workflow proves acceptance, not approval: merge rights still come from branch
protection. Require at least one maintainer review on the default branch so a
cla-signed label cannot merge a change by itself.
.github/workflows/ci.yml runs python -m unittest discover tests on Python 3.10
through 3.13 and on Windows (3.12), builds a wheel, asserts that the legal documents are
bundled, installs the wheel, and smoke-tests verify and the frozen ACL-1.0 digest from a
directory outside the checkout.
aegean-licensing/
βββ .gitignore <- transient AIKit state and issued certificates excluded
βββ .github/
β βββ workflows/
β β βββ ci.yml <- Tests on 3.10-3.13 and wheel-content verification
β β βββ cla-check.yml <- Automated pull-request CLA verification
β βββ cla-signatures.json <- Durable record of accepted and revoked contributors
βββ MANIFEST.in <- Ships legal documents in source distributions
βββ REUSE.toml <- SPDX/REUSE metadata for the license expression
βββ CHANGELOG.md <- version and draft change history
βββ LICENSE <- Aegean License 1.1 (copy of licenses/AL-1.1.md)
βββ COMMERCIAL.md <- Commercial licensing terms (ACL-1.0; the old Exhibit A summary is retired)
βββ README.md <- Architecture, quickstart, and commands
βββ assets/
βββ pyproject.toml <- Packaging metadata and console entrypoints
βββ setup.py <- Build hook that bundles legal documents into the wheel
βββ .aikit/ <- AIKit memory: record, ledger, decisions
β βββ project.json
β βββ media.json
β βββ reforge.json
β βββ task_ledger.json
β βββ decisions.md
β βββ guidelines.md
β βββ codebase_map.md
βββ policies/ <- Licensing and governance policies
β βββ BACKWARD-COMPATIBILITY-DRAFT.md <- Older versions and non-retroactivity policy
β βββ PORTFOLIO-MIGRATION-PLAN.md <- Project-by-project migration roadmap
β βββ SECURITY-DISCLOSURE.md <- Vulnerability reporting and safe harbour
β βββ SUPPORT-POLICY.md <- Free-tier and commercial support expectations
β βββ PROVENANCE-POLICY.md <- Asset and data rights evidence
β βββ SPDX-REUSE-POLICY.md <- Machine-readable license metadata
β βββ DUAL-LICENSE-POLICY.md <- Written permissive/GPL-compatible grants
βββ licenses/ <- Canonical legal agreements & policies
β βββ LicenseRef-AL-1.1.txt <- REUSE copy of the Aegean License 1.1 text
β βββ ACL-1.0.md <- Full binding Aegean Commercial License agreement
β βββ issued.json <- Public register of issued certificates (no personal data)
β βββ VERIFICATION.md <- Canonical format-2 payload, digest order and register rules
β βββ verification-vector.json <- Known-answer fixture for third-party verifiers (not issued)
β βββ terms.json <- License registry: scopes, tiers, allowances, pinned ACL-1.0 digest
β βββ AL-1.0.md <- Archived: grants for Versions released under 1.0
β βββ AL-1.1.md <- Aegean License 1.1: free personal use
β βββ AGL-1.0.md <- Archived: grants for Versions released under 1.0
β βββ AGL-1.1.md <- Aegean Game License 1.1: DRM-free personal play
β βββ ASL-1.0.md <- Archived: grants for Versions released under 1.0
β βββ ASL-1.1.md <- Aegean Science License 1.1: non-commercial research
β βββ CATALOG.md <- Which license to use, what each grants, remaining gaps
β βββ LEGAL-REVIEW-CHECKLIST.md <- Counsel review hand-off before first paid issuance
β βββ TRADEMARK-POLICY.md <- Names, badges and nominative use
β βββ OPENRAIL-ATTACHMENT-DRAFT.md <- Optional use-restriction attachment
β βββ RESTRICTED-NOTICE.md <- All Rights Reserved notice for the restricted tier
β βββ PRIVACY.md <- KVKK Article 10 privacy notice (Turkish controls)
β βββ ASSET_POLICY.md <- Delineation between source code and creative/domain assets
β βββ COMMERCIAL_FAQ.md <- Plain-English customer FAQ
β βββ CONTRIBUTING_CLA.md <- Contributor License Agreement: relicensing and patent rights
β βββ DUAL_LICENSE_NOTICE.txt <- Standard repo and file header notice
β βββ commercial/
β βββ GAME-ASSET-ADDENDUM-DRAFT.md <- Commercial art/audio grant (draft)
β βββ DATA-WEIGHTS-ADDENDUM-DRAFT.md <- Commercial data/weights grant (draft)
β βββ PERMISSIVE-GRANT-TEMPLATE.md <- Named MIT/Apache-2.0 grant (draft)
β βββ SECURITY-SLA-EXHIBIT-DRAFT.md <- Optional commercial response SLA
β βββ COMMERCIAL-LICENSE-TEMPLATE-DRAFT.md <- Commercial agreement draft placeholder
βββ aegean_licensing/ <- Verification package (pure standard library; issuing is private)
β βββ __init__.py
β βββ __main__.py
β βββ bounded_json.py <- Byte, depth and node caps for untrusted JSON
β βββ metadata.py <- Rendered-field validation and whitespace normalization
β βββ fingerprint.py <- Verification ruleset identity and mismatch refusal
β βββ cert.py <- Frozen certificate DTO & canonical JSON hashing
β βββ verifier.py <- Tamper detection, signature check & scope validation
β βββ bundler.py <- Copies legal documents into built wheels
β βββ license_terms.py <- License registry and frozen agreement digests
β βββ register.py <- Reads the public register of issued and revoked certificates
β βββ cli.py <- `verify` command (<250ms cold response)
βββ tests/ <- Unit test suite (100% pass, ~2ms/test)
βββ __init__.py
βββ fixtures.py <- Test-only certificate builder
βββ test_cert.py
βββ test_bounded_json.py
βββ test_metadata.py
βββ test_fingerprint.py
βββ test_verifier.py
βββ test_verification_spec.py
βββ test_bundler.py
βββ test_register.py
βββ test_license_terms.py
βββ test_workflow_assets.py
βββ test_cli.py
Free for personal use under the Aegean License 1.1; see LICENSE. Any commercial use needs the Aegean Commercial License 1.0; see COMMERCIAL.md. Any version of this repository already released under GNU AGPL-3.0 keeps that license.
