Documentation/process/generated-content.rst
Kernel contributors have been using tooling to generate contributions for a long time. These tools can increase the volume of contributions. At the same time, reviewer and maintainer bandwidth is a scarce resource. Understanding which portions of a contribution come from humans versus tools is helpful to maintain those resources and keep kernel development healthy.
The goal here is to clarify community expectations around tools. This lets everyone become more productive while also maintaining high degrees of trust between submitters and reviewers.
These guidelines do not apply to tools that make trivial tweaks to preexisting content. Nor do they pertain to tooling that helps with menial tasks. Some examples:
clang-format or
rust-fmtEven whenever your tool use is out of scope, you should still always consider if it would help reviewing your contribution if the reviewer knows about the tool that you used.
These guidelines apply when a meaningful amount of content in a kernel contribution was not written by a person in the Signed-off-by chain, but was instead created by a tool.
Detection of a problem and testing the fix for it is also part of the development process; if a tool was used to find a problem addressed by a change, that should be noted in the changelog. This not only gives credit where it is due, it also helps fellow developers find out about these tools.
Some examples:
checkpatch.pl --fixIf in doubt, choose transparency and assume these guidelines apply to your contribution.
First, read the Developer's Certificate of Origin: Documentation/process/submitting-patches.rst. Its rules are simple and have been in place for a long time. They have covered many tool-generated contributions. Ensure that you understand your entire submission and are prepared to respond to review comments.
Second, when making a contribution, be transparent about the origin of content in cover letters and changelogs. You can be more transparent by adding information like this:
As with all contributions, individual maintainers have discretion to choose how they handle the contribution. For example, they might:
If tools permit you to generate a contribution automatically, expect additional scrutiny in proportion to how much of it was generated.
As with the output of any tooling, the result may be incorrect or inappropriate. You are expected to understand and to be able to defend everything you submit. If you are unable to do so, then do not submit the resulting changes.
If you do so anyway, maintainers are entitled to reject your series without detailed review.