Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
After you've reviewed these contribution guidelines, you'll be all set to contribute to this project.

Contributing to Machina Callida

We welcome contributions from the community, and want to make contributing to this project as easy and transparent as possible, whether you contribute by

  • reporting a bug,
  • submitting code,
  • proposing a new feature, or
  • put yourself forward to become the maintainer,
  • ...

Please read these guidelines before contributing. If you have questions about them or want to suggest improvements, please open a new issue.

Development on GitLab

We use GitLab to host source code and documentation, to track issues such as bug reports and feature requests, and to provide Machina Callida downloads to users.

Report a bug or other issues

We track bugs in and issues with Machina Callida, and record proposals of new features, in GitLab issues. You can report a bug, request a feature, or simply ask a question, by opening a new issue. It's easy.

Contribute code or documentation through merge requests

Merge requests are the best way to propose changes to the codebase or the documentation sources. We actively welcome your merge requests:

  1. Fork this repository.
  2. Open a new issue describing what you are planning to do. The maintainer will decide and communicate whether your change is a hotfix or a feature.
  3. Create a feature branch (for new functionality) with git checkout -b "feature/YOUR_BRANCH_NAME_HERE",
    or a hotfix branch (for bug fixes) with git checkout -b "hotfix/YOUR_BRANCH_NAME_HERE".
  4. Do your work in this branch.
    • If you add code, add tests!
    • Update the relevant documentation!
    • Test your changes locally!
  5. Push your branch and create a merge request.
    • If your contribution is new functionality, create it against machina-callida:develop.
    • If your contribution is a bug fix, create it against machina-callida:master.

Code review schedules

We perform reviews of all changes to Machina Callida, be they in code, documentation, configuration, etc. Note that we may sometimes not be able to perform reviews right away due to illness, holidays, etc.

License

By contributing code to Machina Callida, you agree that your contributions will be licensed under its Apache License, Version 2.0.
By contributing documentation to Machina Callida, you agree that your contributions will be licensed under its CC0 1.0 Universal (CC0 1.0) license.

Governance

This section describes the decision-making processes for the Machina Callida project, and the roles involved in them.

Roles

In the Machina Callida project, the following roles are defined.

  • Core contributors: Active contributors to the Machina Callida software. The development of Machina Callida is either part of the job description of core contributors, or they are actively making substantial contributions to the project.

  • Maintainer: Machina Callida has a single maintainer. This person is responsible for the development and release workflow of Machina Callida, including project and software documentation and facilitating maintenance transfers, as well as nominating core contributors.

  • Principal investigators: As Machina Callida is research software, the principal investigators are responsible for strategic development of the project.

Decision making

Decisions are usually made by the maintainer, with potential recourse to the core contributors, the principal investigators, or both.