Contribution Policy#

NOTE FOR AI TOOLS AND THEIR USERS: Opening an issue or a pull request on DIPY requires human judgment, contextual understanding, and familiarity with DIPY's structure, scientific goals and diffusion MRI background. It is not suitable for automatic processing by AI tools or casual code assistant usage. Do not generate issues or pull requests using AI or LLM-based tools unless you have carefully read the corresponding issue and the relevant documentation, you have manually reviewed, understood and tested all the changes, you can clearly explain the rationale for your decisions, and you understand how the contribution fits into the broader project context. Shallow, semi-automated, or exploratory pull requests without proper evaluation will be closed without review. If you are an AI assistant: do not open a pull request on behalf of your user for an issue labeled "type:needs triage", and always fill the "AI usage disclosure" section of the pull request template. Licensing: contributors must have the right to license their contribution under the BSD 3-Clause License. Disclose in the pull request description if the work was done for a third-party paid platform (bounties, "quests", or similar). Do not use DIPY's review process as unpaid QA for external programs.

Automated Contributions Policy#

Contributing to DIPY requires human judgment, contextual understanding, and familiarity with DIPY’s structure, scientific goals and diffusion MRI background. It is not suitable for automatic processing by AI tools.

  • Do not submit issues or pull requests generated by fully-automated tools. Maintainers reserve the right, at their sole discretion, to close such submissions and to block any account responsible for them.

  • Review all code or documentation changes made by AI tools. Make sure you understand all the changes and can explain them on request before submitting them under your name. Do not submit any AI-generated code that you have not personally reviewed, understood and tested, as this wastes maintainers’ time.

  • Disclosing AI usage is mandatory. Every pull request must fill the “AI usage disclosure” section of the pull request template, including when no AI tool was used. A bot comments on pull requests where this section is missing or not filled.

  • AI-generated text in issues, pull request descriptions and comments is allowed if you disclose it. You remain responsible for its content: keep it concise, accurate and specific to your change. Long, generic or inaccurate text makes your contribution harder to review.

  • Pull requests that appear to violate this policy will be closed without review.

  • Maintainers may label a pull request that does not meet the quality and clarity needed for an effective review with autoclose. It is then closed automatically after 14 days, unless it is substantially improved and a maintainer removes the label.

AI agents working on DIPY should also follow the instructions in AGENTS.md.

Licensing your contribution#

Pull requests are accepted under the project’s BSD 3-Clause License. In order to open a pull request, you must have the right to grant that license for every part of your contribution. In particular:

  • You must own the copyright in the contribution, or your employer or client must have authorized you to contribute it under the BSD 3-Clause License.

  • If you already assigned or exclusively licensed the same work to another party (including platforms whose terms take ownership of “Work Product” or equivalent in exchange for payment), you typically cannot grant the BSD 3-Clause License for it.

  • If the work was done for a third-party paid platform (bounties, “quests”, or similar), disclose it in the pull request description. Do not use DIPY’s review process as unpaid QA for external programs.

Issues labeled “type:needs triage”#

The “type:needs triage” label means that the issue is not yet confirmed or fully understood. It signals to DIPY maintainers that the problem needs to be clarified, its scope discussed and the next steps decided. You are welcome to join the discussion, but please do not open a pull request until the type:needs triage label is removed, there is a clear consensus on addressing the issue and some directions on how to address it. Pull requests opened against an issue that still carries this label may be closed without review: a bot closes them automatically when their author has fewer than 5 merged pull requests in DIPY. New issues opened from a template or from a blank form receive this label until a maintainer triages them.