From patchwork Tue Nov 3 11:14:14 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 28765 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id E45B1C324C for ; Tue, 3 Nov 2026 11:14:18 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id BBBFB6A046; Tue, 3 Nov 2026 12:14:17 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="sNegVyTb"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1031C69190 for ; Tue, 3 Nov 2026 12:14:16 +0100 (CET) Received: from killaraus.ideasonboard.com (2001-14ba-70f3-e800--a06.rev.dnainternet.fi [IPv6:2001:14ba:70f3:e800::a06]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id ADAD0C25 for ; Tue, 3 Nov 2026 12:11:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1793704318; bh=EDhEzFLZxUZDkFqRd4Igue+uf7p2BbRYu3XmTJazwRg=; h=From:To:Subject:Date:From; b=sNegVyTbE10CQTEWhuZTRIE0v9LIG9HoCTsSruhuzyPXFLHt7PyMcGi0GseUiEja8 BB7Hgk3tBdQT9Xjuws8eVcoUGZNPGZk/ZXt5UphswlidrU4R1156DgtBV0xg22gFkh oLqoKabnSzYZ/cqAWn6KTuC3pyRse6kL9yQXewHI= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH] Documentation: Add AI policy Date: Tue, 3 Nov 2026 13:14:14 +0200 Message-ID: <20261103111414.3622596-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.56.0 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" 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 --- 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 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 ` 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 `. + Mailing List ------------ @@ -164,4 +187,5 @@ By making a contribution to this project, I certify that: :hidden: Code of Conduct + AI Policy 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',