Repository navigation
Add a AI/LLM tool policy page #1095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| .. _ai_tool_policy: | ||
|
|
||
| ***************************************************************************** | ||
| AI/LLM tool policy | ||
| ***************************************************************************** | ||
|
|
||
| Rationale | ||
| -------------------------------------------------------------------------------- | ||
|
|
||
| LLMs are changing software development in many ways. What was once scarce, the | ||
| time and expertise to *write* software, is now plentiful. This scarcity was a | ||
| choke point that limited consumption of related resources in open source | ||
| projects. With that scarcity effectively gone in 2026, the dynamics and economics | ||
| of a project like MapServer are being disrupted. | ||
|
|
||
| A project like MapServer is not simply code. It is also design, review, coordinated | ||
| refactoring, deprecation scheduling, coordinated communication, distribution, | ||
| and historical outlook. The plentiful convenience of code writing LLMs do not | ||
| effectively replace the human maintainers, architects, and documenters doing | ||
| the jobs that provide much of the value MapServer users actually derive. If they | ||
| did, LLM contributors would not need to bother to upstream activity to the | ||
| project at all. | ||
|
|
||
| With the explosion of LLM usage in software development, the constrained | ||
| resource is now "maintenance". It is the time to review your contribution, the | ||
| time to make it concise, the time to refactor it in to a larger system, and the | ||
| time to protect the larger software system from disruption, breakage, and | ||
| performance degradation. Indiscriminate usage of LLMs in open source projects | ||
| *consume* maintenance, and the MapServer LLM tool policy attempts to conserve that | ||
| resource. | ||
|
|
||
| Additionally, legal systems across the world (including US and EU) have not | ||
| definitely determined whether LLM outputs are derived works of training data or | ||
| if LLM-written code can even be copyrighted by a human. This is despite it | ||
| being latently extracted and originated from open source software in the first | ||
| place. | ||
|
|
||
| Policy | ||
| -------------------------------------------------------------------------------- | ||
|
|
||
| Contributors can make **limited use** of LLMs for contributions in MapServer, | ||
| subject to details mentioned below: | ||
|
|
||
| * **Human contributors must be the primary author(s) of MapServer contributions** | ||
|
|
||
| * All contributions including code, ticket comments, and commit messages | ||
| should be fully understood by the author(s) submitting them to the | ||
| project. | ||
|
|
||
| * Submission of `vibe-coded <https://en.wikipedia.org/wiki/Vibe_coding>`__ contributions is *banned*. | ||
|
|
||
| * LLMs may only be used as an improved auto-completion mechanism, or | ||
| for repeated tasks (mechanical refactoring) that could potentially be | ||
| completed with a deterministic algorithm. | ||
|
|
||
| * Human-coordinated or uncoordinated (OpenClaw, etc) use of agents for | ||
| submission of contributions to the MapServer repository is *banned*. | ||
|
|
||
| * *Any* LLM usage must be indicated by ticket label, comment, or commit | ||
| message indication and account for what was written by whom/what. | ||
|
|
||
| * The contributing human author is ultimately responsible for every line of | ||
| code, comment, or mailing list interaction they initiate, and all of it | ||
| is subject to the project's code of conduct. | ||
|
|
||
| * The typical high verbosity of LLM code and text is actively discouraged. | ||
| More code is more code to maintain. High verbosity contribution (tickets, | ||
| code, messages, etc) will be seen as indication of LLM-generated content | ||
| when not labeled otherwise and may be ignored, closed, left unmerged, or | ||
| removed at maintainers' discretion. | ||
|
|
||
|
|
||
| Violations | ||
| -------------------------------------------------------------------------------- | ||
|
|
||
| If a maintainer judges that a contribution does not comply with this policy, | ||
| they should paste the following response to request changes: | ||
|
|
||
| .. code-block:: text | ||
|
|
||
| This PR does not appear to comply with our policy on tool-generated content, | ||
| and requires additional justification for why it is valuable enough to the | ||
| project for us to review it. Please see our developer policy on | ||
| AI-generated contributions: | ||
| https://gdal.org/community/ai_tool_policy.html | ||
|
rouault marked this conversation as resolved.
Outdated
|
||
|
|
||
| If a contributor fails to rectify their contribution to comply with the policy, | ||
| maintainers may lock the conversation and/or close the pull request/issue/RFC. | ||
| In case of repeated violations of our policy, the MapServer project reserves itself | ||
| the right to temporarily or permanently ban the infringing person/account. | ||
|
|
||
| Mitigation | ||
| -------------------------------------------------------------------------------- | ||
|
|
||
| MapServer donations are one way your organization can help buffer the cost and | ||
| disruption of LLMs in projects such as MapServer. The constrained resource is | ||
| maintenance, not adding more code/capability. Donations financially support | ||
| operation of MapServer as an ongoing open source software project, and without | ||
| it, much of the activity MapServer users take for granted would simply not happen. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/gdal/mapserver ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indeed, thanks