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
13 changes: 13 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@ resolved in that text, for example "resolves #1".

---

#### AI usage disclosure

Using AI tools is welcome. Per our [AI Policy](https://earthaccess.readthedocs.io/en/latest/ai_policy/),
we just ask that you disclose any use of generative AI tools in this contribution.

- [ ] I have disclosed AI tool usage below, or confirmed that no AI tools were used

<!--
If you used AI tools, note which tool(s) were used, how they were used, and which
parts of this contribution are AI-generated. If you did not use AI tools, write
"No AI tools were used."
-->

#### "Ready for review" checklist

- [ ] Place this Pull Request (PR) in draft until it is ready for review (see below)
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ and this project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html)

## [Unreleased]

### Added

- Added an AI policy documenting expectations for AI-assisted contributions,
including disclosure, code quality, copyright, and communication, along with
an AI usage disclosure prompt in the pull request template.
([#1419](https://github.com/earthaccess-dev/earthaccess/pull/1419))
([@danielfromearth](https://github.com/danielfromearth))

### Fixed

- `search_services` now respects the authenticated system (UAT vs PROD) instead
Expand Down
1 change: 1 addition & 0 deletions docs/.nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ nav:
- Contributor guide:
- "contributor/index.md" # << Link target of the parent node
- "Code of conduct": "contributor/code-of-conduct.md"
- "AI policy": "ai_policy.md"
- How-to:
- "Setup dev environment": "contributor/howto/development.md"
- "Create a Pull Request (PR)": "contributor/howto/pr-guide.md"
Expand Down
76 changes: 76 additions & 0 deletions docs/ai_policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# AI Policy

"AI" herein refers to generative AI tools like large language models (LLMs)
that can generate, edit, and review software code, create and manipulate
images, or generate human-like communication.

## Responsibility
Comment on lines +5 to +7

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder: do we want to exclude automated maintenance processes, like GitHub Actions, from the requirements? Perhaps adding a "Scope" section to the AI policy such as:

Suggested change
images, or generate human-like communication.
## Responsibility
images, or generate human-like communication.
## Scope
This policy applies to contributions from the wider community. Automated
processes operated by the earthaccess maintainer team (for example, dependency
updates and other repository automations) run under separate maintainer
oversight and are not governed by the requirements below.
## Responsibility


You are responsible for any code you submit to earthaccess's repositories, regardless
of whether it was manually written or generated by AI. You must understand and be able
to explain the code you submit as well as the existing related code. It is not
acceptable to submit a patch that you cannot understand and explain yourself.
In explaining your contribution, do not use AI to automatically generate
descriptions.

## Disclosure

You must disclose whether AI has been used to assist in the development of
your pull request. The pull request template includes a disclosure checkbox;
please complete it for every pull request, including those where no AI tools
were used. If AI has been used, document which tool(s) were used, how they were
used, and specify what code or text is AI generated. We will reject any pull request
that does not include the disclosure.

Disclosure helps reviewers understand and give appropriate attention to your
contribution, and keeps our review process transparent. As with any
contribution, please make sure you understand anything you submit so you can
answer questions that come up during review.

## Code Quality

Code generated by AI can be of low quality. Contributors are expected to
submit code that meets earthaccess's standards. We will reject pull requests that we
deem being "[AI slop](https://en.wikipedia.org/wiki/AI_slop)".
Do not waste developers' time by submitting code that
is fully or mostly generated by AI, and doesn't meet our standards.

## Copyright

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat!


All code in earthaccess is released under the MIT license.
Contributors to earthaccess license their code under the same license when it is
included into earthaccess's version control repository. That means contributors must
own the copyright of any code submitted to earthaccess or must include the
MIT-compatible open source license(s) associated with the submitted code
in the patch. Code generated by AI may infringe on copyright and it is the
submitter's responsibility to not infringe. We reserve the right to reject any pull
requests, AI generated or not, where the copyright is in question.

## Communication

When interacting with developers (forum, discussions,
issues, pull requests, etc.) do not use AI to speak for you, except for
translation or grammar editing. If the developers want to chat with a chatbot,
they can do so themselves. Human-to-human communication is essential for an
open source community to thrive.

## AI Agents

The use of an AI agent that writes code and then submits a pull request autonomously is
not permitted. A human must check any generated code and submit a pull request according
to the 'Responsibility' section above.

## Other Resources

While these do not formally form part of earthaccess's AI policy, the following resources
may be helpful in understanding some pitfalls associated with using AI to contribute to
earthaccess:

- https://llvm.org/docs/AIToolPolicy.html
- https://blog.scientific-python.org/scientific-python/community-considerations-around-ai/
- https://github.com/melissawm/open-source-ai-contribution-policies

## Acknowledgements

We thank the SciPy developers for their AI policy, upon which this document is
largely based, and the SymPy developers, upon whose policy SciPy's is in turn based.
Loading