Whether you have a great idea, or are running into an annoying bug you'd like to see fixed, we'd love you to share it with us. In this document we put down a few simple guidelines that will make it easier for everyone to be as productive as possible!
Bugs happen, and corto is no exception. If you find one, always create a GitHub issue that describes the steps to reproduce the bug in detail. If you found an intermittent failure, try to reduce the scenario to the simplest test program possible before creating the issue. That way, maintainers can quickly reproduce the bug without going back & forth too much.
Note that we try to be responsive, but somtimes other things take priority and fixing the bug may take some time. If that leaves you between a rock and a hard place, try fixing the bug yourself! You can always ask questions through our website chat, or by posting GitHub issue containing a question if you get stuck.
Once you have created a fix, create a pull request for it. Ensure that at least the corto CI builds are running and that there are no conflicts, otherwise we can't merge! See the README.md on how to run the tests on the core repository. Your PR has to be reviewed and approved by at least one person in order to be merged. Always create an issue first, as we may want to have some discussion first on how the bug should be fixed.
If you'd like a new feature in corto, always create an issue first. In the issue description, describe in detail the problem you are trying to solve, and are not able to solve right now. This way, other people can get involved in discussing potential alternatives, or perhaps even come up with an way in which it can already be done! If you have an idea on how to implement the feature, also document that in detail.
Even more so than for bugs, we love PRs for feature requests! We'd especially encourage you to implement smaller features yourself, as this is is probably much faster than waiting for one of the maintainers to do it ;-). As with bugs, have at least one person review the PR, make sure it passes all tests and has no merge conflicts.
Sometimes discussions can get heated and that's normal. Stay corteous and respectful, and take a look at our code of conduct. And have some fun while doing it, we sure do!