target-revenue/README.md
tegwick 8f316a466f Add Global Contingency Share Determination Rule to Enforcement Network concept
Per maintainer request, replaces the flat "working default 50%" Contingency
Share with a systematic per-jurisdiction rule, directly responding to
WP-0005's finding that 50% is unsafe almost everywhere except the UK:

1. 50% applies if lawful in the jurisdiction.
2. Otherwise, the higher of:
   (A) the Jurisdiction Percentage Cap - the actual local statutory
       maximum, published by the Enforcement Registry as background
       information for prospective Enforcement Partners; or
   (B) a Standard Bounty Amount - a fixed sum (not a percentage),
       defaulting to $1,000 local-currency-equivalent, recalculated
       annually to 50% of the trailing-18-month average unpaid-fees
       amount where more than 10 settled cases exist (a sample-size floor
       to avoid thin-sample noise), announced by 31 July, effective the
       following 1 January, always capped at the specific case's own
       unpaid fees.

Flags, as the highest-priority open question this rule itself introduces:
whether a fixed, non-percentage bounty actually escapes contingency-fee
prohibitions worded around outcome-contingency generally (India's Rule 20:
"contingent on the results of litigation") rather than percentage-
proportionality specifically (Germany's quota-litis-style rules) - the
Standard Bounty Amount may not solve what it was designed to solve in
exactly the jurisdictions that motivated it, and this is not yet verified.

Added as new specs/EnforcementNetworkConcept.md §13 (Concise Definition
renumbered §14; no other section numbers changed, so existing cross-
references to §5.5/§6/§8/§9/§11 from workplans and history/ artifacts
remain valid). Updated §5.5, §5.7, and §8's key findings to point to the
new rule. Folded the rule's population and open questions into
WP-0005-T10's synthesis scope.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 18:12:45 +02:00

112 lines
9.7 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. [`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.
## Enforcement Network concept
[`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.
The concept's §13 now defines a **Global Contingency Share Determination Rule**: 50% where lawful, otherwise the higher of the local percentage cap or a published Standard Bounty Amount (a fixed sum, not a percentage — defaulting to $1,000 local-currency-equivalent, recalculated annually from case data, announced by 31 July for the following 1 January). This is a deliberate design response to the finding above, but it introduces its own open question flagged prominently in §13.4: whether a *fixed* bounty actually escapes contingency-fee prohibitions worded around outcome-contingency generally (e.g., India's Rule 20) rather than percentage-proportionality specifically — not yet confirmed.
## 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) |
| `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 |
| [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.