Skip to content

Commit 48c16da

Browse files
committed
Merge remote-tracking branch 'origin/develop' into feature/practice-lab
# Conflicts: # docs/README.md # src/HitTheKit.Unity/Assets/HitTheKit/Runtime/Audio/DspSongClockPrototype.cs # src/HitTheKit.Unity/Assets/HitTheKit/Runtime/Charts/ChartTimelinePrototype.cs # src/HitTheKit.Unity/Assets/HitTheKit/Runtime/Gameplay/GameplayHighwayController.cs
2 parents c03d0f9 + 16f5a8b commit 48c16da

84 files changed

Lines changed: 5597 additions & 812 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ jobs:
3434
persist-credentials: false
3535
- name: Validate public-readiness contracts
3636
run: bash tests/scripts/public-readiness-contract-tests.sh
37+
- name: Validate MPL licensing contracts
38+
run: bash tests/scripts/licensing-contract-tests.sh
3739
- name: Validate website localization contracts
3840
run: bash tests/scripts/website-localization-contract-tests.sh
3941
- name: Validate public Wiki contracts

CONTRIBUTING.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ Thank you for helping make HitTheKit more reliable, accessible, and useful.
44

55
Before participating, read the [Code of Conduct](CODE_OF_CONDUCT.md),
66
[support guide](SUPPORT.md), and [project governance](GOVERNANCE.md).
7-
HitTheKit is intended to remain available under both an open-source GPL license
8-
and a possible separate commercial-license path. That model requires clear
9-
copyright permissions for every substantial contribution.
7+
HitTheKit is intended to remain available under both the open-source MPL-2.0
8+
Community license and a possible separate commercial-license path. That model
9+
requires clear copyright permissions for every substantial contribution.
1010

1111
## Current contribution policy
1212

@@ -75,6 +75,14 @@ mechanism may be introduced after professional legal review. This document is
7575
not a CLA, does not transfer copyright, and does not create an implied
7676
assignment or commercial-license grant.
7777

78+
A Harmony-based copyright-license CLA is currently being evaluated in
79+
[`docs/legal/CONTRIBUTOR_LICENSE_AGREEMENT_DRAFT.md`](docs/legal/CONTRIBUTOR_LICENSE_AGREEMENT_DRAFT.md),
80+
with unresolved adoption gates recorded in
81+
[`docs/legal/CLA_ADOPTION_CHECKLIST.md`](docs/legal/CLA_ADOPTION_CHECKLIST.md).
82+
Both documents are non-operative drafts. Do not sign or rely on them. Opening a
83+
pull request, issue, or discussion does not accept the draft, and no CLA
84+
automation or electronic acceptance process is active.
85+
7886
Until a reviewed mechanism exists, maintainers should not merge a substantial
7987
external code or asset contribution merely because it was submitted under the
8088
repository's Community license. The required rights for the proposed

FUNDING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ help without creating a recurring commitment:
5454
accessibility, and focused development time a meaningful one-time boost.
5555

5656
Custom monthly and one-time support remains available through GitHub Sponsors.
57-
Rewards are digital, low-maintenance, privacy-conscious and independent of GPL
57+
Rewards are digital, low-maintenance, privacy-conscious and independent of MPL
5858
rights. Sponsorship does not purchase guaranteed features, roadmap control,
5959
private GoMyRO access, commercial-song rights or a commercial HitTheKit license.
6060

LICENSE

Lines changed: 373 additions & 674 deletions
Large diffs are not rendered by default.

LICENSING.md

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,68 @@
11
# HitTheKit Licensing
22

3-
HitTheKit is intended to be available under a dual-licensing model.
4-
5-
This repository currently grants the Community license under version 3 of the
6-
GNU General Public License. No project-specific "or any later version" grant
7-
was found during the licensing audit, so the current grant is treated as
8-
GPL-3.0-only. The complete, unmodified license text is in [`LICENSE`](LICENSE).
3+
HitTheKit uses a dual-licensing model.
94

105
## Community license
116

