qemu/docs/devel
Daniel P. Berrangé 3d40db0efc docs: define policy forbidding use of AI code generators
There has been an explosion of interest in so called AI code
generators. Thus far though, this is has not been matched by a broadly
accepted legal interpretation of the licensing implications for code
generator outputs. While the vendors may claim there is no problem and
a free choice of license is possible, they have an inherent conflict
of interest in promoting this interpretation. More broadly there is,
as yet, no broad consensus on the licensing implications of code
generators trained on inputs under a wide variety of licenses

The DCO requires contributors to assert they have the right to
contribute under the designated project license. Given the lack of
consensus on the licensing of AI code generator output, it is not
considered credible to assert compliance with the DCO clause (b) or (c)
where a patch includes such generated code.

This patch thus defines a policy that the QEMU project will currently
not accept contributions where use of AI code generators is either
known, or suspected.

These are early days of AI-assisted software development. The legal
questions will be resolved eventually. The tools will mature, and we
can expect some to become safely usable in free software projects.
The policy we set now must be for today, and be open to revision. It's
best to start strict and safe, then relax.

Meanwhile requests for exceptions can also be considered on a case by
case basis.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2025-06-24 10:37:56 -04:00
..
migration vfio/migration: Add x-migration-multifd-transfer VFIO property 2025-03-06 06:47:34 +01:00
testing docs/devel/testing/functional: Fix typo 2025-05-09 23:50:19 +03:00
atomics.rst docs: use consistent markup for footnotes 2024-10-11 13:48:42 +02:00
bitops.rst docs: Create bitops.rst as example of kernel-docs 2019-12-17 19:36:57 +01:00
block-coroutine-wrapper.rst block-coroutine-wrapper.py: introduce co_wrapper 2022-12-15 16:07:43 +01:00
build-environment.rst docs/devel/build-environment: enhance MSYS2 instructions 2025-04-30 20:44:20 +02:00
build-system.rst docs: build-system: fix typo 2025-05-06 16:02:04 +02:00
clocks.rst hw/clock: Expose 'qtest-clock-period' QOM property for QTests 2024-10-15 11:29:45 +01:00
code-of-conduct.rst docs/devel: add a maintainers section to development process 2022-11-22 09:49:07 +00:00
code-provenance.rst docs: define policy forbidding use of AI code generators 2025-06-24 10:37:56 -04:00
codebase.rst docs: Don't define duplicate label in qemu-block-drivers.rst.inc 2025-05-06 15:02:34 +01:00
conflict-resolution.rst docs: Add a QEMU Code of Conduct and Conflict Resolution Policy document 2021-04-01 13:21:02 +02:00
control-flow-integrity.rst docs: add a glossary 2025-01-17 10:45:54 +00:00
crypto.rst docs/devel: Add introduction to LUKS volume with detached header 2024-07-24 10:39:10 +01:00
decodetree.rst docs/devel: add a codebase section 2025-01-17 10:45:49 +00:00
docs.rst docs: correct typos 2024-02-20 22:20:48 +03:00
ebpf_rss.rst docs/devel: add a codebase section 2025-01-17 10:45:49 +00:00
index-api.rst docs/devel/lockcnt: Convert to rST format 2024-10-15 15:16:17 +01:00
index-build.rst docs: add qapi-domain syntax documentation 2025-03-11 10:26:52 +01:00
index-internals.rst docs: add uefi variable service documentation 2025-03-04 12:07:05 +01:00
index-process.rst docs: introduce dedicated page about code provenance / sign-off 2025-06-24 10:37:56 -04:00
index-tcg.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
index.rst docs/devel: add a codebase section 2025-01-17 10:45:49 +00:00
kconfig.rst docs: Rename default-configs to configs 2025-03-12 18:14:50 +01:00
loads-stores.rst docs: use consistent markup for footnotes 2024-10-11 13:48:42 +02:00
lockcnt.rst docs/devel/lockcnt: Include kernel-doc API documentation 2024-10-15 15:16:17 +01:00
luks-detached-header.rst docs/devel: Add introduction to LUKS volume with detached header 2024-07-24 10:39:10 +01:00
maintainers.rst docs: use consistent markup for footnotes 2024-10-11 13:48:42 +02:00
memory.rst include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
modules.rst docs: Spell QEMU all caps 2021-11-19 10:16:58 +01:00
multi-process.rst docs: Don't mention "-mem-path" in multi-process.rst 2023-09-19 10:23:21 +02:00
multi-thread-tcg.rst tcg: Convert TARGET_SUPPORTS_MTTCG to TCGCPUOps::mttcg_supported field 2025-04-23 15:07:32 -07:00
multiple-iothreads.rst docs/devel/multiple-iothreads: Convert to rST format 2024-10-15 15:16:17 +01:00
pci.rst hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
qapi-code-gen.rst docs/sphinx/qmp_lexer: Generalize elision syntax 2025-04-08 09:04:34 +02:00
qapi-domain.rst docs: Fix some typos (found by codespell and typos) 2025-04-13 13:45:04 +03:00
qdev-api.rst docs/devel: split qom-api reference into new file 2023-07-03 12:52:22 +01:00
qom-api.rst docs/devel: split qom-api reference into new file 2023-07-03 12:52:22 +01:00
qom.rst qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rcu.rst docs/devel/rcu: Convert to rST format 2024-10-15 15:16:17 +01:00
replay.rst docs/devel: Mention post_load hook restrictions where we document the hook 2024-10-04 18:54:55 +03:00
reset.rst qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rust.rst rust/qemu-api: Add initial logging support based on C API 2025-06-20 13:25:59 +02:00
s390-cpu-topology.rst docs/s390: Fix wrong command example in s390-cpu-topology.rst 2023-11-28 14:27:18 +01:00
s390-dasd-ipl.rst docs: rstfy s390 dasd ipl documentation 2020-02-26 18:57:07 +01:00
secure-coding-practices.rst docs/secure-coding-practices: Describe how to use 'null-co' block driver 2021-06-02 14:29:14 +02:00
stable-process.rst docs: Fix botched rST conversion of 'submitting-a-patch.rst' 2021-11-22 15:02:38 +01:00
style.rst docs/devel/style: add a section about bitfield, and disallow them for packed structures 2025-01-17 10:45:27 +00:00
submitting-a-patch.rst docs: introduce dedicated page about code provenance / sign-off 2025-06-24 10:37:56 -04:00
submitting-a-pull-request.rst docs/devel: add a maintainers section to development process 2022-11-22 09:49:07 +00:00
tcg-icount.rst accel/tcg: Remove CF_LAST_IO 2023-11-14 10:40:54 -08:00
tcg-ops.rst tcg: Remove INDEX_op_qemu_st8_* 2025-04-28 13:40:17 -07:00
tcg-plugins.rst docs/devel: update tcg-plugins page 2024-08-16 14:13:07 +01:00
tcg.rst docs/devel: add some front matter to the devel index 2023-07-03 12:52:08 +01:00
tracing.rst tracetool: remove redundant --target-type / --target-name args 2024-03-12 14:52:07 -04:00
trivial-patches.rst docs: Fix botched rST conversion of 'submitting-a-patch.rst' 2021-11-22 15:02:38 +01:00
uefi-vars.rst docs: add uefi variable service documentation 2025-03-04 12:07:05 +01:00
ui.rst docs: Spell QEMU all caps 2021-11-19 10:16:58 +01:00
vfio-iommufd.rst docs/devel: Add VFIO iommufd backend documentation 2023-12-19 19:03:38 +01:00
virtio-backends.rst qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
writing-monitor-commands.rst docs/devel/writing-monitor-commands: Minor improvements 2024-03-04 07:12:40 +01:00
zoned-storage.rst docs/zoned-storage:add zoned emulation use case 2023-05-15 08:19:04 -04:00