diff --git a/CHANGELOG.md b/CHANGELOG.md index a153282..fdc2943 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project are documented in this file. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [Semantic Versioning](https://semver.org/). +## [Unreleased] + +### Changed + +- Documented free written licenses and registration for security advisories and critical update notices. + ## [1.0.0-rc.1] - 2026-11-12 First release candidate, published on [Packagist](https://packagist.org/packages/maatify/php-persistence). diff --git a/LICENSE b/LICENSE index 23c643a..6eac101 100644 --- a/LICENSE +++ b/LICENSE @@ -12,6 +12,17 @@ sell, create derivative works from, or commercially exploit the software without prior written authorization or a separate written license agreement from Maatify. +Free license and registration + +Maatify issues licenses for this software at no charge. Except as expressly +permitted above or by applicable law, you must obtain written authorization +from Maatify before using the software. To request a license, contact +support@maatify.dev. + +Maatify maintains a register of license holders and uses their designated +contact details to administer licenses and send security advisories and +critical update notices. + Unauthorized use is prohibited. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR diff --git a/README.md b/README.md index 74c9420..5476349 100644 --- a/README.md +++ b/README.md @@ -150,7 +150,12 @@ See [docs/architecture/QUALITY_TOOLING.md](docs/architecture/QUALITY_TOOLING.md) ## License -Maatify Proprietary License โ€” see [LICENSE](LICENSE). No usage rights are granted beyond what that file states. +This package is proprietary. For use under the terms on this branch, request +a free written license from [support@maatify.dev](mailto:support@maatify.dev). +Include your organization name, if applicable, and an email address for +security advisories and critical update notices. Maatify uses these details +to administer licenses and send those notices. See [LICENSE](LICENSE) for +the terms. Published versions carry their own license file. ## ๐Ÿ‘ค Author diff --git a/docs/decisions/DEC-002-proprietary-licensing.md b/docs/decisions/DEC-002-proprietary-licensing.md index fbc5bab..952adf2 100644 --- a/docs/decisions/DEC-002-proprietary-licensing.md +++ b/docs/decisions/DEC-002-proprietary-licensing.md @@ -2,12 +2,12 @@ - **Decision ID:** `DEC-002` - **Title:** Proprietary licensing -- **Status:** `ACTIVE` +- **Status:** `SUPERSEDED` - **Date:** `2026-10-23` - **Decision Authority:** `Project Owner` - **Scope / Concern:** License of the repository and of any package distributed from it. - **Supersedes:** `โ€”` -- **Superseded By:** `โ€”` +- **Superseded By:** `DEC-014` - **Canonical Contract / Current Owner:** [LICENSE](../../LICENSE) ## Context diff --git a/docs/decisions/DEC-014-free-license-registration.md b/docs/decisions/DEC-014-free-license-registration.md new file mode 100644 index 0000000..67ce3f8 --- /dev/null +++ b/docs/decisions/DEC-014-free-license-registration.md @@ -0,0 +1,26 @@ +# DEC-014 โ€” Free written licenses and registration + +- **Decision ID:** `DEC-014` +- **Title:** Free written licenses and registration +- **Status:** `ACTIVE` +- **Date:** `2026-11-13` +- **Decision Authority:** `Project Owner` +- **Scope / Concern:** Proprietary licensing and registration for the next package release. +- **Supersedes:** `DEC-002` +- **Superseded By:** `โ€”` +- **Canonical Contract / Current Owner:** [LICENSE](../../LICENSE) + +## Decision + +The package retains the Maatify Proprietary License and Maatify remains the +rights holder. Maatify issues written licenses at no charge and uses the +registered contact details to administer licenses and send security advisories +and critical update notices. Composer continues to identify the license as +`proprietary`. The provenance and third-party notice requirements in DEC-002 +continue to apply. + +## Release boundary + +Include these terms with the next RC or Stable release through the usual +release process. This decision does not authorize a release or modify an +already published artifact. diff --git a/docs/decisions/DECISIONS_INDEX.md b/docs/decisions/DECISIONS_INDEX.md index e11b714..d76c4d8 100644 --- a/docs/decisions/DECISIONS_INDEX.md +++ b/docs/decisions/DECISIONS_INDEX.md @@ -5,7 +5,7 @@ Current-state discovery surface for durable decisions of this repository. It is | Decision ID | Title | Status | Scope / Concern | Decision Record | Canonical Contract / Current Owner | Supersedes | Superseded By | |---|---|---|---|---|---|---|---| | `DEC-001` | Initial default-branch bootstrap of the empty repository | `ACTIVE` | One-time creation of `main` by direct initial commit; contents and authorized Git operations. | [DEC-001-initial-repository-bootstrap.md](./DEC-001-initial-repository-bootstrap.md) | This record (the central standards define no empty-repository procedure). | โ€” | โ€” | -| `DEC-002` | Proprietary licensing | `ACTIVE` | Repository license: Maatify Proprietary License, not MIT. | [DEC-002-proprietary-licensing.md](./DEC-002-proprietary-licensing.md) | `LICENSE` | โ€” | โ€” | +| `DEC-002` | Proprietary licensing | `SUPERSEDED` | Repository license: Maatify Proprietary License, not MIT. | [DEC-002-proprietary-licensing.md](./DEC-002-proprietary-licensing.md) | `LICENSE` | โ€” | `DEC-014` | | `DEC-003` | Selective pinned standards adoption at an exact upstream commit | `ACTIVE` | Pinned engineering standards snapshot `ebcf55bโ€ฆ` (Owner decision M-5) and adoption scope. | [DEC-003-pinned-standards-adoption.md](./DEC-003-pinned-standards-adoption.md) | [STANDARDS_MANIFEST.md](../php-engineering-standards/STANDARDS_MANIFEST.md) | โ€” | โ€” | | `DEC-004` | Package identity, root namespace and exception marker | `ACTIVE` | `maatify/php-persistence`, `Maatify\PhpPersistence\`, `PhpPersistenceExceptionInterface`, `PageResultDTO`. | [DEC-004-package-identity-namespace-and-exception-marker.md](./DEC-004-package-identity-namespace-and-exception-marker.md) | This record; [CONTRACT_MATRIX.md](../architecture/CONTRACT_MATRIX.md) | โ€” | โ€” | | `DEC-005` | Coexistence with the legacy package, without compatibility shortcuts | `ACTIVE` | Both packages installable together; no `replace`, `provide`, `conflict`, `class_alias` or bridges. | [DEC-005-coexistence-with-legacy-package.md](./DEC-005-coexistence-with-legacy-package.md) | This record | โ€” | โ€” | @@ -17,3 +17,4 @@ Current-state discovery surface for durable decisions of this repository. It is | `DEC-011` | Responsibility placement, savepoint helper ownership and retained names | `ACTIVE` | `Repository/` for SQL-issuing classes, single `@internal` savepoint helper, no optional renames. WU-6 characterization tests remain mandatory before the API freeze. | [DEC-011-responsibility-placement-and-savepoint-helper.md](./DEC-011-responsibility-placement-and-savepoint-helper.md) | [ARCHITECTURE.md](../architecture/ARCHITECTURE.md) | โ€” | โ€” | | `DEC-012` | Mandatory PDO MySQL driver | `ACTIVE` | `ext-pdo` and `ext-pdo_mysql` as unconditional `require` entries; no optional-driver path; `maatify/exceptions` declared ahead of the first exception class. | [DEC-012-mandatory-pdo-mysql-driver.md](./DEC-012-mandatory-pdo-mysql-driver.md) | `composer.json`; pinned [Composer Package Standard](../php-engineering-standards/standards/packages/COMPOSER_PACKAGE_STANDARD.md) ยง15.2 | โ€” | โ€” | | `DEC-013` | Test-only database version boundary | `ACTIVE` | Real-database test matrix: MySQL `8.0.16`, `8.4.13`, `9.7.4`; MariaDB `10.11.19`, `11.4.13`, `11.8.9`, `12.3.3`; Innovation exploratory only; upper edge capped at the highest verified endpoint. Not a support claim. | [DEC-013-test-only-database-version-boundary.md](./DEC-013-test-only-database-version-boundary.md) | `docker/integration-matrix.json`; [CI_AND_INTEGRATION.md](../architecture/CI_AND_INTEGRATION.md) | โ€” | โ€” | +| `DEC-014` | Free written licenses and registration | `ACTIVE` | Proprietary terms for the next release and security notices for license holders. | [DEC-014-free-license-registration.md](./DEC-014-free-license-registration.md) | `LICENSE` | `DEC-002` | โ€” |