|
| 1 | +# HitTheKit CLA adoption checklist |
| 2 | + |
| 3 | +> **DRAFT PROCESS — NOT IN FORCE — NOT LEGALLY REVIEWED** |
| 4 | +> |
| 5 | +> This checklist does not activate the accompanying CLA draft, request a |
| 6 | +> signature, or authorize substantial external contributions. |
| 7 | +
|
| 8 | +## Selected planning model |
| 9 | + |
| 10 | +The current planning candidate is the Harmony Combined Contributor Agreement |
| 11 | +Template 1.0 configured as: |
| 12 | + |
| 13 | +- copyright license, not copyright assignment; |
| 14 | +- contributor retains copyright; |
| 15 | +- broad sublicensable copyright grant; |
| 16 | +- patent grant; |
| 17 | +- outbound licensing based on Harmony Option Five; and |
| 18 | +- separate treatment of individual and Legal Entity contributors still to be |
| 19 | + decided. |
| 20 | + |
| 21 | +Option Five is being evaluated because it permits open-source and commercial |
| 22 | +or proprietary outbound licenses while promising that an incorporated |
| 23 | +Contribution is also available under the community license used for the |
| 24 | +Material. Its breadth is not yet approved. |
| 25 | + |
| 26 | +## Blocking legal and identity decisions |
| 27 | + |
| 28 | +- [ ] Obtain review from a qualified lawyer, FOSS legal clinic, or equivalent |
| 29 | + professional familiar with contributor agreements and dual licensing. |
| 30 | +- [ ] Verify the legal identity and capacity of the party receiving the grant. |
| 31 | +- [ ] Decide whether the recipient is an individual, company, foundation, or |
| 32 | + another legal structure. |
| 33 | +- [ ] Record the recipient's legal address and a private legal contact. |
| 34 | +- [ ] Select governing law, forum, and dispute process with qualified advice. |
| 35 | +- [ ] Verify chain of title and authority for the existing HitTheKit code. |
| 36 | +- [ ] Confirm the intended MPL-2.0 transition separately; the CLA must not be |
| 37 | + used to imply that a repository license change has already occurred. |
| 38 | +- [ ] Review the scope of “transferable,” “irrevocable,” “otherwise exploit,” |
| 39 | + multi-tier sublicensing, and future commercial/proprietary licensing. |
| 40 | +- [ ] Review patent scope, Affiliate coverage, subsequently acquired claims, |
| 41 | + combination claims, limitations, and termination/retaliation. |
| 42 | +- [ ] Decide whether and how to address moral rights without an unnecessarily |
| 43 | + broad waiver. |
| 44 | +- [ ] Draft jurisdiction-appropriate warranty, disclaimer, liability, |
| 45 | + severability, assignment, notices, and entire-agreement terms. |
| 46 | + |
| 47 | +## Contributor types and authority |
| 48 | + |
| 49 | +- [ ] Decide whether to publish separate Individual and Entity agreements. |
| 50 | +- [ ] Define when an individual contributor needs employer consent. |
| 51 | +- [ ] Define acceptable evidence of employer consent. |
| 52 | +- [ ] Define the Entity signatory's required authority and title. |
| 53 | +- [ ] Decide whether entities maintain a list of authorized contributors. |
| 54 | +- [ ] Define how an entity adds or removes authorized contributors. |
| 55 | +- [ ] Decide how contractors, students, public employees, and grant-funded |
| 56 | + contributors are handled. |
| 57 | +- [ ] Decide whether contributions from minors will be accepted. |
| 58 | +- [ ] If minors may contribute, obtain qualified advice on age, guardian |
| 59 | + consent, identity verification, privacy, and revocation. |
| 60 | + |
| 61 | +## Contributions and third-party material |
| 62 | + |
| 63 | +- [ ] Define the channels that count as intentionally “Submitted.” |
| 64 | +- [ ] Define a clear “Not a Contribution” mechanism. |
| 65 | +- [ ] Keep issues, discussions, hardware observations, ideas, and facts outside |
| 66 | + contractual acceptance unless qualified review says otherwise. |
| 67 | +- [ ] Define a non-owner/mixed-submission review process—or continue to reject |
| 68 | + all mixed submissions. |
| 69 | +- [ ] Explicitly reject unapproved third-party code, music, recordings, |
| 70 | + performances, charts, MIDI captures, artwork, fonts, trademarks, |
| 71 | + confidential information, and personal data. |
| 72 | +- [ ] Require provenance and license evidence for any exceptional third-party |
| 73 | + material accepted through a separate process. |
| 74 | +- [ ] Confirm that a CLA grants only rights the contributor controls and never |
| 75 | + substitutes for third-party licenses. |
| 76 | + |
| 77 | +## Existing and future contributions |
| 78 | + |
| 79 | +- [ ] Inventory any substantial external contribution made before activation. |
| 80 | +- [ ] Decide whether prior contributors must separately opt in. |
| 81 | +- [ ] Do not presume retroactive acceptance based on an old pull request, |
| 82 | + commit, discussion, or repository license. |
| 83 | +- [ ] Define the effective date for each contributor and Contribution. |
| 84 | +- [ ] Define treatment when the community license changes after acceptance. |
| 85 | +- [ ] Define the procedure if the receiving legal entity changes. |
| 86 | +- [ ] Define a transparent amendment process and when re-acceptance is needed. |
| 87 | + |
| 88 | +## Privacy, signatures, and records |
| 89 | + |
| 90 | +- [ ] Publish a privacy notice before collecting acceptances. |
| 91 | +- [ ] Identify the data controller, purposes, lawful basis, processors, |
| 92 | + transfers, and contact. |
| 93 | +- [ ] Decide which identity, name, email, employer, timestamp, IP address, and |
| 94 | + other evidence is actually necessary; minimize collection. |
| 95 | +- [ ] Define retention periods rather than retaining personal data by default. |
| 96 | +- [ ] Define access, correction, objection, deletion, export, and complaint |
| 97 | + handling as applicable. |
| 98 | +- [ ] Record the exact CLA version and immutable digest accepted. |
| 99 | +- [ ] Preserve an auditable timestamp and authenticated contributor identity. |
| 100 | +- [ ] Design the electronic signature/acceptance action with qualified review. |
| 101 | +- [ ] Define recovery, backup, access control, incident response, and processor |
| 102 | + exit procedures for acceptance records. |
| 103 | + |
| 104 | +## CLA Assistant and repository controls |
| 105 | + |
| 106 | +- [ ] Complete legal and privacy review **before** enabling CLA Assistant. |
| 107 | +- [ ] Publish only the approved, versioned CLA text—not this draft—as the |
| 108 | + acceptance source. |
| 109 | +- [ ] Review CLA Assistant's hosting, authentication, custom fields, privacy, |
| 110 | + retention, availability, and version-change behavior. |
| 111 | +- [ ] Configure a test repository before connecting HitTheKit. |
| 112 | +- [ ] Verify individual and Entity workflows, bot comments, re-signing, and |
| 113 | + failure/recovery behavior. |
| 114 | +- [ ] Add the CLA status check to branch protection only after a successful |
| 115 | + test run and with a unique check name. |
| 116 | +- [ ] Keep maintainer bypass disabled or document narrowly reviewed emergency |
| 117 | + handling. |
| 118 | +- [ ] Update the pull-request template without claiming that opening a PR |
| 119 | + constitutes acceptance. |
| 120 | +- [ ] Update `CONTRIBUTING.md`, `GOVERNANCE.md`, privacy documentation, and the |
| 121 | + public website only when the agreement actually enters into force. |
| 122 | +- [ ] Publish a plain-language announcement of the effective date, scope, |
| 123 | + contributor choices, community-license promise, and contact route. |
| 124 | +- [ ] Confirm substantial external contributions remain blocked until every |
| 125 | + activation item is complete. |
| 126 | + |
| 127 | +GitHub required status checks enforce workflow results; they do not determine |
| 128 | +whether the CLA text or acceptance process is legally sufficient. CLA |
| 129 | +Assistant automates prompts, GitHub authentication, acceptance records, and a |
| 130 | +pull-request status check, but it is not the legal reviewer or receiving party. |
| 131 | + |
| 132 | +## DCO, CLA, and CLA Assistant are different |
| 133 | + |
| 134 | +| Mechanism | Primary function | What it does not establish by itself | |
| 135 | +| --- | --- | --- | |
| 136 | +| Developer Certificate of Origin (DCO) | Contributor attests provenance and a right to submit under the indicated open-source terms, commonly recorded with `Signed-off-by` | It does not grant HitTheKit the separate, broad sublicensing rights needed for proprietary/commercial outbound licensing. | |
| 137 | +| Contributor License Agreement (CLA) | A contract can expressly grant copyright and patent rights while the contributor retains ownership | A draft is not operative without identified parties, reviewed terms, valid acceptance, and appropriate records. | |
| 138 | +| CLA Assistant | Automates the presentation and collection of a project's chosen CLA and reports status to GitHub | It does not draft, approve, interpret, or make legally sufficient the CLA and privacy process. | |
| 139 | + |
| 140 | +MPL 2.0 grants rights from contributors to recipients of MPL-covered software, |
| 141 | +but its contributor grant does not automatically appoint the HitTheKit |
| 142 | +maintainer to relicense every external Contribution under unrelated proprietary |
| 143 | +terms. The proposed CLA is intended to address that separate inbound-rights |
| 144 | +need if qualified review approves it. |
| 145 | + |
| 146 | +## Review findings to resolve before adoption |
| 147 | + |
| 148 | +### P0 |
| 149 | + |
| 150 | +None identified in a non-operative documentation draft. |
| 151 | + |
| 152 | +### P1 — adoption blockers |
| 153 | + |
| 154 | +- The receiving legal party, governing law, forum, legal contact, privacy |
| 155 | + controller, and acceptance process are unknown. |
| 156 | +- Harmony Option Five and the copyright grant are deliberately broad; their |
| 157 | + sublicensing, transferability, irrevocability, and proprietary-license scope |
| 158 | + require qualified review and plain-language disclosure. |
| 159 | +- Patent scope and any retaliation/termination mechanism are unresolved. |
| 160 | +- Individual, Entity, employer-consent, Affiliate, and minor-contributor |
| 161 | + processes are unresolved. |
| 162 | +- The public `main` license and the intended MPL-2.0 state are temporarily |
| 163 | + different; activation before the community-license transition is settled |
| 164 | + would create avoidable ambiguity. |
| 165 | +- Privacy, retention, version evidence, electronic signature, and treatment of |
| 166 | + prior Contributions are unresolved. |
| 167 | + |
| 168 | +### P2 — process and clarity risks |
| 169 | + |
| 170 | +- One combined draft is convenient for review but separate Individual and |
| 171 | + Entity forms may be clearer operationally. |
| 172 | +- Media and third-party-content rules may need their own contributor guide and |
| 173 | + provenance workflow rather than additional breadth in the CLA. |
| 174 | +- A CLA tool outage, Gist change, account rename, or bot-status ambiguity needs |
| 175 | + an operational recovery procedure. |
| 176 | + |
| 177 | +### P3 — editorial follow-up |
| 178 | + |
| 179 | +- Defined terms, capitalization, translations, accessibility, and |
| 180 | + plain-language summaries should be normalized after legal text stabilizes. |
| 181 | +- A version identifier and digest format should be selected before publication. |
| 182 | + |
| 183 | +## Pro bono review request template |
| 184 | + |
| 185 | +Subject: Limited pro bono review request — open-source contributor agreement |
| 186 | + |
| 187 | +> Hello, |
| 188 | +> |
| 189 | +> I maintain HitTheKit, an open-source electronic-drum learning game. The |
| 190 | +> project is preparing to use Mozilla Public License 2.0 for its community |
| 191 | +> edition and may later offer separate commercial licenses. I would like |
| 192 | +> contributors to retain their copyright while granting the project the |
| 193 | +> copyright and patent permissions needed to distribute accepted contributions |
| 194 | +> under MPL 2.0 and, transparently, under separate commercial/proprietary terms. |
| 195 | +> |
| 196 | +> I have prepared a non-operative draft based on the Harmony Agreements |
| 197 | +> copyright-license model and outbound Option Five. The project is not yet |
| 198 | +> accepting substantial external code or assets, no one is being asked to sign |
| 199 | +> the draft, and CLA Assistant has not been configured. |
| 200 | +> |
| 201 | +> I currently have no budget for a full commercial engagement. Would your |
| 202 | +> clinic, practice, or open-source legal community be willing to provide a |
| 203 | +> limited pro bono review of the draft, focusing on the receiving party, |
| 204 | +> sublicensing scope, patent grant, employer/entity contributions, governing |
| 205 | +> law, privacy and electronic acceptance? I can provide the short draft, |
| 206 | +> adoption checklist, current license documents, and a concise list of open |
| 207 | +> questions. |
| 208 | +> |
| 209 | +> I understand that availability may be limited and that an informal community |
| 210 | +> response may not create a lawyer-client relationship or replace advice from a |
| 211 | +> qualified professional in the relevant jurisdiction. |
| 212 | +
|
| 213 | +## Primary drafting references |
| 214 | + |
| 215 | +- Harmony agreement templates and guide: |
| 216 | + <https://www.harmonyagreements.org/agreements> |
| 217 | +- Mozilla Public License 2.0: |
| 218 | + <https://www.mozilla.org/MPL/2.0/> |
| 219 | +- Developer Certificate of Origin 1.1: |
| 220 | + <https://developercertificate.org/> |
| 221 | +- CLA Assistant project documentation: |
| 222 | + <https://github.com/cla-assistant/cla-assistant> |
| 223 | +- GitHub protected branches and required status checks: |
| 224 | + <https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches> |
| 225 | + |
| 226 | +This checklist is engineering and governance preparation, not legal advice. |
0 commit comments