12-
The Community edition may be used, studied, modified, shared, and used
13-
commercially under the GNU General Public License version 3, provided that the
14-
applicable GPL obligations are respected.
7+
Unless a file or directory says otherwise, original HitTheKit source code is
8+
available under the [Mozilla Public License 2.0](LICENSE) (MPL-2.0).
9+
Third-party components, Unity packages, generated engine material, trademarks,
10+
and content retain their own terms; see
11+
[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md), [NOTICE](NOTICE), and
12+
[TRADEMARKS.md](TRADEMARKS.md).
13+
14+
The MPL permits personal, educational, community, and commercial use. When
15+
MPL-covered source files are modified and distributed, those covered files
16+
must remain available under the MPL. A larger work may contain separate files
17+
under other terms, provided the MPL requirements for covered files are met.
18+
The full license text controls; this overview does not replace it.
19+
20+
## Unity players and other executable distributions
1521

16-
In particular, conveying modified or combined covered works may require
17-
providing corresponding source code and licensing the covered work under the
18-
GPL. Consult the full GPL text for the actual terms; this overview does not
19-
replace it.
22+
MPL-2.0 permits covered HitTheKit code to be distributed in a larger executable
23+
under different terms while preserving recipients' rights to the MPL-covered
24+
source. This removes the former GPL whole-work copyleft concern for a player
25+
that incorporates the proprietary Unity Runtime.
26+
27+
It does not itself approve a particular binary release. Every macOS or Windows
28+
candidate must still satisfy the applicable Unity terms, dependency notices,
29+
asset and content rights, signing requirements, platform testing, and the
30+
project release checklist. Unity and third-party technology are not relicensed
31+
by HitTheKit.
2032

2133
## Commercial license
2234

23-
A separate commercial license may be available for organizations or
24-
individuals that want to use HitTheKit under terms incompatible with the GPL,
25-
including use within proprietary or closed-source products. Possible use cases
26-
include:
35+
A separate commercial license may be available to organizations or individuals
36+
that need terms different from MPL-2.0, including:
2737

28-
- proprietary desktop or mobile applications;
29-
- closed-source training platforms;
30-
- commercial hardware integrations;
31-
- bundled products;
32-
- private-label or white-label distributions; and
33-
- redistribution without GPL copyleft obligations for HitTheKit code.
38+
- keeping modifications to MPL-covered HitTheKit files proprietary;
39+
- proprietary hardware or software integrations;
40+
- bundled, private-label, or white-label distribution; or
41+
- separately negotiated support, warranty, or maintenance terms.
3442

35-
The commercial license is not automatically granted by this repository.
36-
Commercial terms require a separate written agreement with a copyright holder
37-
who has authority to license the relevant code. Such an agreement covers only
38-
the rights that licensor controls; it does not replace licenses or commercial
39-
terms for Unity or any other third-party component.
43+
The commercial license is not automatically granted and is not required merely
44+
because an activity generates revenue. It requires a separate written agreement
45+
with a copyright holder authorized to license the relevant code. It cannot
46+
replace Unity's terms or the licenses of third-party components.
4047

41-
## Personal, educational, and commercial use
48+
## Existing GPL copies
4249

43-
Personal, educational, and community use is welcome under the GPL Community
44-
license. No commercial license is required merely because an activity
45-
generates revenue, provided that the use and any distribution comply with the
46-
GPL.
50+
Copies validly received under GPL-3.0-only before the MPL relicensing remain
51+
available to their recipients under GPL-3.0-only. The MPL change does not revoke
52+
rights already granted. A recipient must use the license offered for the exact
53+
copy or version they received.
4754

4855
## Contributions
4956

50-
Contributions require separate governance rules so that the project can remain
51-
eligible for dual licensing. See [`CONTRIBUTING.md`](CONTRIBUTING.md).
57+
Future contribution terms must preserve a clear rights chain for both the MPL
58+
Community edition and any separate commercial licensing. Until that mechanism
59+
has been reviewed and adopted, follow [CONTRIBUTING.md](CONTRIBUTING.md).
5260

