aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorRaito Bezarius <raito@lix.systems>2024-05-05 15:41:10 +0200
committerjade <lix@jade.fyi>2024-05-07 01:28:35 +0000
commit36d69864f35be25347513318c134409b593e3f49 (patch)
tree0b0623a870fa7053cd1c5fd49b92bcd701a16afd /CONTRIBUTING.md
parent47fb49467601f43c950abc88c835ed44733f3d8f (diff)
chore: re-work the contribution guide
As per our bootstrap governance discussions, here's a very simple proposal which links as much as possible to our wiki. Change-Id: I88b1c43f933ff7e529151b1e933fad40283383c4 Signed-off-by: Raito Bezarius <raito@lix.systems>
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md89
1 files changed, 33 insertions, 56 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8908b9887..4a4c81cb2 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,76 +1,53 @@
-# Contributing to Nix
+# Contributing to Lix
-Welcome and thank you for your interest in contributing to Nix!
-We appreciate your support.
+Welcome and thank you for considering contributing to Lix! We're currently in a soft release phase, and your support means a lot to us.
-Reading and following these guidelines will help us make the contribution process easy and effective for everyone involved.
+To ensure a smooth and effective contribution process, here is a summary of our guidelines:
-## Report a bug
-
-1. Check on the [GitHub issue tracker](https://github.com/NixOS/nix/issues) if your bug was already reported.
-
-2. If you were not able to find the bug or feature [open a new issue](https://github.com/NixOS/nix/issues/new/choose)
+## Getting help?
-3. The issue templates will guide you in specifying your issue.
- The more complete the information you provide, the more likely it can be found by others and the more useful it is in the future.
- Make sure reported bugs can be reproduced easily.
+If you have any question regarding getting started or reporting bugs, feel free
+to reach out to us.
-4. Once submitted, do not expect issues to be picked up or solved right away.
- The only way to ensure this, is to [work on the issue yourself](#making-changes-to-nix).
-
-## Report a security vulnerability
+On Matrix, we have a space at `#space:lix.systems`, composed of:
-Check out the [security policy](https://github.com/NixOS/nix/security/policy).
+- [`#discuss:lix.systems`](https://matrix.to/#/#discuss:lix.systems) for discussions on Lix.
+- [`#dev:lix.systems`](https://matrix.to/#/#dev:lix.systems) for the development channel on Lix.
-## Making changes to Nix
-
-1. Check for [pull requests](https://github.com/NixOS/nix/pulls) that might already cover the contribution you are about to make.
- There are many open pull requests that might already do what you intent to work on.
- You can use [labels](https://github.com/NixOS/nix/labels) to filter for relevant topics.
-
-2. Search for related issues that cover what you're going to work on. It could help to mention there that you will work on the issue.
+## Report a bug
- Issues labeled [good first issue](https://github.com/NixOS/nix/labels/good-first-issue) should be relatively easy to fix and are likely to get merged quickly.
- Pull requests addressing issues labeled [idea approved](https://github.com/NixOS/nix/labels/idea%20approved) are especially welcomed by maintainers and will receive prioritised review.
+- Check if your bug has already been reported in the [issue tracker](https://git.lix.systems/lix-project/lix/issues).
+- If you can't find the bug or feature, please open a new issue.
-3. Check the [Nix reference manual](https://nixos.org/manual/nix/unstable/contributing/hacking.html) for information on building Nix and running its tests.
+We maintain a copy of the upstream Nix bugs. Their organisation can be read about [here](https://wiki.lix.systems/books/lix-contributors/page/bug-tracker-organisation).
- For contributions to the command line interface, please check the [CLI guidelines](https://nixos.org/manual/nix/unstable/contributing/cli-guideline.html).
+## Report a security vulnerability
-4. Make your changes!
+For security vulnerabilities, reach out by email at `security at lix dot systems`.
-5. [Create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) for your changes.
- * Link related issues in your pull request to inform interested parties and future contributors about your change.
- * Make sure to have [a clean history of commits on your branch by using rebase](https://www.digitalocean.com/community/tutorials/how-to-rebase-and-update-a-pull-request).
- If your pull request closes one or multiple issues, note that in the description using `Closes: #<number>`, as it will then happen automatically when your change is merged.
- * [Mark the pull request as draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request) if you're not done with the changes.
+## Making changes to Lix
-6. Do not expect your pull request to be reviewed immediately.
- Nix maintainers follow a [structured process for reviews and design decisions](https://github.com/NixOS/nix/tree/master/maintainers#project-board-protocol), which may or may not prioritise your work.
+Before diving into making changes, we want to engage with you and your ideas.
- Following this checklist will make the process smoother for everyone:
+We have a few policies in effect; please take the time to familiarize yourself:
- - [ ] Fixes an [idea approved](https://github.com/NixOS/nix/labels/idea%20approved) issue
- - [ ] Tests, as appropriate:
- - Functional tests – [`tests/functional/**.sh`](./tests/functional)
- - Unit tests – [`src/*/tests`](./src/)
- - Integration tests – [`tests/nixos/*`](./tests/nixos)
- - [ ] User documentation in the [manual](..doc/manual/src)
- - [ ] API documentation in header files
- - [ ] Code and comments are self-explanatory
- - [ ] Commit message explains **why** the change was made
- - [ ] New feature or incompatible change: updated [release notes](./doc/manual/src/release-notes/rl-next.md)
+- [Style guide on code](https://wiki.lix.systems/books/lix-contributors/page/code)
+- [Freeze policy and recommended contributions](https://wiki.lix.systems/books/lix-contributors/page/freezes-and-recommended-contributions)
-7. If you need additional feedback or help to getting pull request into shape, ask other contributors using [@mentions](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#mentioning-people-and-teams).
+To avoid duplication of effort, it may be a good idea to check out the list of
+[pending pull requests](https://gerrit.lix.systems/q/status:open+-is:wip) (or "change lists", as Gerrit calls them). Once you have
+an idea of what you might want to do, we recommend dropping a message on our
+Matrix to ensure your contribution fits with our current schedule and plans
-## Making changes to the Nix manual
+When you're ready and your changes are ready to go:
-The Nix reference manual is hosted on https://nixos.org/manual/nix.
-The underlying source files are located in [`doc/manual/src`](./doc/manual/src).
-For small changes you can [use GitHub to edit these files](https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files)
-For larger changes see the [Nix reference manual](https://nixos.org/manual/nix/unstable/contributing/hacking.html).
+- Submit your code.
+ - Submitting a GitHub PR [on our mirror](https://github.com/lix-project/lix) is totally ok if that's easier for you and your change is relatively small (300 lines or so).
-## Getting help
+ We may ask you to resubmit it as a Gerrit CL if it is necessary for the change you're making.
+ - Our primary code review system is [our Gerrit instance](https://gerrit.lix.systems), where you can open a change list (CL).
+ If you're new to Gerrit, check out [our wiki page about Gerrit](https://wiki.lix.systems/books/lix-contributors/page/gerrit).
+- Make sure to link any related issues.
+- If needed, indicate that the change is 'work in progress'.
-Whenever you're stuck or do not know how to proceed, you can always ask for help.
-The appropriate channels to do so can be found on the [NixOS Community](https://nixos.org/community/) page.
+You can obtain an account on our platforms by clicking "Sign In with GitHub" on the sign-in page.