Exocortex Labs

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:

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 text github.com/JacobFV/exocortex and CERN-OHL-S-2.0 on 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 output hub_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

  1. Contributions. Use the Developer Certificate of Origin (a Signed-off-by line 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.
  2. 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").
  3. Publish the repository before the first unit ships.