Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ The following figure might help you with an overview:

![Branching Strategy Graph](/img/branching_strategy.svg)

You are expected to read, and follow, the [Rucio AI Policy](./developer/ai_policy.md) when
contributing (Creating code, documentation, etc.) to the project.

## How can I Contribute

### 1. Prerequisite
Expand Down
38 changes: 38 additions & 0 deletions docs/developer/ai_policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
id: dev_ai_policy
title: AI Policy
---

The key words "MAY", "MUST", "MUST NOT", and "SHOULD" in this document are to be interpreted as described
in [RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119).

# Motivation

- We see an increased amount of contributions which are entirely generated, or at least assisted, by AI tools.
- This policy aims to appeal to the contributors to understand the impact of usage of AI tools to the codebase,
as well as to the wider project dynamics. This policy therefore establishes a framework on how we expect contributors
to use AI tools responsibly.
- Impact to the codebase: Contributors **MUST** be able to demonstrate they understand the impact and justification
for their changes within the codebase. While AI tools are helpful in complimenting a contributor's knowledge, they
**MUST NOT** be used as a substitute for thoughtful contributions that improve the project. These types of changes
require each change, line by line, to be understood.
- Impact to the community: Our developers community relies on a delicate web of trust between the contributors and
reviewers. Reviewers invest their own time not only to ensure that the quality standards of the project are met, but
also to educate contributors to in turn become more effective contributors or reviewers themselves. If reviewers feel
that their effort is merely being used to "improve" the output of an AI tool, but not to have a long-lasting impact of
improved returns, this web of trust crumbles. (Comprehension debt)
- Impact to the community: Wrongly used AI tools have the tendency to create lower quality, potentially faulty, code
which creates an additional burden to the reviewers, as the code is harder to review. Thus an imbalance is created of
faster generated, AI assisted, pull requests which require disproportionally more effort for review, which we already
lack.

# Policy

1. You **MAY** use AI tools for contributing to Rucio, as long as you follow the principles described below.
2. You **MUST** disclose the usage of AI tools. This includes any pull request to the codebase, as well as any type
of communication in the project, such as documentation, github issues, answering support requests, etc.
3. You **MUST** take full responsibility for your contributions. We expect all contributions, whether entirely human
authored or assisted by AI tools, to meet the project's quality standards. This means, you **MUST** understand and
be able to explain the details of all changes proposed in your pull request. Your primary aim of using AI tools
**MUST** be to create better quality code, not to create code faster.
4. Code review **MUST** be done by a human. You **MAY** use AI tools in addition to a full human review cycle.
Loading