Maintainers' guidelines and rules
Compare changes
MAINTAINERS.md
0 → 100644
+ 107
− 0
* It is expected for bugs to be fixed by code of people who caused them but only if it happened recently, unless it's happening in part of code someone has massive ownership of (i.e. when chunk of code was written by same person with little to no collaboration from other people, e.g. Pleroma Themes are mostly written by @HJ and it's his duty to fix bugs in there)
- If you had a discussion in private, i.e. irl in a bar at a fedi meetup - decision made by this private group cannot be used as an excuse for actions. That means no more "I talked to lain in-person and we decided that...". If you had a discussion and had a decision - it must be approved publicly by the rest of the team.
- This goes without a saying but public and community events that are organized for purpose of making decisions are exception. You can't say it was a private meeting if you were invited or were informed about it but not present. You can still object and try to (re)start a discussion but at least first familiarize yourself with the contents/outcomes of the event that you missed.
- For decisions we always try to reach consensus. If no consensus can be reached, then we need at least consensus on the decisions making process. Consensus means that people have been a proper chance to object and no one does, keeping [Pleroma's goals](https://git.pleroma.social/pleroma/pleroma-meta/-/merge_requests/3) in mind.
- Lastly, "hotfixes" and "dirty hacks" might or might not be accepted and it's up to maintainers to decide whether it's the case or not. Our codebase isn't always clean and we do have some legacy lying around, and in some places it might be acceptable to introduce a "temporary" fix, while in other there might be enough code dirt already and adding more won't help.
- "properly coordinated" means "consensus has been reached", this only really affects intentional backend-and-frontend changes, if something unintentionally changes the other part (i.e. backend changing CSP rules that break FE, FE having a bug that accidentally DDoSes BE) such changes should be re-coordinated, i.e. change reverted and approach looked at by both sides.
- Since we're non-profit and barely have any donations at the moment, it's unreasonable to expect people to be "on call" or even respond in time. The proposed baseline is 2 weeks, but it can be increased or decreased depending on situation, i.e. if some or most maintainers are on "vacation" or "sick leave" this period can be extended to 3 or 4 weeks.
- The meaning "taken care of" and timeframes are iterative, i.e. when MR is submitted maintainer can just respond with some questions about functionality or raise concerns about code, then it's considered that "ball is on other side" and time frame only starts again when other side (i.e. contributor submitting the MR) responds to queries, updates their MR etc. There is no hard limit on this process, but we might have some (soft) deadlines on releases which in turn impose harsher time limits on MRs, however this should be discussed and agreed upon between maintainers and involved contributors.