target-revenue/history/260729-TRSL-ContributorRights-Research.md
tegwick f37f79192d Archive WP-0001 research to history/; add TRSL V1C1 license candidate
Persists the five prior-art/legal research artifacts and the original
draft skeleton as dated history/ records (260729- prefix, git mv to
preserve history), consistent with this repo's convention that history/
holds dated non-normative artifacts rather than living working documents:

- history/260729-TRSL-PriorArt-Survey.md
- history/260729-TRSL-Terminology-Guardrails.md
- history/260729-TRSL-FutureLicense-PatentPrecedent.md
- history/260729-TRSL-ContributorRights-Research.md
- history/260729-TRSL-Jurisdiction-StandardTerms.md
- history/260729-TargetRevenueSourceLicense-Draft.md (superseded)

Adds specs/TargetRevenueSourceLicense-V1C1.md: the first candidate written
as actual operative license text (11 sections: definitions, noncommercial
grant, commercial-use restriction, patent license, automatic conversion,
successive phases, termination/cure, warranty/liability, trademarks,
general provisions) rather than a bracket-annotated skeleton. Carries a
prominent preliminary-status notice near the top and a non-normative
Appendix A tracking the nine items still needing legal resolution before
any candidate can become official Version 1.0.

Updates all cross-references (README, PRD, TSD, SCOPE, workplan) to the
new paths; the workplan's T06 human-accept gate now points at V1C1.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 10:33:35 +02:00

6.2 KiB

TRSL Contributor-Rights Research: DCO vs. CLA for Dual-Future Licensing

Document status: Research artifact, Stage 0 (workplans/TREV-WP-0001-license-prior-art-research.md T04) Not legal advice.


1. The problem TRSL creates that ordinary OSS projects don't have

A typical open-source project only needs contributors to grant rights sufficient for one license (the project's current license). TRSL needs a contributor's grant to cover rights sufficient for two sequential states:

  1. the restricted TRSL Phase license (commercial-use-gated, source-available), and
  2. the eventual, automatic, irrevocable Future License (MIT or Apache-2.0) at conversion — which the licensor must be able to promise today, before conversion has happened, on behalf of every contribution folded into that Milestone Release.

This is the specific gap specs/TargetRevenueLicenseConcept.md §21.4 already identifies ("The project must hold sufficient rights to promise both... Contributor arrangements may therefore require copyright assignment or an appropriately broad contributor license agreement").

2. What the Developer Certificate of Origin actually certifies

Full DCO 1.1 text (confirmed via developercertificate.org, fetched 2026-07-29) has the contributor certify one of:

"(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that... is covered under an appropriate open source license and I have the right under that license to submit that work..."

Critical limitation for TRSL: the DCO's certification is scoped to "the open source license indicated in the file" — i.e., whatever the project's current license is at the time of the contribution. It says nothing about a future, different license the project might convert to later. A DCO signed against "TRSL-0.1 (the Phase license)" certifies rights to submit under TRSL-0.1. It does not, on its own wording, certify that the contributor's copyright can also be relicensed under MIT or Apache-2.0 at a later Conversion Event that TRSL itself defines as automatic and irrevocable.

Conclusion: a DCO alone is not sufficient for TRSL. This confirms the concept document's own instinct (§21.4) with a specific textual reason, not just a general caution.

3. What CLA/assignment patterns from comparable dual-future-license projects would need to cover

BSL and FSL projects (MariaDB and successors) are typically single-copyright-holder or CLA-backed precisely because they need the same two-state promise TRSL needs (restricted license now, GPL/MIT/Apache later). The general pattern observed across such projects (not fetched from a specific CLA text here — this is a structural inference from the licensing model, flagged for legal verification) requires the contributor to grant the project either:

  • (a) Copyright assignment — the contributor transfers copyright to the project entity, which then holds unencumbered rights to license the combined work under any license it chooses, including a not-yet-determined future one; or
  • (b) A broad inbound contributor license agreement (CLA) that explicitly grants the project the right to relicense the contribution under any license, including licenses not yet chosen at the time of contribution — this is the key clause TRSL's CLA would need that a generic/simple CLA template might not already contain, since most CLA templates (e.g., Apache ICLA-style) are worded around granting rights to distribute "under the current or any future version of" a named license family, not an open-ended "whatever license the project later declares."

4. Recommendation for TRSL

A CLA (not copyright assignment) is the better fit, for these reasons:

  1. Assignment is a stronger ask of contributors (full copyright transfer) and tends to depress external contribution volume — a real cost for a framework whose product goal explicitly includes broader ecosystem participation (PRD stakeholders table: "Independent developer / maintainer," "Product company").
  2. A CLA can be scoped precisely to what TRSL actually needs: the right to (a) license the contribution under the current Phase's TRSL terms, and (b) automatically and irrevocably relicense it under the Phase's already-declared Future License (MIT or Apache-2.0 — chosen at Phase declaration time per Q3, not "any future license TRSL might invent") once the Conversion Event occurs. Because the Future License is fixed at Phase declaration (not open-ended), the CLA's forward grant can be narrow and specific rather than an unusually broad "anything, anytime" grant — this is a meaningfully easier ask than the generic pattern in §3(b) above.
  3. This aligns with CONTRIBUTING.md's current interim policy (external contributions blocked from governed Milestone Releases until an instrument exists) — the CLA described here is exactly that instrument, scoped as narrowly as TRSL's own Phase model allows.

5. What must change if this recommendation is adopted

  • CONTRIBUTING.md: once a CLA is drafted and adopted, update the "External contributions and governed code" section to reference it and lift the current blanket block for repositories that adopt it.
  • T06 draft skeleton: include a clause (or a pointer to a companion CLA document) stating that TRSL's automatic Future License conversion applies to the Milestone Release as a whole, and that contributor rights sufficient for that conversion are a precondition for a contribution's inclusion — mark the CLA's own text as a separate deliverable, [LEGAL], not something to draft inline in the source license.
  • specs/TargetRevenueLicenseConcept.md §21.4: no change needed — this research confirms and specifies its existing recommendation rather than contradicting it.

6. Open item

A model CLA text is not drafted here — that is properly a separate legal-drafting deliverable (analogous to TargetRevenueSourceLicense-Draft.md itself), out of scope for this research task. Recommend a follow-on deliverable TRSL-ContributorLicenseAgreement-Draft.md once T06 is accepted and a CLA becomes an active near-term need (i.e., when external contributions are actually being requested for a real Phase).