Skip to content

Commit dd9ec6b

Browse files
committed
meta: Update contribution policy
1 parent e3e9e69 commit dd9ec6b

1 file changed

Lines changed: 26 additions & 1 deletion

File tree

CONTRIBUTING.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,55 @@ appreciated and will be reviewed swiftly.
66
Wormhole is a mission-critical, high-stakes project. We optimize for quality over quantity. Design processes
77
and code reviews are our most important tools to accomplish that.
88

9+
## Who can contribute?
10+
11+
Due to the high-stakes nature of making changes to Wormhole, we have a strict policy on who can contribute to the project.
12+
Typically, we only accept contributions from people who we already trust and/or who have a history of contributing to
13+
the project. This policy is in place to ensure that we maintain the security and stability of project, including
14+
its CI infrastructure.
15+
16+
The right way to get started with contributing is to reach out to us directly, introduce yourself, and ask for guidance on how to contribute to the project.
17+
Drive-by pull requests will be closed without review or explanation. Typically, we already have a good visibility into
18+
existing bugs and feature requests, and our preference to to have our own devs and their LLMs implement the changes.
19+
20+
In general, we will not upstream changes to the project unless we have a tangible need for them.
21+
22+
Security-related issues **must** be reported via our bug bounty program. See [SECURITY.md](./SECURITY.md) for more information.
23+
We do not accept security-related PRs from external contributors, including from bug bounty reporters, regardless of whether
24+
or not the reporter has found a valid issue.
25+
26+
The above policy applies to all projects in the Wormhole ecosystem maintained by the Wormhole Foundation.
27+
928
## Development and Code Review Process
1029

1130
**Before contributing code, read [SAFETY_CRITICAL_CODE.md](./SAFETY_CRITICAL_CODE.md).**
1231

1332
- All new features must first be discussed in a GitHub issue before starting to implement them. For
1433
complex features, it can be useful to open a thread on [GitHub Discussions](https://github.com/wormhole-foundation/wormhole/discussions).
1534

16-
- Development happens on a long-lived development branch (`main` and `dev.v1`).
35+
- Development happens on a long-lived development branch (`main`).
1736
Every change going into a development branch is reviewed individually (see below). Release branches may be used
1837
to support in-the-wild releases of Wormhole. We aim to support at most two release
1938
branches at the same time. Changes can be cherry-picked from the development branch to release branches, but
2039
never from release branches to a development branch.
40+
2141
- Releases are first tested on a testnet.
2242

2343
- Commits should be small and have a meaningful commit message. One commit should, roughly, be "one idea" and
2444
be as atomic as possible. A feature can consist of many such commits.
45+
2546
- Where possible, use standard libraries, common dependencies, or SDK functions instead of re-implementing validation
2647
from scratch. This helps prevent duplication and drift for routine tasks, and helps the codebase stay lean and well-tested.
48+
2749
- Feature flags and interface evolution are better than breaking changes and long-lived feature branches.
50+
2851
- We optimize for reading, not for writing - over its lifetime, code is read much more often than written.
2952
Small commits, meaningful commit messages and useful comments make it easier to review code and improve the
3053
quality of code review as well as review turnaround times. It's much easier to spot mistakes in small,
3154
well-defined changes.
55+
3256
- PRs that only correct typos or make minor wording adjustments will be rejected. Fixing typos alongside other non-trivial engineering work is welcome.
57+
3358
- Pull requests that modify dependencies must be well-documented so that the benefits of updating can be weighed against
3459
security and compatibility concerns. Low-effort PRs that update dependencies without any documentation will be rejected.
3560

0 commit comments

Comments
 (0)