Contributing to Open Access Kit
Thank you for helping make privacy tools more accessible. Contributions of all kinds are welcome — new sources, guides, bug fixes, and documentation improvements.
Ways to Contribute
Add a new source
Sources are defined in oak.yaml. OAK supports four source types: rsync,
git, http, and local. To add a new software or content source:
- Fork the repository and create a branch.
- Add an entry under
sources:inoak.yamlwith the appropriate type, URL, and verification method. - Add the source name to the relevant
tiers:entries. - Run
oak download <source-name>andoak verify <source-name>to confirm it works. - Open a pull request describing the source, its license, and why it belongs in OAK.
All bundled content must be freely redistributable. See the license notes in
content/guides/resources.md for examples of compatible licenses.
Add or improve a guide
Guides live in content/guides/ as Markdown files. They are rendered
to HTML and bundled on every distribution of removable media, as well as published to the
project website.
- Add or edit a
.mdfile incontent/guides/. - Use relative links between guides (e.g.,
[Getting Started](getting-started.html)). - Run
./oak siteto preview the rendered output indocs/guides/. - Open a pull request with a brief description of the new or updated content.
Fix a bug or improve the CLI
- Read
ARCHITECTURE.mdto understand the build pipeline. - Run
go test ./...to verify the existing tests pass. - Make your change, add tests if appropriate, and open a pull request.
Code Style
- Standard Go formatting (
gofmt). The CI linter (golangci-lint) enforces this. - Keep changes minimal and focused. One concern per PR.
- Configuration-driven where possible — prefer extending
oak.yamlover hard-coding.
License
By contributing, you agree that your contributions will be licensed under the same terms as the project: GPL v3 for code, CC BY-SA 4.0 for content.