Skip to content

Latest commit

 

History

History
82 lines (42 loc) · 5.16 KB

CONTRIBUTING.md

File metadata and controls

82 lines (42 loc) · 5.16 KB

Contributing

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.

Contents

  1. Asking Questions
  2. First Steps
  3. Guidelines
  4. Donations and Patreon Support

Asking Questions

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 on chat.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 recognizes irc:// 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.

First Steps

  • 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!

Guidelines

  • 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:

    1. Ensure cross-runtime (CPython, Pypy) and modern Python 3 compatibility and feature use.
    2. Ensure code coverage and code quality / health do not decrease.
    3. Ensure changes are up to date with their parent branch and that they do not conflict.

Donations and Patreon Support

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!