Skip to main content
Version: v2.4

Contributing to Tobira

As an open source project, Tobira welcomes contributions in many forms. Examples of contributions include:

  • Code patches
  • Documentation improvements
  • Bug reports and patch reviews

If you plan on writing a larger patch or implementing a larger feature, please get in touch with us first! That way, we can coordinate and avoid us rejecting a pull request you put significant time into.

Getting started with the code base

Be sure to check out all the documentation for developers which contains valuable information! Reading about the general architecture of Tobira also helps. This should get you started. If you have any more questions, feel free to ask and ping us devs in the Opencast chat.

Creating Pull Requests

When creating a PR, please describe what the PR changes and why you think this change is useful. This makes it a lot easier for us to understand and review PRs.

Additionally:

  • Try to keep your commits as atomic as possible and provide a good message for each commit.
  • If your PR relates to an existing issue, please link that issue.
  • Our CI, which performs a lot of automated tests, must succeed for your PR. Otherwise it cannot be merged. If the CI fails and you think it is not caused by your change, please ping us.

We will review your pull request and comment with any issues we found or any points that require discussion. For larger PRs, there are usually multiple rounds of review + you pushing the requested changes until the PR is ready to be merged.

License

Tobira is licensed under Apache 2.0.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

Being Pragmatic

For every rule, there is an exception. If you find that there is a good reason one of the rules does not apply to you, please bring it up and explain why. We like to be pragmatic if necessary instead of just blindly following rules.