Documentation: Add AI policy
diff mbox series

Message ID 20261103111414.3622596-1-laurent.pinchart@ideasonboard.com
State New
Headers show
Series
  • Documentation: Add AI policy
Related show

Commit Message

Laurent Pinchart Nov. 3, 2026, 11:14 a.m. UTC
libcamera is seeing an increase in AI contributions, and is missing an
AI policy. Fix it. The rationale is explained in the documentation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 Documentation/ai-policy.rst    | 89 ++++++++++++++++++++++++++++++++++
 Documentation/contributing.rst | 24 +++++++++
 Documentation/meson.build      |  1 +
 3 files changed, 114 insertions(+)
 create mode 100644 Documentation/ai-policy.rst


base-commit: df8e348d64b4932a0676256ed24f0da3ee9438bc

Patch
diff mbox series

diff --git a/Documentation/ai-policy.rst b/Documentation/ai-policy.rst
new file mode 100644
index 000000000000..5b84a7de443c
--- /dev/null
+++ b/Documentation/ai-policy.rst
@@ -0,0 +1,89 @@ 
+.. SPDX-License-Identifier: CC-BY-4.0
+
+.. _ai-policy:
+
+libcamera's AI Policy
+=====================
+
+Usage of generative AI is widespread throughout the software industry. In
+response to the impact of AI-generated contributions, libcamera has adopted
+the policy described herein.
+
+In the context of this document, the term "AI" refers to the use of neural
+networks (whether LLMs, diffusion models or otherwise) for the purpose of
+generating code, text, images or other forms of media ("Generative AI").
+
+Rationale
+---------
+
+Generative AI tools have shown technical abilities that led to their rapid
+adoption. They also come with negative consequences that impact free software
+ecosystems, open-source communities, and the world in general. Those two
+realities are indissociable from each other.
+
+Usage of generative AI threatens the sustainability of free software ecosystems
+by increasing pressure on projects and their maintainers. This impacts libcamera
+directly.
+
+To help projects grow, free software maintainers invest their time in new
+contributors. The typical deal is to offer reviews, guidance and expertise, and
+expect in return that some of the new contributors will stay around, learn and
+grow in the project. AI usage breaches that contract:
+
+* New contributors using AI tend to tackle more complex problems and submit code
+  that they do not understand. At first sight, the submissions give the illusion
+  of expertise. They then consume larger amounts of maintainer time to identify
+  their flaws and propose solutions.
+
+* Unlike developers, AI models do not directly learn from reviews. The time
+  maintainers invest in reviewing AI-generated submissions does not help
+  improving the contributor's skills. The balance between maintainer investment
+  and return for the project worsens.
+
+* The ease of generating seemingly good contributions suddenly and significantly
+  increases the number of submissions without scaling the number of reviewers
+  proportionally. This leads to quick maintainer burnout.
+
+* In the longer term, delegating cognitive tasks to machines tends to decrease
+  the ability of experienced contributors to understand the code base and
+  produce high quality contributions. This decreases code quality and increases
+  maintainer burden further.
+
+Finally, while libcamera's primary goal is technical, the project does not exist
+in a vacuum, and neither does its community. We cannot ignore the ethical issues
+of AI technology, nor its impact on society and the internet. As those issues
+have been discussed at length and are widely documented, they will not be
+detailed here.
+
+Policy
+------
+
+Due to the negative impact on maintainers and the threat to the sustainability
+of libcamera, and taking other ethical and technical issues into consideration,
+the project does not allow the use of generative AI for contributions.
+
+In particular, libcamera does not permit
+
+* Usage of AI to generate code, documentation, commit messages, bug reports or
+  any other material used in human-to-human communication, in full or in part.
+  Any material meant to be received, read or otherwise consumed by a human must
+  be developed entirely by a human, without AI assistance.
+
+* Usage of AI agents to interact with the project's infrastructure (mailing
+  lists, chat rooms, Git forges, ...). Automation of tasks such as filling bug
+  reports, answering e-mails, sending patches or submitting pull requests with
+  AI agents is not allowed.
+
+Consequently, we expect community members to refrain from recommending to others
+usage of AI to contribute to the project.
+
+Contributors to libcamera are also encouraged to avoid usage of AI for other
+libcamera development tasks, such as debugging issues, or pre-reviewing patches
+before submitting them. The concerns outlined in the rationale apply to those
+tasks as well.
+
+.. note::
+   This policy is not set in stone. It will evolve as new patterns emerge in
+   the community. Contributors are encouraged to ask for clarification where
+   needed. Maintainers and reviewers shall presume good intent, and treat
+   contributors politely.
diff --git a/Documentation/contributing.rst b/Documentation/contributing.rst
index 20682d56c75d..9d7ed95761e6 100644
--- a/Documentation/contributing.rst
+++ b/Documentation/contributing.rst
@@ -12,6 +12,29 @@  The project adheres to a :ref:`code of conduct <code-of-conduct>` that
 maintainers, contributors and community members are expected to follow in all
 online and offline communication.
 
+AI Policy
+---------
+
+.. note::
+   In the context of this document, the term "AI" refers to the use of neural
+   networks (whether LLMs, diffusion models or otherwise) for the purpose of
+   generating code, text, images or other forms of media ("Generative AI").
+
+libcamera does not allow the use of generative AI to contribute to the project.
+In particular, the project does not permit
+
+* Usage of AI to generate code, documentation, commit messages, bug reports or
+  any other material used in human-to-human communication, in full or in part
+
+* Usage of AI agents to interact with the project's infrastructure (mailing
+  lists, chat rooms, Git forges, ...)
+
+Consequently, we expect community members to refrain from recommending to
+others usage of AI to contribute to the project.
+
+For more information, and the rationale for this policy, see the
+:ref:`detailed AI policy <ai-policy>`.
+
 Mailing List
 ------------
 
@@ -164,4 +187,5 @@  By making a contribution to this project, I certify that:
    :hidden:
 
    Code of Conduct <code-of-conduct>
+   AI Policy <ai-policy>
    Coding Style <coding-style>
diff --git a/Documentation/meson.build b/Documentation/meson.build
index a156bd0b9ca7..7d14f413a236 100644
--- a/Documentation/meson.build
+++ b/Documentation/meson.build
@@ -150,6 +150,7 @@  if sphinx.found()
     sphinx_conf_dir = fs.parent(sphinx_conf)
 
     docs_sources = [
+        'ai-policy.rst',
         'camera-sensor-model.rst',
         'code-of-conduct.rst',
         'coding-style.rst',