The Ancient Collection of Anomalous Brainchildren ------------------------------------------------- _ _ ____ _ _ _ ___ ____ |__| | | | | | | | | | | |__| |_|_| | |__| This document provides useful information for members of the Soviet who want to contribute to The Ancient Collection of Anomalous Brainchildren, hosted at The Soviet. You must read this document in full before contributing to The Collection. Organisation ============ The Collection is organised in topics or sections. This document belongs to the section "intro". Each section is a git repository, whose master is located under /usr/local/soviet/quarters/collection/$section The organisation of each section is left to the members contributing to that section. It would be possible, for instance, to have files organised in folders according to subsections or to other criteria. We are here to figure this out together. Security model ============== All the repositories in The Collection are readable and writeable by all the users in the system group "sundogs". This means that anybody in that group can change any file in those repos and commit them. However, non-fast-forward merges are not allowed, and commit deletion is disabled. This means that nobody can do a `git push --force` and rewrite the history. This also means that all the sundogs at The Soviet are collectively responsible for the maintenance of The Collection. Fair use ======== The Union has no interest in enforcing any code of conduct for contributions to The Collection, as The Union trusts the good will and cooperative nature of the members of The Soviet. The main reigning principle is that any member should contribute to The Collection however they prefer, keeping in mind some simple concepts: 0) All the contributors have equal rights. There are no moderators or "subject owners", just a collective of human beings willing to contribute to something beautiful. 1) Any contribution to The Collection must be an original work of the member contributing it. The Collection is the mirror of the experiences and stories of the members of The Soviet, not a new bitsaver. 2) All the material contributed to The Collection must be in text form. This obviosuly includes ascii arts and other kind of textual material not intended to be "read". 3) Any subject is allowed, with the exception of explicitly violent, derogatory, racist, sexist, harassing, or in any other way illegal material. 4) Textual material explicitly meant to be read can be written in any language, natural or artificial, without restrictions or limitations. Members are welcome to provide a translation of this document, or of any other document in The Collection, in any language. 5) This is a cooperative effort. Any member has the right to change material produced by others, if they are positive that they would be comfortable with that change if they were in the shoes of that other member. 6) The Soviet is a community of humans. If in doubt, shout. Send an email, or reach out on IRC. And remember that on the other side of the screen there is another human being with a brain and a heart, just like you. Contributing to a section ========================= Any member of The Soviet can contribute to any section of The Collection. Since each section is a git repository, all the contributions must be in the form of git commits. In brief, if you want to contribute to the section "intro", you need to: 0) go to the subdirectory of your ~/ folder where you want to keep your local copy of the repo (e.g., something like ~/quarters/collection, or whatever you prefer) 1) `git clone /usr/local/soviet/quarters/collection/intro` 2) `cd intro` 3) `soviet_init_repo` 4) edit the files as you like, or add new files 5) `git add {files you want to commit}` 6) `git commit` or `git commit -m "{your commit message here}"` 7) `git push` And you are done. Now rinse and repeat. Sandbox ======= If you are not comfortable yet with the git workflow, there is a "sandbox" section which is there just for testing. Just clone it and make changes there, if that makes you less anxious. About branches ============== The usage of branches in the main repos is somehow discouraged. Each user can keep as many branches as they want in their local repo, but there is probably little use in keeping more than one single branch in the central repo. The main reason is that The Collection is there to be public and accessible. Publishing ========== The goal is to make all the sections of The Collection publicly available through the gopher and gemini pages of The Soviet. This is why we request all the material in the collection to be in text format. As of how we could do in an automatic way, this is something we still need to experiment with. Possible solutions, from the simplest to the more elaborate ones, are reported below. Keep in mind that the aim is to fetch each repo into the main gopherdir/geminidir of The Soviet: 0) Let the gopher and gemini server just serve the repository "as it is", i.e., creating dir listings automatically; 1) Create an index.gph and index.gmi for each section, where all the published material of the section is referenced. 2) Have a more nuanced organisation of gph/gmi files, with subsections, more information, etc. Any of these solutions can be adopted in different sections, according to the preference or commitment of contributors to each section. Adding new sections =================== To request the addition of a new section, just send an email to The Union at union@soviet.circumlunar.space indicating the section you want to add and a brief description for it (which will be the description of the repository). Be mindful that although The Union is just an organism meant to help with the good functioning of The Soviet, there is still a human being on the other side of your email client, not a script.