target-revenue/README.md

111 lines
9 KiB
Markdown
Raw Normal View History

2026-07-28 15:37:32 +00:00
# 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. [`specs/TargetRevenueLicenseConcept.md`](specs/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).
## TRSL license candidate
[`specs/TargetRevenueSourceLicense-V1C1.md`](specs/TargetRevenueSourceLicense-V1C1.md) is the first candidate written as actual operative license text (Version 1, Candidate 1) rather than a bracket-annotated skeleton — **preliminary, not final, not for production use** (see the notice at the top of that file). It is grounded in the prior-art and jurisdiction research archived under `history/260729-TRSL-*.md`, and supersedes the earlier skeleton now archived at `history/260729-TargetRevenueSourceLicense-Draft.md`.
[`specs/TargetRevenueCommercialUseAgreement-V1C1.md`](specs/TargetRevenueCommercialUseAgreement-V1C1.md) is the companion Commercial Use Agreement template the License refers to but does not itself set terms for — same preliminary-candidate status, but **less** mature than the License: it had no dedicated prior-art research pass, and its Section 13 (Indemnification) is deliberately left unwritten rather than guessed.
New concept: Enforcement Network (contingency-incentivized violation enforcement) Introduces specs/EnforcementNetworkConcept.md: independent, locally-licensed Enforcement Partners pursue unauthorized Commercial Use (License §3 violations) in their home jurisdiction for a Contingency Share of Recovery, so enforcement scales the way the framework's monetization already does - through aligned incentive rather than central litigation capacity. New terminology (Alleged Violation, Enforcement Action, Recovery, Contingency Share, Platform Share, Enforcement Registry, Enforcement Partner Agreement) plus a proposed enforcement-recovery Monetization Extension so Recovery flows into Development Credit through the existing accounting model rather than a parallel bucket. Flags the mechanism's central risk up front rather than assuming it away: lawyer contingency fees are not legal everywhere. Backed by workplans/TREV-WP-0005-enforcement-network-research.md (10 tasks); four executed this session with live web research: - Germany/EU: RVG §4a permits contingency fees only in three narrow gates, none fitting this fact pattern well - single-role Enforcement Partner is very likely not viable; France permits a fixed-fee-plus-uncapped-result- fee structure instead; EU litigation-funding regulation is proposed (2022 EP resolution) but not yet adopted. - US: contingency fees broadly permitted; practical precondition is timely copyright registration of the Milestone Release to unlock statutory damages/fee-shifting; Copyright Claims Board flagged as a lower-cost venue. - UK: Damages-Based Agreements cap fees at 50% for this case category - the concept's originally-proposed 50% Contingency Share lands exactly on this real statutory ceiling, the first jurisdiction where the figure is precisely validated rather than arbitrary. - Mechanism design: synthesizes the above into a single Enforcement Partner Agreement template with jurisdiction-conditional role structure (single-role vs. Litigation Funder/Local Counsel split), with a payment- flow diagram showing the Development Credit allocation is unaffected by which structure applies. Six of ten WP-0005 tasks remain open (Argentina, India, China, Africa, Asia-Pacific, and the human-gated synthesis). Cross-referenced from README. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 15:21:19 +02:00
## Enforcement Network concept
Complete WP-0004 and WP-0005 jurisdiction research (8 of 8 each) Executes all remaining shared jurisdictions across both workplans: Germany/EU (deepened contract-law angle), US (deepened), UK (deepened), Argentina, India, China, Africa (South Africa + OHADA), and Asia-Pacific (Singapore, Japan, Australia) - 13 new history/ research artifacts. Highest-priority findings: - Australia's Unfair Contract Terms regime (expanded Nov 2023) covers standard-form contracts with any business under 100 employees/$10M turnover by default - the CUA is exactly such a contract, and most realistic Customers fall within this threshold. Unlike every other jurisdiction's consumer carve-out, this is not an edge case. - China requires a "foreign-related" contract even to select foreign governing law, subject to a vague public-interest override even then - confirms a dedicated China rider is needed for both the License/CUA and the Enforcement Partner Agreement, not a shared global clause. - India flatly prohibits advocate contingency fees (no exception gates, stricter than Germany) while explicitly permitting third-party litigation funding - the cleanest confirmation yet that the Litigation Funder/Local Counsel split-role model is both necessary and legal there. - Japan's Article 12 fee-splitting rule means even the split-role fallback needs jurisdiction-specific structuring - the first case where the workaround itself, not just the original mechanism, has an open compliance question. - Contingency Share ceilings vary widely where available: UK 50% (exact match), South Africa 25%, Argentina 35% (50% only with risk assumption), China 18% down to 6% on a sliding scale that shrinks as claims grow. - Recurring cross-jurisdictional pattern (Germany, EU, US via CCPA, Argentina): B2B governing-law/liability clauses are respected, but an individual/sole-proprietor Customer's consumer-protection status is the operative risk everywhere, not a one-off edge case. Updates specs/EnforcementNetworkConcept.md §8.1 with a full 12-jurisdiction findings table and three cross-cutting conclusions. Updates both V1C1 documents' Appendix A items (governing law, liability cap, data protection) with the most consequential findings. Both workplans now have only their human-gated synthesis tasks (T09-T10 / T10) remaining. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 17:07:42 +02:00
[`specs/EnforcementNetworkConcept.md`](specs/EnforcementNetworkConcept.md) is a new, separate concept (2026-07-29): independent, locally-licensed Enforcement Partners pursue unauthorized Commercial Use in their home jurisdiction for a share of Recovery, so License §3 enforcement scales without the Licensor litigating everywhere directly. **The central open risk is that lawyer contingency fees are not legal everywhere** — Germany notably restricts them — so the concept requires a jurisdiction-conditional Litigation Funder/Local Counsel structure, not a single global fee mechanism. Backed by `workplans/TREV-WP-0005-enforcement-network-research.md`; 9 of 10 tasks are done (all 8 jurisdictions plus mechanism design — see `history/260729-TREN-*.md`), only the human-gated synthesis remains. Findings: 50% is only exactly valid in the UK; most jurisdictions cap lower (1835%) or ban direct lawyer contingency outright (Germany, India); India cleanly confirms the split-role model is both necessary and legal there; Japan's fee-splitting rule means even the split-role fallback needs jurisdiction-specific structuring, not just an availability check.
New concept: Enforcement Network (contingency-incentivized violation enforcement) Introduces specs/EnforcementNetworkConcept.md: independent, locally-licensed Enforcement Partners pursue unauthorized Commercial Use (License §3 violations) in their home jurisdiction for a Contingency Share of Recovery, so enforcement scales the way the framework's monetization already does - through aligned incentive rather than central litigation capacity. New terminology (Alleged Violation, Enforcement Action, Recovery, Contingency Share, Platform Share, Enforcement Registry, Enforcement Partner Agreement) plus a proposed enforcement-recovery Monetization Extension so Recovery flows into Development Credit through the existing accounting model rather than a parallel bucket. Flags the mechanism's central risk up front rather than assuming it away: lawyer contingency fees are not legal everywhere. Backed by workplans/TREV-WP-0005-enforcement-network-research.md (10 tasks); four executed this session with live web research: - Germany/EU: RVG §4a permits contingency fees only in three narrow gates, none fitting this fact pattern well - single-role Enforcement Partner is very likely not viable; France permits a fixed-fee-plus-uncapped-result- fee structure instead; EU litigation-funding regulation is proposed (2022 EP resolution) but not yet adopted. - US: contingency fees broadly permitted; practical precondition is timely copyright registration of the Milestone Release to unlock statutory damages/fee-shifting; Copyright Claims Board flagged as a lower-cost venue. - UK: Damages-Based Agreements cap fees at 50% for this case category - the concept's originally-proposed 50% Contingency Share lands exactly on this real statutory ceiling, the first jurisdiction where the figure is precisely validated rather than arbitrary. - Mechanism design: synthesizes the above into a single Enforcement Partner Agreement template with jurisdiction-conditional role structure (single-role vs. Litigation Funder/Local Counsel split), with a payment- flow diagram showing the Development Credit allocation is unaffected by which structure applies. Six of ten WP-0005 tasks remain open (Argentina, India, China, Africa, Asia-Pacific, and the human-gated synthesis). Cross-referenced from README. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 15:21:19 +02:00
## Repository layout
| Path | Role |
| --- | --- |
| `INTENT.md` | Stable purpose (change rarely) |
| `SCOPE.md` | Living Stage 0 scope |
| `specs/` | Concept source, product/tech specs, working defaults, and normative extracts |
| `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) |
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
| `docs/adr/` | Architecture decisions; ADR-0001 (Stage 0 library stack) **accepted** 2026-07-29 |
**`spec/` vs `specs/` (resolved 2026-07-29):** the concept document originally lived under a separate singular `spec/` directory, which `history/260728-SWOT-Assessment.md` flagged as a "perpetual footgun." It has been merged into `specs/` alongside the product/tech specs and normative extracts — there is now one specs directory for the whole repository. The historical split, and the decision to merge it, remain visible in `history/260728-SWOT-Assessment.md` (unedited, as a dated record) rather than rewritten here.
## Active work
| Workplan | Focus |
| --- | --- |
| [TREV-WP-0001](workplans/TREV-WP-0001-license-prior-art-research.md) | Prior-art research (T01T05 done, archived to `history/`) → TRSL V1C1 license candidate (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 |
Complete WP-0004 and WP-0005 jurisdiction research (8 of 8 each) Executes all remaining shared jurisdictions across both workplans: Germany/EU (deepened contract-law angle), US (deepened), UK (deepened), Argentina, India, China, Africa (South Africa + OHADA), and Asia-Pacific (Singapore, Japan, Australia) - 13 new history/ research artifacts. Highest-priority findings: - Australia's Unfair Contract Terms regime (expanded Nov 2023) covers standard-form contracts with any business under 100 employees/$10M turnover by default - the CUA is exactly such a contract, and most realistic Customers fall within this threshold. Unlike every other jurisdiction's consumer carve-out, this is not an edge case. - China requires a "foreign-related" contract even to select foreign governing law, subject to a vague public-interest override even then - confirms a dedicated China rider is needed for both the License/CUA and the Enforcement Partner Agreement, not a shared global clause. - India flatly prohibits advocate contingency fees (no exception gates, stricter than Germany) while explicitly permitting third-party litigation funding - the cleanest confirmation yet that the Litigation Funder/Local Counsel split-role model is both necessary and legal there. - Japan's Article 12 fee-splitting rule means even the split-role fallback needs jurisdiction-specific structuring - the first case where the workaround itself, not just the original mechanism, has an open compliance question. - Contingency Share ceilings vary widely where available: UK 50% (exact match), South Africa 25%, Argentina 35% (50% only with risk assumption), China 18% down to 6% on a sliding scale that shrinks as claims grow. - Recurring cross-jurisdictional pattern (Germany, EU, US via CCPA, Argentina): B2B governing-law/liability clauses are respected, but an individual/sole-proprietor Customer's consumer-protection status is the operative risk everywhere, not a one-off edge case. Updates specs/EnforcementNetworkConcept.md §8.1 with a full 12-jurisdiction findings table and three cross-cutting conclusions. Updates both V1C1 documents' Appendix A items (governing law, liability cap, data protection) with the most consequential findings. Both workplans now have only their human-gated synthesis tasks (T09-T10 / T10) remaining. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 17:07:42 +02:00
| [TREV-WP-0004](workplans/TREV-WP-0004-global-jurisdiction-research.md) | Global jurisdictional research backing the License/CUA candidates — 8 of 10 tasks done (all jurisdictions; T09 choice-of-law strategy and T10 synthesis remain) |
| [TREV-WP-0005](workplans/TREV-WP-0005-enforcement-network-research.md) | Enforcement Network legal feasibility research — 9 of 10 tasks done (all jurisdictions and mechanism design; T10 synthesis remains, human-gated) |
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.