new file mode 100644
@@ -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.
@@ -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>
@@ -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',
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