New Core Contributors Guide
So you've been invited to join the core contributor team. What next? What is expected of you? How can you contribute?
The level of your involvement is up to yourself. We do not assign specific roles or responsibilities but instead allow people to choose what they want to work on. For example:
- Trevor is leading the responsive mobile app efforts;
- Jed helped set up the new donation systems and the new website (among a lot of other things);
- Matiss is mostly reviewing PRs and fixing issues here and there;
- Rich created and maintained the documentation;
- Paul is helping with the product direction;
Your specific contribution is up to yourself.
However, one thing we do value very highly is: reviewing the work of other community members. This comes in two forms: it could be code reviews or it could be a product review (how does the proposed feature fit into the overall product?). To have a healthy community, we all chip in with the reviews.
Overall: try to enjoy your time here. We value you and the effort you are putting into Actual.
If we boil it down to a simple list:
- find an area where you would like to contribute;
- review the work of other contributors;
- share your thoughts and opinions;
- be open and humble;
PR review guidelines
- Remember that the PRs coming in are from unpaid volunteers, so be respectful of that
- However, this does NOT mean we review and approve everything: our time is valuable too, so it is OK to ask clarification questions or push back if the proposed change is too large or just doesn't fit well in the product
- Be polite and helpful - many of the changes come from first-time contributors or newcomers to the React tech stack
- If a seemingly controversial change is being proposed, but you are OK with it - feel free to approve it, but give it a few more days for others to review it too before merging
- For non-controversial changes (for example: adding TypeScript types) - feel free to approve and merge straight away
We're all passionate about Actual. Sometimes this leads to differences in opinion.
When this happens we usually follow this framework:
- the two people having a disagreement try to come to an agreement first;
- if they cannot come to an agreement - they bring it to the contributor team for discussion;
- if the bigger contributor team cannot agree - we bring it to a public vote.