From 48f88ac117cc4ce81eac3e007e0d857aedd9bae3 Mon Sep 17 00:00:00 2001 From: Damien Goutte-Gattat Date: Fri, 30 Oct 2026 22:27:15 +0100 Subject: [PATCH] Add contributing document. Add a document outlining how to contribute to ODK-Core, including the policy about the use of generative AI. --- CONTRIBUTING.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 1 + 2 files changed, 48 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..37e3dac --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,47 @@ +# Contributing to this project + +First of all, thank you for wanting to contribute. + +## How to submit bug reports or feature requests +Bug reports or feature requests can be submitted by opening an issue on + or + (but +please favour the former, as the latter should now be reserved for +issues with the Docker images). They may also be sent by e-mail to +. When using e-mail, please prefix the subject with +`[odk ]`. + +## How to submit contributions +Please discuss the change you wish to make first, either through an +issue or by e-mail (see above), before submitting anything. + +Contributions can only be submitted by opening a pull request on +. Any contribution sent by e-mail +is likely to be ignored, unless it is a very trivial patch. + +Please check your contribution meets the following requirements: + +* Python code should pass: + * the code quality check (`ruff check`); + * the code formatting check (`ruff format --check`); + * the static typing check (`mypy`); + * the spell check (`codespell`); + * and the Python test suite (`pytest tests`). +* Your patches or commits (when submitting pull requests) should each be + adequately described by a [meaningful commit + message](https://incenp.org/dvlpt/docs/vcs-good-practices/index.html#sect.commit-messages). + +You _may_ additionally ensure that the seed tests also pass (`cd tests && sh +test-configs.sh`), but this is optional – those tests can take quite a while to +run, so you are _not_ required to run them locally prior to submitting your +contribution as they will be run on the pull request anyway. + +## About “generative AI” +Contributions of any kind (code, documentation, tests…) that have been +fully or partially made by genAI tools are discouraged and will be taken +as an admission from you that you are perfectly fine with the +environmental, social, economical, and political external costs +associated with such tools. + +Bug reports or feature requests openly or obviously written by genAI +tools are equally discouraged and may be ignored. diff --git a/pyproject.toml b/pyproject.toml index 645165c..aebb857 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,6 +42,7 @@ build-backend = "uv_build" module-name = "incatools.odk" source-include = [ "NEWS", + "CONTRIBUTING.md", "examples/**", "tests/**", ]