Thanks for your interest in contributing to Lind! Lind is a community-driven, open-source project, and it grows through the people who use it, file issues, improve the docs, and send patches. Contributions of every size are welcome.
This guide applies across all repositories in the Lind-Project
organization. It covers the conventions and expectations that are common to
every repo. Anything specific to a single repository — how to build it, run its
tests, or lay out its code — lives in that repository's own CONTRIBUTING.md
and docs.
There are many ways to contribute, depending on your interests:
- Isolation Backends — Work on improving Wasmtime or build the MPK runtime.
- Lind as a Shared Library — Test and harden this support for real use in scientific library isolation.
- Performance — Analyze and improve the performance of the existing system.
- Tooling & CI — Improve the build system, Docker images, benchmarks, and CI pipelines.
- Documentation — Improve guides, internal design docs, and getting-started material.
New to the project? Look for issues labeled good first issue in any of our
repositories, and feel free to introduce yourself on the community channels
below.
- Find the repository you want to work on in the Lind-Project organization.
- Read that repository's
READMEfor build and test instructions — these are maintained per repo and are the source of truth for local setup. - If you are unsure where a change belongs or want feedback on an idea before investing time, open an issue or raise it on one of the communication channels below.
We use a standard GitHub fork-and-pull-request workflow:
- Fork the repository and create a topic branch from the default branch.
- Make your change. Keep commits focused and write clear commit messages. Follow the coding conventions and testing expectations of the repository you are contributing to — code should be sufficiently tested and must not break the build.
- Open a pull request against the upstream repository. Describe what the change does and why, and link any related issues.
- Review. Every pull request must be approved by at least one maintainer who is not its author before it can be merged. Security-sensitive or substantial architectural changes require approval from at least two maintainers. See GOVERNANCE.md for the full decision-making process.
- Merge. Once a PR has the required approvals, a maintainer merges it. As the author, please keep your branch up to date and merge-ready.
By contributing, you agree that your contributions will be licensed under the
same license as the repository you are contributing to (see each repository's
LICENSE file).
- GitHub Issues & Discussions — Per-repository questions, bugs, and design discussion.
- Slack & community calls — Day-to-day discussion, questions, and regular meetings open to users, contributors, and maintainers. See COMMUNITY.md for how to join Slack and the meeting schedule.
Maintainers and the areas they focus on are listed in MAINTAINER.md.
Lind uses a flattened maintainer model, and project ownership is collective. For how decisions are made, how PRs are approved, and how contributors become maintainers, see GOVERNANCE.md and MAINTAINER.md.
Participation in the Lind community is governed by our Code of Conduct. By participating, you agree to uphold it.