Naarmate AI-programmeertools zoals GitHub Copilot, Anthropic Claude en ChatGPT Codex steeds populairder worden in ontwikkelomgevingen, zijn grote organisaties ook begonnen met het op grote schaal toepassen van AI-ondersteunde code in software op bedrijfsniveau. Microsoft beweert bijvoorbeeld intern dat AI Copilot elke maand betrokken is bij het beoordelen en beïnvloeden van honderdduizenden pull-aanvragen. De gemeenschap heeft nu ook duidelijkere schriftelijke richtlijnen voor hoe door AI gegenereerde of ondersteunde gegenereerde code conform de regels in de Linux-kernel kan worden gebruikt.

Onlangs heeft een document over AI-ondersteunde codevereisten de aandacht getrokken op Hacker News. Dit document wordt publiekelijk gehost in de officiële Linux-repository onder de naam Linus Torvalds in de vorm van RST, specifiek om richtlijnen en beperkingen te bieden voor ontwikkelaars die AI-tools willen gebruiken om code aan de Linux-kernel bij te dragen.

Volgens het document moet alle door AI ondersteunde gegenereerde code allereerst het bestaande menselijke ontwikkelingsproces volledig volgen, inclusief de proces- en stijlvereisten die zijn gespecificeerd in development-process.rst, coding-style.rst, submission-patches.rst en andere bestanden. Tegelijkertijd moet de code ook voldoen aan de bestaande nalevingsvereisten, zoals compatibel blijven met de alleen-GPL-2.0-licentie, het correct gebruiken van de SPDX-licentie-ID en het naleven van alle regels die zijn vermeld in licentie-rules.rst.

Op het gebied van ondertekening en verantwoordelijkheidsidentificatie benadrukken de regels dat de AI-agent zelf het label Afgetekend door niet mag gebruiken. Dit label is alleen voorbehouden aan menselijke reviewers, aangezien alleen mensen legaal een Developer Certificate of Origin (DCO) kunnen certificeren. Menselijke ontwikkelaars die patches indienen, moeten alle door AI gegenereerde code persoonlijk beoordelen om er zeker van te zijn dat deze voldoet aan de licentievereisten, en hun eigen 'Ondertekend door'-markering op de patch gebruiken om duidelijk de exclusieve verantwoordelijkheid voor alle bijdragen te nemen.

Het document vereist ook expliciete toewijzing van door AI ondersteunde deelname, zodat de gemeenschap de evolutie van het aandeel van AI in de ontwikkeling van de Linux-kernel kan volgen. Dit wordt gedaan door de tag “Assisted-by” te gebruiken in pull-aanvragen en een consistent formaat te volgen:AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]. Onder hen is AGENT_NAME de naam van de gebruikte AI-tool of -framework, MODEL_VERSION is de specifieke modelversie en TOOL1 en TOOL2 tussen vierkante haken zijn optionele speciale analysetools, zoals coccinelle, sparse, smatch, clang-tidy, etc.

Tegen de achtergrond dat Linux-kernelontwikkelaars en grote organisaties AI blijven omarmen en gebruiken om de codering te verbeteren en de efficiëntie te beoordelen, verwelkomt deze door Linus Torvalds onderhouden specificatie feitelijk AI-ondersteunde code in de Linux-kernel: het ontkent de efficiëntievoordelen ervan niet, maar stelt ook duidelijke grenzen voor AI-deelname door middel van harde eisen zoals menselijke verantwoordelijkheid, naleving van licenties en uniforme attributieformaten. Eerder is gemeld dat Torvalds zelf ook heeft geprobeerd om in sommige projecten nieuwe ontwikkelingspraktijken toe te passen, zoals de zogenaamde "vibe coding", wat ook zijn pragmatische en voorzichtige houding ten opzichte van nieuwe tools bevestigt.

leer meer:

https://github.com/torvalds/linux/blob/master/Documentation/process/coding-assistants.rst