5361
## No trademark permission
5462

55-
The software license does not automatically grant permission to use the
56-
HitTheKit name, logo, or branding to market a modified or competing product.
57-
Trademark rights, if any, are separate from copyright licensing. See
58-
[`TRADEMARKS.md`](TRADEMARKS.md).
59-
60-
## Contact
61-
62-
Commercial licensing inquiries: open a private inquiry with the copyright
63-
holder. A dedicated contact address will be published later.
63+
MPL-2.0 does not grant permission to use the HitTheKit name, logo, or branding
64+
to market a modified or competing product. Truthful attribution remains
65+
permitted. See [TRADEMARKS.md](TRADEMARKS.md).
6466

6567
This document is a project licensing overview, not legal advice and not a
66-
substitute for the full GPL text or a signed commercial agreement.
68+
substitute for the MPL text or a signed commercial agreement.

NOTICE

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ HitTheKit public source notice
33
Copyright (c) 2026 HitTheKit contributors and the respective rightsholders
44
identified in COPYRIGHT.md.
55

6-
Original HitTheKit source code is made available under GPL-3.0-only. See
7-
LICENSE. Third-party software and tools retain their own licenses and notices;
8-
see THIRD_PARTY_NOTICES.md.
6+
Unless stated otherwise, original HitTheKit source code is made available under
7+
MPL-2.0. See LICENSE and LICENSING.md. Third-party software and tools retain
8+
their own licenses and notices; see THIRD_PARTY_NOTICES.md.
99

1010
This source repository contains no commercial recordings, stems, MIDI files,
1111
lyrics, transcriptions, album artwork, or download links. Player-owned local
1212
content is outside the repository and remains the player's responsibility.
1313

14-
The initial public publication is source-and-website only. No Unity player
15-
binary is approved for public distribution. Unity-runtime redistribution and
16-
the proposed separate commercial-license path remain subject to qualified
17-
legal review and are not granted by this notice.
14+
No Unity player binary is approved merely by this notice. Each binary candidate
15+
must independently pass the Unity terms, dependency, provenance, signing,
16+
platform-testing, and release gates. The proposed separate commercial-license
17+
path requires a written agreement and is not granted by this notice.
1818

1919
HitTheKit is independent and is not sponsored, endorsed, certified by, or
2020
affiliated with Unity Technologies, Apple Inc., or referenced hardware

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<p align="center">
77
<img alt="Version 0.5.0 pre-release" src="https://img.shields.io/badge/version-0.5.0--pre--release-ff4fa3">
8-
<img alt="License GPL-3.0-only" src="https://img.shields.io/badge/license-GPL--3.0--only-2fe0ff">
8+
<img alt="License MPL-2.0" src="https://img.shields.io/badge/license-MPL--2.0-2fe0ff">
99
<img alt="Unity 6" src="https://img.shields.io/badge/Unity-6000.5.6f1-ffffff">
1010
<img alt="MIDI support macOS only" src="https://img.shields.io/badge/MIDI-macOS%20CoreMIDI-f6a623">
1111
<a href="https://github.com/sponsors/Codewriter90x"><img alt="Sponsor HitTheKit" src="https://img.shields.io/badge/Sponsor-GitHub%20Sponsors-EA4AAA?logo=githubsponsors&logoColor=white"></a>
@@ -176,8 +176,9 @@ hardware result, improve documentation or pick a
176176
## Licensing and content boundary
177177

178178
Original project code is licensed under
179-
[GPL-3.0-only](LICENSE). A possible separate commercial-license path is under
180-
preparation and remains subject to legal review; see [LICENSING.md](LICENSING.md).
179+
[MPL-2.0](LICENSE). A separate commercial-license path remains available only
180+
through a written agreement; see [LICENSING.md](LICENSING.md). Existing copies
181+
previously received under GPL-3.0-only retain those rights.
181182

182183
The public repository does not include commercial songs, recordings, charts,
183184
lyrics or artwork. Third-party names describe compatibility only. HitTheKit is

