cerca

lean forum software (pmc local branch)
Log | Files | Refs | README | LICENSE

commit f5c26badce620dffd402afef7ee52bab577f6505
parent 677d537f65004aa6935e6eebb1266b57997261dc
Author: cblgh <cblgh@cblgh.org>
Date:   Tue,  1 Feb 2022 14:21:49 +0100

add contributing

Diffstat:
ACONTRIBUTING.md | 40++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+), 0 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md @@ -0,0 +1,40 @@ +# Contributing + +Hello! Let's jam! Before that, though, let's slow down and talk about how to make contributions that will be +welcomed with open arms. + +The goal of this forum software is to enable small non-commercial communities to have their own +place for longer-flowing conversations, and to maintain a living history. As part of that, it +should be easy to make this software your own. It should also be easy to host on any kind of +computer, given prior experience with hosting a simple html website. Contradicting this is the +messy reality that the current software is written for the explicit use of the [Merveilles] +community! + +## Code contributions +In general, it's preferred to keep the code flexible than to impose (unnecessary) hierarchy at +this early stage, and to reach out before you attempt to add anything large-ish. Common sense, +basically. + +In a bit more detail and in bullet-point format—the guiding principles: + +* Communicate _before_ starting large rewrites or big features +* Keep the existing style and organization +* Flexibility before hierarchy +* Have fun! There are other places to execute at a megacorp level +* Additions should benefit long-term use of the forum and longer form conversations +* New features should have a reasonable impact on the codebase + * Said another way: new additions should not have an outsized impact on the _overall_ codebase +* The software should always be easy to host on a variety of devices, from powerful servers to smol memory-drained and storage-depleted computers +* As far as we are able to: avoid client-side javascript + * Said another way: there should always be a way to do something without a functioning javascript engine +* Don't `go fmt` the entire codebase in the same PR as you're adding a feature; do that separately if it's needed +* The maintainer reserves the right to make final decisions, for example regarding whether + something: + * makes the codebase less fun to work with, or understandable + * goes against the project's idea of benefitting conversations + * does not compose well with the existing forum experience + +At the end of the day, a maintainer must live with decisions made for the project—both good and +bad! That weight of responsibility is taken into account when looking at new contributions. + +[Merveilles]: https://now.lectronice.com/notes/merveilles/