this document was collaborated on by karissa, nick, kira, and cblgh during an online meeting in September 2020
Cabal Contribution Guidelines
the contribution guidelines act as guideposts for which contributions are welcome, or which shape they should take. some are more aspirational, acting as guiding stars, than others e.g. Minimize waste
- Small trusted groups (e.g. 2-25 ppl).
Cabal prioritizes features that serve small trusted groups of people. This also means prioritizing security, safety, and privacy (and fun).
We are attentive to the sustainability of the code as well as the personal relationships of maintainers. We want to keep a functional set of features that are maintainable (e.g. tested) as well as a community that is respectful to each other.
- Separation of concerns.
Built in clear layers (protocol, library, clients).
From an end-user point of view, Cabal works where people are, from in the terminal to on mobile devices. From a developer point of view, it should be easy to work with as well (e.g. documented, simple, enjoyable).
- Polish & Aesthetics.
Cabal's clients appeal to their audiences through well-chosen features and simple design.
- Minimize waste.
Runs SUPER fast and smooth, even on older hardware.
the values outline what guides our community, contributors, maintainers, and spaces; they are the pillars of the cabal club
- Nazi punks fuck off.
No nazis, no TERFs, no alt-right—or anyone friendly with them
- No-burnout zone
Contributing should be enjoyable at least more-often-than-not; like hanging out with good friends
- Kindness, to each other and to ourselves
- Collaboration & communication rather than hierarchy and authority
Honest and clear communication is important to us, as is collaborating with people who align with the project. Everyone is welcome to tag along for the ride (just make sure to read the contributing guidelines & talk with existing maintainers before you start building a huge feature)