Goal
Add a top-level LICENSE file so GitHub can detect the project's license and show it in the repo sidebar. Currently the repo has only LICENSE-HARDWARE.md, which GitHub doesn't recognize as a software license, so the repo page shows no license badge and the API license field is null. Also track the still-TBD custom PCB license.
Issues found
1. 🟠 No root LICENSE file — GitHub can't detect or display a license
File: (missing) LICENSE at repo root
The repo has LICENSE-HARDWARE.md (CC BY-NC-SA 4.0 for 3D model files) but no LICENSE file. GitHub's license detection only recognizes specific filenames (LICENSE, LICENSE.md, LICENSE.txt, COPYING) and known license templates. LICENSE-HARDWARE.md is not recognized, so:
- The repo sidebar shows no "License" entry
- The GitHub API
license field returns null
- No license badge is available for shields.io or the README
The README and CONTRIBUTING.md document the licensing situation: firmware code has no explicit license yet (inheriting from upstream, intent to move to MIT), 3D models are CC BY-NC-SA 4.0, and the custom PCB license is TBD.
Fix (recommended): Create a root LICENSE file that states the firmware code's current status. Two options:
- If ready to adopt MIT now: Add a standard MIT
LICENSE file for the firmware source code (src/, build scripts, web assets), and add a note in the README License section pointing to LICENSE-HARDWARE.md for 3D models. This is the README's stated intent.
- If not ready: Create a
LICENSE file with a custom notice (not a recognized SPDX template) explaining the current state — e.g. "Firmware source code: no explicit license yet (see CONTRIBUTING.md). 3D model files: CC BY-NC-SA 4.0 (see LICENSE-HARDWARE.md)." GitHub won't show a license badge, but the file will be discoverable from the repo root.
2. 🟡 Custom PCB license is still TBD
File: README.md (License section), LICENSE-HARDWARE.md (Scope section)
The README says:
Custom PCB design (custom-pcb/): license TBD.
And LICENSE-HARDWARE.md explicitly excludes custom-pcb/ from its scope. The custom-pcb/ directory has no license coverage at all. This should be resolved once a decision is made (likely MIT or CC BY-SA to match the hardware/firmware split).
Fix: Decide on a license for custom-pcb/ and document it. If MIT (matching firmware), add it to the root LICENSE file's scope. If CC BY-SA (matching hardware), extend LICENSE-HARDWARE.md or create a separate LICENSE-PCB.md.
Acceptance criteria
- A
LICENSE file exists at the repo root
- GitHub repo page shows a license entry (if an SPDX-recognized template is used) OR the README clearly explains why no badge is shown
custom-pcb/ license status is resolved (no longer "TBD")
- README License section is updated to match whatever file is created
- CONTRIBUTING.md licensing note is updated if the situation changes
Files / areas involved
LICENSE (new file)
README.md (License section)
CONTRIBUTING.md ("A note on licensing" section)
LICENSE-HARDWARE.md (Scope section, if PCB license is added there)
Constraints
- Don't change the CC BY-NC-SA 4.0 license on 3D model files — only Morgan Manly can relicense those
- The firmware license decision should match the README's stated intent (MIT) unless the maintainer decides otherwise
- This issue is partly a decision item, not purely a code change — the maintainer should weigh in on MIT vs. custom notice before implementation
Goal
Add a top-level
LICENSEfile so GitHub can detect the project's license and show it in the repo sidebar. Currently the repo has onlyLICENSE-HARDWARE.md, which GitHub doesn't recognize as a software license, so the repo page shows no license badge and the APIlicensefield is null. Also track the still-TBD custom PCB license.Issues found
1. 🟠 No root LICENSE file — GitHub can't detect or display a license
File: (missing)
LICENSEat repo rootThe repo has
LICENSE-HARDWARE.md(CC BY-NC-SA 4.0 for 3D model files) but noLICENSEfile. GitHub's license detection only recognizes specific filenames (LICENSE,LICENSE.md,LICENSE.txt,COPYING) and known license templates.LICENSE-HARDWARE.mdis not recognized, so:licensefield returnsnullThe README and CONTRIBUTING.md document the licensing situation: firmware code has no explicit license yet (inheriting from upstream, intent to move to MIT), 3D models are CC BY-NC-SA 4.0, and the custom PCB license is TBD.
Fix (recommended): Create a root
LICENSEfile that states the firmware code's current status. Two options:LICENSEfile for the firmware source code (src/, build scripts, web assets), and add a note in the README License section pointing toLICENSE-HARDWARE.mdfor 3D models. This is the README's stated intent.LICENSEfile with a custom notice (not a recognized SPDX template) explaining the current state — e.g. "Firmware source code: no explicit license yet (see CONTRIBUTING.md). 3D model files: CC BY-NC-SA 4.0 (see LICENSE-HARDWARE.md)." GitHub won't show a license badge, but the file will be discoverable from the repo root.2. 🟡 Custom PCB license is still TBD
File:
README.md(License section),LICENSE-HARDWARE.md(Scope section)The README says:
And
LICENSE-HARDWARE.mdexplicitly excludescustom-pcb/from its scope. Thecustom-pcb/directory has no license coverage at all. This should be resolved once a decision is made (likely MIT or CC BY-SA to match the hardware/firmware split).Fix: Decide on a license for
custom-pcb/and document it. If MIT (matching firmware), add it to the rootLICENSEfile's scope. If CC BY-SA (matching hardware), extendLICENSE-HARDWARE.mdor create a separateLICENSE-PCB.md.Acceptance criteria
LICENSEfile exists at the repo rootcustom-pcb/license status is resolved (no longer "TBD")Files / areas involved
LICENSE(new file)README.md(License section)CONTRIBUTING.md("A note on licensing" section)LICENSE-HARDWARE.md(Scope section, if PCB license is added there)Constraints