From a355f6696ad527c3dd9af2eb640461c3c29d4cc9 Mon Sep 17 00:00:00 2001 From: Jacob Shufro Date: Wed, 3 Jul 2024 12:25:22 -0400 Subject: [PATCH] Add CONTRIBUTING.md --- CONTRIBUTING.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..a3ad30ff7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,36 @@ +# Contributing to Smart Node +Smart Node is an open-source project that welcomes community contributions. + +## Roles +Smart Node has three roles: Owner, Maintainers, and Contributors. + +### Owner +The Owner has final say in settling disputes and making executive decisions when consensus cannot be reached. Currently, the Owner is @0xfornax. + +### Maintainers +Maintainers are team or community members who contribute routinely. The Owner is also a Maintainer. Current Maintainers: +- @0xfornax +- @thomaspanf +- @jshufro + +Smart Node was previously maintained by @jclapis and @moles1 + +### Contributors +Contributors are community members who have submitted merged pull requests with some regularity. They are too numerous to list individually. + +## Good Practices +- Adhere to golang best practices. See [Effective Go](https://golang.org/doc/effective_go.html) for a good starting point. +- Adhere to broader coding practices, such as DRY, POLA, Avoid Deep Nesting, etc. +- New code should be unit tested when possible. +- Write self-documenting code when possible, and add comments when necessary. + +## Pull Requests +- Each PR should represent a single feature, bugfix, or non-functional change. +- Owners and Maintainers may decide if a change is too small for peer review, but should still offer the opportunity for review by posting the PR for at least a day, unless urgent. +- Larger changes require at least one Maintainer's review. +- All Contributor PRs must be reviewed by a Maintainer. +- Commits should be groomed: each commit should compile, pass tests, and represent logical atomic progressions. +- History rewriting is permissible only while a PR is in DRAFT status, or after a Maintainer has approved the PR. Once a PR is approved, fixup commits should be rebased into the original commits. + +## Licenses +Smart Node is licensed under GNU GPLv3, and all contributions must be made under the same license. See [LICENSE](LICENSE) for details. \ No newline at end of file