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
99 changes: 99 additions & 0 deletions en/community/ai_tool_policy.txt
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

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.
12 changes: 10 additions & 2 deletions en/community/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,15 @@ Matrix / IRC
:maxdepth: 2

matrix-irc


AI/LLM tool policy
------------------

.. toctree::
:maxdepth: 2

ai_tool_policy

MapServer Service Providers
---------------------------

Expand All @@ -42,4 +50,4 @@ Contributors
.. toctree::
:maxdepth: 2

contributors
contributors