Contribute

Jack in.

VectraOS is developed in the open on GitHub. Clone it, boot it, read it, and send what you find.

Build and boot

The build tool is a single C23 program that builds itself, the kernel, user space and Limine for both architectures, and boots the result in QEMU.

The toolchain is pinned: clang, lld and llvm-objcopy 22.1.8 from Fedora 44, plus nasm for Limine's x86_64 loader.

sh
$ git clone https://github.com/JamesKane/VectraOS
$ cd VectraOS
$ cc -std=c23 -o build build.c  # once
$ ./build all
$ ./build qemu --arch aarch64   # Ctrl-A X quits
$ ./build test                  # both arches, headless
$ ./build check                 # tests, fuzzers, format, lint
House rules

How the code is kept

Standard C23

A house subset of C23, in a K&R two-space format. ./build check enforces the format and clang-tidy, and a change should pass it before it's sent.

No package registries

Dependencies are first-party or vendored and reviewed, checked against VENDOR.ndb by ./build vendor-check, and counted in the line ledger.

Decisions are written down

A change to the design, an exception to a rule, or a new import comes with an architecture decision record in docs/adr/.

BSD-3-Clause, no CLA

You keep the copyright on what you write. There is no contributor license agreement and no copyright assignment. Vendored code keeps its own licenses.

Forks are welcome

The license permits them. Its third clause means a fork can't use the VectraOS name to endorse itself.

One mechanism per job

No compatibility shims or portability layers in the OS. Adding a mechanism means removing or refusing another.

Start with the README, the overview, and the known gaps in docs/milestones.md.

Governance

One BDFL. Four rules.

VectraOS is run by a BDFL, a benevolent dictator for life: James Kane. Every decision passes through the BDFL after weighing its pros and cons. Substantive changes get argued in an issue, a pull request or an architecture decision record before the code lands, and a decision says why it was made.

If VectraOS ever reaches a user base the size of desktop Linux’s, a steady 2–3% of desktops, we’ll consider moving governance to a committee.

The code of conduct isn't one. It's four rules:

  • Have fun.
  • Respect each other.
  • Build cool software.
  • Leave politics at the door.