target-revenue/README.md
tegwick d3353fc22c Complete TREV-WP-0001 research (T01-T05) and draft TRSL skeleton (T06)
Five research artifacts under specs/research/, grounded in primary-source
license text fetched live rather than relying on training-data recall:

- TRSL-PriorArt-Survey.md: BSL 1.1, FSL, PolyForm Noncommercial, Fair
  Source, Elastic License 2.0. Confirms TRSL's closed {MIT, Apache-2.0}
  Future License enum and no per-Phase custom license text follows FSL's
  deliberate fix for BSL's "Additional Use Grant" variability problem.
- TRSL-Terminology-Guardrails.md: confirms via OSI OSD Clause 6 that
  pre-conversion TRSL cannot be Open Source; confirms README's existing
  guardrail table without change.
- TRSL-FutureLicense-PatentPrecedent.md: MIT has no patent language; Apache
  2.0 has an explicit contribution-scoped grant + litigation termination.
  Recommends TRSL's pre-conversion phase also carry an express patent grant.
- TRSL-ContributorRights-Research.md: confirms via DCO 1.1 text that a DCO
  alone is insufficient for TRSL's dual-future-license promise; recommends
  a narrowly-scoped CLA over copyright assignment.
- TRSL-Jurisdiction-StandardTerms.md: deepens German §31/§32 UrhG (primary-
  confirmed) and §307 BGB Transparenzgebot (secondary-confirmed, flagged
  for counsel verification); corrects scope re: EU UCTD 93/13/EEC being
  consumer-only vs. German AGB law covering B2B too. Ranks five terms most
  needing objective definitions.

specs/TargetRevenueSourceLicense-Draft.md (T06) synthesizes all five into a
non-binding skeleton with every clause tagged [CONFIRMED BY RESEARCH],
[LEGAL], [WORKING DEFAULT], or [OPEN]. Per the T06 human-accept gate, the
workplan task stays `todo` — ready for review, not accepted.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 09:25:05 +02:00

