- El nucli de Linux exigeix un estil de programació uniforme i rigorós, prioritzant la llegibilitat i evitant abstraccions innecessàries o l'ús excessiu del preprocessador.
- Es permet la integració de codi assistit per IA sempre que el desenvolupador humà assumeixi la responsabilitat total dels errors i es mantingui la transparència al procés.
- Hi ha eines de verificació automatitzada i processos de revisió humana estrictes per prevenir regressions i garantir l'estabilitat del sistema.
Entrar al món del desenvolupament del nucli de Linux no és precisament un camí de roses. Perquè una línia de codi sigui acceptada a l'arbre principal, no n'hi ha prou que «funcioni»; ha de seguir una filosofia de disseny extremadament meticulosa que prioritza la mantenibilitat a llarg termini sobre la rapidesa del desenvolupament immediat.
En els darrers temps, el debat s'ha centrat en com encaixa la intel·ligència artificial en aquest ecosistema. El que va començar com un escepticisme gairebé total ha evolucionat cap a un enfocament pragmàtic i realista , on la IA es veu com una eina més, similar a un teclat o un IDE, sempre que no es converteixi en una excusa per enviar codi barroer.
L'Estàndard d'Or: Estil i Qualitat del Codi

El nucli té un manual d'estil molt definit que no és un sol suggeriment, sinó una necessitat. Quan un desenvolupador envia un pegat, és molt probable que els revisors demanin reformatar tot el codi si no compleix les pautes, ja que la uniformitat és vital perquè milers de programadors puguin entendre qualsevol secció del sistema ràpidament. Tot i que eines com clang-format ajuden a automatitzar això, el criteri humà continua sent el rei.
Un error comú entre els novells és intentar netejar l'estil de fitxers antics només per aparèixer als registres de canvis. Això és vist com a soroll irrellevant per la comunitat i sol generar rebuig; els canvis de format només s'accepten si vénen acompanyats d'una millora funcional real. A més a més, es recomana evitar les capes d'abstracció prematures. Al nucli, l'excés de flexibilitat pot degradar el rendiment i enfosquir la lògica, per la qual cosa només cal implementar abstraccions quan ja són estrictament necessàries.
Trampes comunes a la Programació del Kernel

L'ús del preprocessador de C és un altre punt crític. Encara que els #ifdef són útils, omplir el codi de compilacions condicionals el torna il·legible. La regla general és confinar el preprocessador als fitxers de capçalera oa funcions que puguin quedar buides perquè el compilador les optimitzi. De la mateixa manera, les macros han de substituir-se per funcions en línia (inline) sempre que sigui possible, ja que aquestes darreres ofereixen seguretat de tipus i eviten avaluacions múltiples perilloses.
No obstant això, no cal abusar de les funcions inline. Omplir el codi pot provocar que el binari final s'infli, saturant les caixets del processador i ralentitzant l'execució del sistema. Al maquinari modern, l'espai és temps: un codi més compacte sol ser més eficient. D'altra banda, la concurrència és innegociable. Qualsevol recurs compartit ha d'estar protegit per un bloqueig adequat, ja que desenvolupar codi ignorant els sistemes multiprocessador és una recepta per al desastre.
El Perill de les Regressions i l'Estabilitat
A l'ecosistema de Linux, causar una regressió és un pecat capital. Una regressió passa quan una millora trenca una cosa que ja funcionava per a altres usuaris. Linus Torvalds és contundent: els canvis que trenquen funcions existents solen ser revertits immediatament, sense importar quants avantatges nous aportin. Això és encara més crític a l' ABI de l'espai d'usuari , la qual s'ha de mantenir intacta indefinidament per no trencar el programari extern.
Eines de Verificació i Documentació

Per evitar que els errors arribin a l'usuari final, el nucli disposa d'un arsenal d'eines. Des de prestar atenció a tots els advertiments de GCC fins a utilitzar lockdep per detectar bloquejos mutus, el flux de treball ha de ser rigorós. També destaquen eines com sparse , per detectar confusions entre adreces de memòria, i Coccinelle , que permet realitzar canvis semàntics a gran escala.
Pel que fa a la documentació, ja no és un luxe sinó un requisit. Cada pegat ha d'incloure un changelog detallat que expliqui el perquè de la solució. Les interfícies noves per a l'espai d'usuari i els paràmetres d'arrencada han d'estar perfectament documentats. A més, s'incentiva l'ús de kerneldoc perquè l'API interna sigui comprensible per a qualsevol desenvolupador que s'incorpori al projecte.
La Integració de la Intel·ligència Artificial

La postura actual sobre els LLM és clara: la IA és benvinguda si aporta valor tècnic, però no substitueix el judici humà. S'ha passat de veure la IA com a pur màrqueting a utilitzar-la en tasques de triatge i revisió automàtica , com passa amb el sistema Sashiko , que ajuda a detectar bugs i candidats a CVE abans que un humà intervingui. No obstant això, el problema real no és la IA, sinó el correu brossa de reports automàtics que saturen les llistes de correu sense cap filtratge previ.
Per als que utilitzen IA, la regla és la transparència i la responsabilitat. Tot i que hi ha hagut debats sobre etiquetes com «Assisted-by» , el principi fonamental és que qui envia el codi és el responsable legal i tècnic de cada línia, independentment de si va ser generada per un bot. No hi ha una vara més baixa per al codi assistit per IA; ha de complir exactament els mateixos estàndards de qualitat, proves i mantenibilitat que el codi escrit a mà.
El desenvolupament del nucli de Linux es regeix per una disciplina fèrria on la qualitat del codi final preval sobre el mètode de creació. Mentre es respecti l'estil estàndard, s'evitin les regressions i es faci servir la IA com un suport per al triatge i la detecció d'errors sense saltar-se la revisió humana, el sistema pot continuar evolucionant. La llibertat de no fer servir IA és respectada, però l'eficàcia tècnica i la responsabilitat individual són els únics pilars que garanteixen que el nucli del sistema operatiu segueixi sent robust i escalable.