2021-06-04 17:41:18 -05:00
|
|
|
# How to Contribute
|
|
|
|
|
|
|
|
incorporeal-cms is a personal project seeking to implement a simpler, cleaner form of what would
|
2022-05-17 07:43:33 -05:00
|
|
|
commonly be called a "CMS". I appreciate any help in making it better.
|
|
|
|
|
|
|
|
incorporeal-cms is made available under the GNU Affero General Public License version 3, or any
|
|
|
|
later version.
|
2021-06-04 17:41:18 -05:00
|
|
|
|
|
|
|
## Opening Issues
|
|
|
|
|
|
|
|
Issues should be posted to my Gitea instance at
|
|
|
|
<https://git.incorporeal.org/bss/incorporeal-cms/issues>. I'm not too picky about format, but I
|
2022-01-17 16:49:40 -06:00
|
|
|
recommend starting the title with "Improvement:", "Bug:", or similar, so I can do a high level of
|
2021-06-04 17:41:18 -05:00
|
|
|
prioritization.
|
|
|
|
|
2022-05-17 07:43:33 -05:00
|
|
|
## Contributions
|
|
|
|
|
|
|
|
I don't expect contributors to sign up for my personal Gitea in order to send contributions, but it
|
|
|
|
of course makes it easier. If you wish to go this route, please sign up at
|
|
|
|
<https://git.incorporeal.org/bss/incorporeal-cms> and fork the project. People planning on
|
|
|
|
contributing often are also welcome to request access to the project directly.
|
|
|
|
|
|
|
|
Otherwise, contact me via any means you know to reach me at, or <bss@incorporeal.org>, to discuss
|
|
|
|
your change and to tell me how to pull your changes.
|
2021-06-04 17:41:18 -05:00
|
|
|
|
2022-05-17 07:43:33 -05:00
|
|
|
### Guidelines for Patches, etc.
|
|
|
|
|
|
|
|
* Cloning
|
|
|
|
* Clone the project. I would advise using a pull-based workflow where I have access to the hosted
|
|
|
|
repository --- using my Gitea, cloning to a public GitHub, etc. --- rather than doing this over
|
|
|
|
email, but that works too if we must.
|
|
|
|
* Make your contributions in a new branch, generally off of `master`.
|
|
|
|
* Send me a pull request when you're ready, and we'll go through a code review.
|
2021-06-04 17:41:18 -05:00
|
|
|
* Code:
|
|
|
|
* Keep in mind that I strive for simplicity in the software. It serves files and renders
|
|
|
|
Markdown, that's pretty much it. Features around that function are good; otherwise, I need
|
|
|
|
convincing.
|
|
|
|
* Follow the style precedent set in the code. Do **not** use Black, or otherwise reformat existing
|
|
|
|
code. I like it the way it is and don't need a militant tool making bad decisions about what is
|
|
|
|
readable.
|
|
|
|
* `tox` should run cleanly, of course.
|
|
|
|
* Almost any change should include unit tests, and also functional tests if they provide a feature
|
|
|
|
to the CMS functionality. For defects, include unit tests that fail on the unfixed codebase, so I
|
|
|
|
know exactly what's happening.
|
|
|
|
* Commits:
|
|
|
|
* Squash tiny commits if you'd like. I prefer commits that make one atomic conceptual change
|
|
|
|
that doesn't affect the rest of the code, assembling multiple of those commits into larger
|
|
|
|
changes.
|
2022-05-17 07:43:33 -05:00
|
|
|
* Follow something like [Chris Beams's post](https://chris.beams.io/posts/git-commit/) on
|
2021-06-04 17:41:18 -05:00
|
|
|
formatting a good commit message.
|
2022-05-17 07:43:33 -05:00
|
|
|
* Please make sure your Author contact information is stable, in case I need to reach you.
|
|
|
|
* Consider cryptographically signing (`git commit -S`) your commits.
|
2021-06-04 17:41:18 -05:00
|
|
|
|
2022-05-17 07:43:33 -05:00
|
|
|
### Custody of Contributions
|
2021-06-04 17:41:18 -05:00
|
|
|
|
2022-05-17 07:43:33 -05:00
|
|
|
I do not request the copyright of contributions be assigned to me or to the project, and I require no
|
|
|
|
provision that I be allowed to relicense your contributions. My personal oath is to maintain
|
|
|
|
inbound=outbound in my open source projects, and the expectation is authors are responsible for their
|
|
|
|
contributions.
|
2021-06-04 17:41:18 -05:00
|
|
|
|
2022-05-17 07:43:33 -05:00
|
|
|
I am following the *spirit* of the [Developer Certificate of Origin](https://developercertificate.org/),
|
|
|
|
but in a simplified fashion:
|
|
|
|
|
|
|
|
By making a contribution to this project, you certify that:
|
2021-06-04 17:41:18 -05:00
|
|
|
|
2022-05-17 07:43:33 -05:00
|
|
|
1. The contribution was created by you and you have the right to submit it under the open source license
|
|
|
|
indicated in the LICENSE file; or
|
|
|
|
2. The contribution is based upon previous work that is covered under an appropriate open source license
|
|
|
|
compatible with the license indicated in the LICENSE file, and you have the right to contribute that
|
|
|
|
work with or without modifications, under the terms of that same open source license; or
|
|
|
|
3. The contribution was provided directly to you by some other person who certified points 1, 2, or 3, and
|
|
|
|
you have not modified it.
|
2022-01-17 16:49:40 -06:00
|
|
|
|
2022-05-17 07:43:33 -05:00
|
|
|
In the event of point 3, your commit **must** include the Signed-off-by line(s) as a chain of custody,
|
|
|
|
via `git commit -s`. For points 1 and 2, your commit with accurate Author information doubles as direct
|
|
|
|
custody.
|