100 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# target-revenue
**Status:** Concept and specification only (Stage 0). Not production legal text. Do not attach TRSL to production software yet.
The **Target Revenue Framework (TRF)** is a phased software monetization system: a defined development **Phase** accumulates **Development Credit** and **Remission Credit** against an immutable **Initial Target** until the **Milestone Release** automatically converts to a permissive **Future License** (MIT or Apache-2.0). A **Trust Service** publishes manifests, ledgers, extensions, and attestations as factual evidence — it does not decide conversion.
> Commercial beneficiaries fund the creation and early availability of a software improvement; once the declared target is satisfied, the governed release becomes permissively open source.
## Terminology guardrail
Before conversion, software under TRSL is **source-available** with commercial-use restrictions. It is **not** Open Source under the [OSI Open Source Definition](https://opensource.org/osd) (field-of-endeavour non-discrimination). After the Conversion Event, the Milestone Release is available under the declared OSI-style Future License.
| State | Accurate label |
| --- | --- |
| Pre-conversion, noncommercial | Source-available (permitted uses) |
| Pre-conversion, commercial | Commercially licensed / entitlement required |
| Post-conversion | Open source under Future License |
## Reading order
1. [`INTENT.md`](INTENT.md) — durable purpose and design principles
2. [`SCOPE.md`](SCOPE.md) — what is in scope *now* vs later maturity
3. [`spec/TargetRevenueLicenseConcept.md`](spec/TargetRevenueLicenseConcept.md) — normative concept draft (ultimate source; governs if it and the extracts below ever diverge)
4. [`specs/ProductRequirementsDocument.md`](specs/ProductRequirementsDocument.md) — goals, FRs, roadmap
5. [`specs/TechnicalSpecificationDocument.md`](specs/TechnicalSpecificationDocument.md) — schema field tables and boundaries
6. [`specs/OpenQuestions-WorkingDefaults.md`](specs/OpenQuestions-WorkingDefaults.md) — provisional Stage 0 defaults
Exploration transcript (non-normative): [`history/260728-InitialExploration.md`](history/260728-InitialExploration.md)
Program assessment: [`history/260728-SWOT-Assessment.md`](history/260728-SWOT-Assessment.md)
## Normative documents (day-to-day reference)
Extracted and stabilized from the concept draft under `workplans/TREV-WP-0003-normative-core-extraction.md` (T01T05 done; T06 human review still open — see that workplan). Use these for terminology, not the concept draft's prose, in ordinary implementation work:
| Document | Covers |
| --- | --- |
| [`specs/TargetRevenueFrameworkCore.md`](specs/TargetRevenueFrameworkCore.md) | Seven core terms, target formula, five-verb lifecycle, nine core rules, foundational invariants |
| [`specs/PhaseManifestSpecification.md`](specs/PhaseManifestSpecification.md) | Phase Manifest field tiers and validation rules |
| [`specs/TargetLedgerSpecification.md`](specs/TargetLedgerSpecification.md) | Ledger entry types, hash chain, Outstanding Target fold |
| [`specs/MonetizationExtensionSpecification.md`](specs/MonetizationExtensionSpecification.md) | Six-field extension contract, registered vs. canonical |
**Forbidden synonyms:** do not treat undifferentiated "revenue captured" as equivalent to Development Credit (see `CONTRIBUTING.md` § Terminology); do not call pre-conversion software "Open Source" (see the guardrail table above).
## Repository layout
| Path | Role |
| --- | --- |
| `INTENT.md` | Stable purpose (change rarely) |
| `SCOPE.md` | Living Stage 0 scope |
| `spec/` | Normative **concept** source (`TargetRevenueLicenseConcept.md`) |
| `specs/` | Product/tech specs, working defaults, and normative extracts (WP-0003) |
| `workplans/` | Active delivery plans |
| `history/` | Dated non-normative exploration and assessments |
| `examples/` | Golden Phase packages (`phase-001`, from WP-0002) |
| `schemas/` | Machine-readable JSON Schemas (WP-0002) |
| `src/target_revenue/` | Pure Python validators, hash chain, Outstanding Target fold, conversion detection (WP-0002) |
| `docs/adr/` | Architecture decisions; ADR-0001 (Stage 0 library stack) **accepted** 2026-07-29 |
| `specs/research/` | TRSL prior-art and legal-adjacent research (WP-0001) briefing `specs/TargetRevenueSourceLicense-Draft.md` |
**`spec/` vs `specs/`:** The concept document predates the plural `specs/` directory and remains under `spec/` so history and cross-references stay stable. New product/tech artifacts go under `specs/`. Do not move the concept file without a deliberate migration note.
## Active work
| Workplan | Focus |
| --- | --- |
| [TREV-WP-0001](workplans/TREV-WP-0001-license-prior-art-research.md) | Prior-art research (T01T05 done) → non-binding TRSL draft skeleton (T06 ready for human review) |
| [TREV-WP-0002](workplans/TREV-WP-0002-trust-service-foundation.md) | Schemas, pure Outstanding Target fold, golden fixture — **finished** |
| [TREV-WP-0003](workplans/TREV-WP-0003-normative-core-extraction.md) | Extract stable normative core docs — T01T05 done, T06 human review open |
Hub index: [`WORK-RECORDS.md`](WORK-RECORDS.md) · brief: [`.custodian-brief.md`](.custodian-brief.md)
## Stage 0 library (schemas, pure fold, validators)
WP-0002 delivers an **offline, dependency-light library** — not a hosted
Trust Service (`SCOPE.md` §3). It validates the schemas in `schemas/`,
computes the pure Outstanding Target fold, verifies the SHA-256 hash chain,
and checks Monetization Extension conformance.
```bash
pip install -e ".[dev]"
python3 -m pytest tests/ # 32 tests, no network required
python3 scripts/generate_golden_phase.py # regenerate examples/phase-001/ledger.json
```
The implementation stack (Python, `jsonschema`, `pytest`, `hatchling`) is
recorded in [`docs/adr/ADR-0001-stage0-library-stack.md`](docs/adr/ADR-0001-stage0-library-stack.md),
**accepted 2026-07-29**.
## What this repo does not claim yet
- Final legal license text or enforceable TRSL
- A running production Trust Service
- A finalized degeneration formula (research + working defaults only)
- That any real product Phase is governed by TRF today
See [`SCOPE.md`](SCOPE.md) and [`CONTRIBUTING.md`](CONTRIBUTING.md).
## License
Repository contents are under [MIT No Attribution](LICENSE) unless a file states otherwise. That is the license of *this repository*, not the Target Revenue Source License for third-party software.