ROADMAP.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ documented, and represented honestly in the release notes.
1515
reduced motion;
1616
- publish screenshots, checksums, known limitations, and reproducible release
1717
notes from the exact candidate commit; and
18-
- complete professional review of GPL, Unity distribution, contribution, and
19-
commercial-licensing terms.
18+
- validate the MPL-based Unity distribution, contribution, and
19+
commercial-licensing terms for the exact release candidate.
2020

2121
## Next: broader compatibility and confidence
2222

THIRD_PARTY_NOTICES.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ provenance is recorded separately in
88

99
| Component | Version | Declared license or terms | Role | Redistributed by this repository? | Review status / action |
1010
| --- | --- | --- | --- | --- | --- |
11-
| Unity Editor and built-in Unity modules | Editor 6000.5.6f1; modules 1.0.0 | Unity Terms of Service and Unity Editor Software Terms | Authoring, compilation, runtime APIs | Editor and module source/binaries are not tracked; a future player build may contain Unity runtime components | **Legal review required:** confirm current plan eligibility, player redistribution, GPL interaction, and separate Unity permission for embedded systems. |
11+
| Unity Editor and built-in Unity modules | Editor 6000.5.6f1; modules 1.0.0 | Unity Terms of Service and Unity Editor Software Terms | Authoring, compilation, runtime APIs | Editor and module source/binaries are not tracked; a future player build may contain Unity runtime components | Confirm current plan eligibility, player redistribution terms, required notices, and separate Unity permission for embedded systems for every candidate. MPL-2.0 does not relicense Unity. |
1212
| Unity Test Framework | 1.7.0 | Unity Companion License v1.4 | EditMode and PlayMode testing | Package source is resolved by Unity Package Manager, not tracked or intended for player distribution | Preserve the package license and copyright notice if substantial package portions are redistributed. |
1313
| Unity Custom NUnit (`com.unity.ext.nunit`) | 2.1.0, based on NUnit 3.5 | Unity Package Distribution License v2.1; bundled NUnit portions under MIT | Transitive Unity test dependency | Resolved by Unity Package Manager, not tracked or intended for player distribution | Preserve Unity package terms and the bundled NUnit MIT notice when applicable. |
1414
| .NET SDK | 8.0.411 requested by `global.json` | MIT plus the distribution's third-party notices | Build tooling | No | Build tool only; follow the license and notices of the installed distribution. |
@@ -21,7 +21,7 @@ provenance is recorded separately in
2121

2222
## Verified sources
2323

24-
- GNU GPL version 3: <https://www.gnu.org/licenses/gpl-3.0.html>
24+
- Mozilla Public License 2.0: <https://www.mozilla.org/MPL/2.0/>
2525
- Unity terms: <https://unity.com/legal/terms-of-service>
2626
- Unity Companion License: <https://unity.com/legal/licenses/unity-companion-license>
2727
- Unity Package Distribution License:

TRADEMARKS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# HitTheKit Name and Branding
22

3-
The GPL license for HitTheKit source code does not itself grant trademark
3+
The MPL-2.0 license for HitTheKit source code does not itself grant trademark
44
rights in the HitTheKit name, logo, or other project branding. No claim that a
55
mark is registered is made here.
66

7-
The GPL permits recipients to copy, modify, and distribute covered code under
7+
MPL-2.0 permits recipients to copy, modify, and distribute covered code under
88
its terms. A fork may identify the code it came from in a truthful, descriptive
99
way, but should not imply sponsorship, endorsement, certification, or official
1010
status that has not been granted.
@@ -14,7 +14,7 @@ brand for a modified, competing, private-label, or commercial product. Any
1414
separate branding permission should be documented in writing.
1515

1616
This guidance is provisional and requires legal review. It does not restrict
17-
the copyright permissions granted by the GPL.
17+
the copyright permissions granted by MPL-2.0.
1818

1919
## Third-party names
2020

0 commit comments

Comments
 (0)