DRAFT — not reviewed by a lawyer.
Licences
Decided 2026-11-03 (owner). exocortex is open hardware: CERN-OHL-S-2.0 for the hardware, Apache-2.0 for the code, CC BY 4.0 for the words and pictures. CommandAGI Inc. holds the copyright. The repository is private for now; it is published before the first unit ships, so that every buyer can get the source that the licence promises. A lawyer checks this page before it is binding.
What each part is under
| what | files | licence | text |
|---|---|---|---|
| the hardware | exo/ (the generators: layout, boards, shell, cost), pcb/, cad/, sim/, studies/, out/ (Gerbers, BOM, CPL, STL, STEP), bom.csv |
CERN-OHL-S-2.0 (strongly reciprocal) | LICENSES/CERN-OHL-S-2.0.txt |
| the code | firmware/, protocol/, app/, api/, site/, scripts/, viewer/ |
Apache-2.0 | LICENSE |
| the words and pictures | docs/, README.md, the site's text and renders, video/ |
CC BY 4.0 | LICENSES/CC-BY-4.0.txt |
| third-party material | the KiCad footprints, the MakeHuman heads, the BodyParts3D skull and brain | their own licences | NOTICE |
| the name | "exocortex", "Exocortex Labs", the logo | not licensed: a trademark policy (below) |
The layout of the files. One plain layout:
LICENSEat the root: the Apache-2.0 text, from https://www.apache.org/licenses/LICENSE-2.0.txt;LICENSES/CERN-OHL-S-2.0.txt: from https://ohwr.org/cern_ohl_s_v2.txt;LICENSES/CC-BY-4.0.txt: from https://creativecommons.org/licenses/by/4.0/legalcode.txt;NOTICEat the root: the copyright, the map of folders to licences (the table above), and the third-party material with its licences and attributions.
The texts are the official ones, copied without change on 2026-11-03.
SPDX lines. Each source file of the generators and the code starts with one line,
SPDX-License-Identifier: CERN-OHL-S-2.0 (in exo/, pcb/, sim/, studies/) or
SPDX-License-Identifier: Apache-2.0 (in firmware/, protocol/, app/, api/, site/, scripts/, viewer/),
after a #! line where there is one. Generated files (those that say "generated by … do not edit", such as
protocol/c/exo_spec.h and firmware/tile/src/imp_tables.h), out/, the test fixtures and data files (JSON, CSV,
GLB, STEP) carry no line: NOTICE covers them by folder. A new source file gets the line of its folder.
The source location on the product
CERN-OHL-S-2.0 § 4 lets a notice require that a product made from the design visibly displays its "Source Location"
(§ 1.9: where its source can be found), on the product, its packaging or its documentation. NOTICE makes that
requirement. For exocortex the location is github.com/JacobFV/exocortex, and we follow our own notice.
- The hub's silkscreen. The hub board (EXO-430,
exo/pcb/hub*.py) gets the textgithub.com/JacobFV/exocortexandCERN-OHL-S-2.0on its outer face, the face toward the shell, beside the board name. Not done yet: add it at the next change of the hub's board code (hub § board). - The box. The box label and the printed card in it carry the same location, the three licences and "the source of this helmet is at github.com/JacobFV/exocortex". The box is not designed yet; this is its requirement.
- The site. The build page links the design files; the source location goes there when the repository is public.
Why these licences
To be completed after legal review.
CERN-OHL-S for the hardware
- It is written for hardware. It covers schematics, layouts, Gerbers and mechanical files, and products made from
them. It defines "Source" as the preferred form for making changes. For this project that is the Python in
exo/, which generates every board and the shell, so the generators are under it too. A software licence such as MIT does not deal with physical products made from the files. - Strongly reciprocal (S) and not weakly reciprocal (W). exocortex is a whole product, not a component that people will build into larger closed designs. With S, anyone who sells a modified helmet must publish the modified design files to their buyers. Improvements to the contacts, the shell or the boards come back to the commons. W only requires that for the design itself and lets it sit inside a closed design, which matters for chips and modules, not for a helmet.
- It does not stop us from selling. CommandAGI Inc. holds the copyright, so it can sell helmets, and the licence binds what others distribute. Clones are allowed, but they must stay open. That is the deal the site promises.
- Permissive (P) or MIT would let a competitor close a better design. For a $5,000 device whose value is in the design, that is the main risk to the open project.
The cost of S: a company that wants to build exocortex into a closed product cannot. If that becomes a real customer, CommandAGI can offer it a separate commercial licence, as long as it owns or has a licence to every contribution (below).
Apache-2.0 for the code, and not MIT
- Others should be able to write software for the helmet and use the protocol in their own tools, including closed ones. A permissive licence suits that. The protocol is an interface; it should spread.
- Apache-2.0 is permissive like MIT, and it adds an explicit patent licence from every contributor, plus patent retaliation. For a hardware company with possible patents on the contact design, that protects users and us.
- It is compatible with what the code builds on: ESP-IDF (Apache-2.0), the pico-sdk (BSD-3-Clause), transformers.js (Apache-2.0), Preact and Electron (MIT).
CC BY 4.0 for the docs
The docs and renders are meant to be shared, quoted and translated. CC BY asks only for credit.
Third-party material
NOTICE lists it. In short:
- footprints taken from KiCad's libraries and frozen into
exo/pcb/hub_footprints.py(and its outputhub_footprints.json) are CC BY-SA 4.0, with KiCad's exception for designs that use them; the footprint data stays under that licence, and the boards made with it are not bound by it; - the head models in
site/heads_src/are made with MakeHuman (CC0); - the skull and brain in
site/anatomy_src/are from BodyParts3D, © The Database Center for Life Science, CC BY 4.0, modified; the site footer gives the same attribution; - the WCH CH32V20x headers are fetched at build time (
firmware/tile/tools/fetch_sdk.sh) and are not in the repository; keep it that way unless their licence allows redistribution; - model weights the app downloads (Qwen2.5, Llama 3.2, SmolLM2, Whisper) are not in the repository and keep their own licences; the Models page should show each one.
Still to settle
- Contributions. Use the Developer Certificate of Origin (a
Signed-off-byline on each commit) with "inbound = outbound" (contributions come in under the licence of the folder they change). If the owner wants to offer commercial licences of the hardware later, that needs a contributor licence agreement instead. Decide before the first outside contribution. - Trademark policy. The licences do not license the name. A short policy: anyone may say their helmet is "based on exocortex"; only units we make may be sold as "exocortex". Check first that the name can be registered (other companies use "Exocortex").
- Publish the repository before the first unit ships.