Skip to content
Merged
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
4 changes: 4 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,7 @@ Generally we expect a pull request to meeting the following requirements before
3. The PR does not introduce unsafe Rust code unless necessary. Whenever introducing unsafe code, the contributor must elaborate why it is necessary.
4. The PR passes the mmtk-core unit tests and complies with the coding style. We have scripts in `.github/scripts` that are used by our Github action to run those checks for each PR.
5. The PR passes all the binding tests. We run benchmarks with bindings to test mmtk-core. A new pull request should not break bindings, as we ensure that our supported bindings always work with the latest mmtk-core. If a pull request makes changes that require the bindings to be updated correspondingly, you can approach the MMTk team on [our Zulip](https://mmtk.zulipchat.com/) and seek help from them to update the bindings.

## Using AI tools

You may responsibly use AI tools, such as large language models (LLMs), to help with your contributions. Contributions must be submitted by a human, who is responsible for all of their content. See our [AI policy](docs/contribute/ai_policy.md) for details.
25 changes: 25 additions & 0 deletions docs/contribute/ai_policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# AI Policy

In this policy, a *contribution* is any content that an account submits to MMTk projects, such as
code, documentation, pull requests, issues, and comments. This policy applies to contributions that
include content generated by AI tools, such as large language models (LLMs).

* **AI-generated content is allowed.** You may use AI tools to help produce your contributions.
* **A human must be behind the account.** You must submit contributions and engage with the
community from your own account. We currently do not allow fully automated accounts (e.g.
accounts operated by AI agents) to make contributions.
* **You are responsible for your contributions.** You are responsible for all the content of your
contributions, regardless of how it was produced.
* **Self-review is expected.** Raw AI output is rarely good enough for others to review, and we
expect you to self-review and iterate on it. You should make your best effort to understand
your contributions, verify their facts and improve them before making them public and
requesting review from others ([draft pull requests](../team/code_review.md#draft-pull-requests)
are exceptions as they are normally not reviewed).
* **Disclosure is optional.** You may indicate AI use (e.g. a `Co-authored-by` or `Assisted-by`
commit trailer, or a note in the pull request) to help reviewers.
* **Licensing.** You must ensure that your contributions can be distributed under MMTk's license
(see [COPYRIGHT](../../COPYRIGHT)), and that they do not include content from sources with
incompatible licenses.
* **We review the content, not the tool.** Contributions are reviewed based on their content and
quality, not on whether AI was used. However, low-quality or careless contributions may result in
lower priority when reviewing future contributions from the same account.
Loading