De Linux-kernel krijgt richtlijnen voor het gebruik van AI-hulpmiddelen bij codebijdragen. Menselijke ontwikkelaars blijven daarbij de eindverantwoordelijkheid voor nieuwe code dragen.
Onder impuls van Linus Torvalds heeft de Linux-kernel nieuwe duidelijke regels gekregen voor de manier waarop AI kan bijdragen aan code. Daarbij is AI-gegenereerde code welkom, maar alleen wanneer een menselijke ontwikkelaar de eindverantwoordelijkheid draagt. AI wordt gezien als een krachtig hulpmiddel voor de ontwikkelaars, die zelf wel de code moeten controlleren.
Nieuwe tag
In het kader van transparantie moeten ontwikkelaars die zich hebben laten bijstaan door AI dat vermelden met een Assisted-by-tag. Die tag ziet er als volgt uit: Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]. Concreet krijg je dan: Assisted-by: Claude:claude-3-opus coccinelle sparse.
Signed-off-by-tags blijven voorbehouden voor mensen. Het wordt uitdrukkelijk verboden om met AI zo’n tag te laten gebruiken. De menselijke ontwikkelaar is verantwoordelijk voor:
- Het reviewen van alle AI-gegenereerde code;
- De overeenstemming met de licentievereisten;
- De toevoeging van hun eigen Signed-off-by-tag;
- De hele bijdrage: verwijzen naar AI voor een probleem is dus niet aan de orde.
De licentievereisten voor kernelcode veranderen niet. Alle codebijdragen aan de Linux-kernel moeten voldoen aan de GPL-2.0-only licentie. Dit geldt ook voor AI-gegenereerde code. Ontwikkelaars moeten de juiste SPDX-licentie-identifiers gebruiken en zich houden aan de richtlijnen in Documentation/process/license-rules.rst.
Duidelijkheid zonder verbod
Door de verantwoordelijkheid bij de programmeur te leggen, moeten de juridische en ethische standaarden van de kernel behouden blijven. De oplossing brengt een pragmatisch einde aan een discussie in de opensource-gemeenschap over de manier waarop met AI moet worden omgegaan.
Linus Torvalds, nooit verlegen om een bruuske uitspraak, noemende voorstellen om de hulp van AI te verbieden “zinloze aanstellerij”. Hij nam de positie in dat AI gewoon een tool is. Sujetten met slechte bedoelingen kunnen die tool misbruiken, maar zullen dat ook doen bij een verbod op AI-code.
De kernel moet er daarom op focussen om menselijke ontwikkelaars ter verantwoording te houden. Die mensen mogen naar believen tools gebruiken, zolang ze daar de verantwoordelijkheid voor nemen. Met de Assisted-by-tag is er nu een formele regeling over hoe die aanpak er binnen de ontwikkeling van de Linux-kernel moet uitzien.
AI-hulp speelt vandaag al een grote rol bij de evolutie van de Linux-kernel. Die promoveerde pas tot versie 7.0, met daarin heel wat door AI ondersteunde verbeteringen.
