Thank you for considering contributing to this project! We welcome contributions large and small, from documentation to code, even just ideas. Following these guidelines helps communicate that you respect the time of the developers managing and developing this open source project. In return, we will recriprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
There are many ways to contribute, from advocacy through writing tutorials or blog posts, improving or translating the documentation, submitting bug reports and feature requests, or writing code which can be incorporated into future releases.
The first step in determining how best to tackle a concern is to ask about it. There are a number of avenues available for discussion and support.
-
Freenode IRC
Likely the best way to get fast turnaround on inquiries is through the Marrow Open Source Collective community on Freenode IRC. Point your IRC client at the
#webcore
channel onchat.freenode.net:6667
(SSL; non-SSL port 6667) or, if you are viewing this on a medium which supports it and have an IRC client installed which recognizesirc://
URLs, just use this link.If you have general Python questions,
##python-friendly
or#python
may be more active. Stack Overflow is also worth considering. -
Stack Overflow
To help develop a comprehensive knowledgebase of problems and solutions, with good metadata, user incentives, and fancy native apps, you can utilize Stack Overflow to ask your questions. Just remember to tag your question
marrow
(and hopefully a more specific project tag) so that it can be found. -
GitHub Issues
For problems relating to bugs or enhancements witin the project, please utilize the GitHub Issue Tracker, making sure to pick the appropriate issue template, populating as needed. If you have identified an issue and have already begun work on a feature branch, just issue a pull request instead of creating a ticket.
Please do not use the issue tracker for general use and support questions. IRC or Stack Overflow are better resources for quick questions or longer questions, respectively.
-
Triage
If you find an unreviewed ticket reporting a bug, try to reproduce it. If the problem appears valid make a note that you confirmed the bug.
-
Help Wanted
Look through the Help Wanted issues on GitHub. Look for tickets with greater numbers of reactions and comments to help gauge impact. If you feel it's a problem you can help solve, ask to be assigned.
-
Write Some Documentation
We like to think that our documentation is excellent, but there's always room for improvement. Did you find a typo? Do you feel a certain section is unclear? Open an issue with your suggested additions or alterations, or feel free to submit a pull request. Not every change must be to code!
-
Start small.
It'll be less overwhelming to tackle a small, focused problem, and easier to get feedback.
-
Leave feedback.
See an idea being discussed, or a work-in-progress you feel could use your input? Do not hesitate to comment anywhere at any time.
-
Large (especially breaking) changes should be discussed.
Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
-
Be excellent to each-other.
Be welcoming to newcomers and encourage diverse new contributors from all backgrounds. See the Python Community Code of Conduct.
-
Code quality is a key priority.
We love code. To ensure our code is understandable and maintainable long into the future it is important that changes:
- Ensure cross-runtime (CPython, Pypy) and modern Python 3 compatibility and feature use.
- Ensure code coverage and code quality / health do not decrease.
- Ensure changes are up to date with their parent branch and that they do not conflict.
Financial contributions are welcome. To arrange a one-time donation, please contact GothAlice
on IRC (see details above) and for more ongoing support we have Patreon prepared for you. We have rewards (such as inclusion in the Patrons team on GitHub plus our eternal gratitude) and goals, so please give it a look; every penny helps pay for infrastructure costs and caffeine. So much caffine.
If at any point you wish or need to cease recurring donations, do not feel bad. Don't put yourself out on our account, and thank you!