A medida que las herramientas de programación de IA como GitHub Copilot, Anthropic Claude y ChatGPT Codex se vuelven cada vez más populares en los entornos de desarrollo, las grandes organizaciones también han comenzado a adoptar código asistido por IA a gran escala en software de nivel empresarial. Por ejemplo, Microsoft afirma internamente que AI Copilot ha estado involucrado en la revisión e influenciación de cientos de miles de solicitudes de extracción cada mes. La comunidad ahora también tiene pautas escritas más claras sobre cómo el código generado por IA o asistido se puede utilizar de manera compatible en el kernel de Linux.

Recientemente, un documento sobre los requisitos del código asistido por IA ha llamado la atención en Hacker News. Este documento está alojado públicamente en el repositorio oficial de Linux con el nombre de Linus Torvalds en forma de RST, específicamente para brindar orientación y restricciones a los desarrolladores que desean utilizar herramientas de inteligencia artificial para contribuir con código al kernel de Linux.

Según el documento, en primer lugar, todo el código generado asistido por IA debe seguir completamente el proceso de desarrollo humano existente, incluidos los requisitos de proceso y estilo especificados en development-process.rst, coding-style.rst, submitting-patches.rst y otros archivos. Al mismo tiempo, el código también debe cumplir con los requisitos de cumplimiento existentes, como seguir siendo compatible con la licencia GPL-2.0 únicamente, usar correctamente el identificador de licencia SPDX y cumplir con todas las reglas enumeradas en licencia-rules.rst.

En términos de firma e identificación de responsabilidad, las reglas enfatizan que el propio agente de IA no debe usar la etiqueta Aprobado por. Esta etiqueta está reservada únicamente para revisores humanos, ya que solo los humanos pueden certificar legalmente un Certificado de origen de desarrollador (DCO). Los desarrolladores humanos que envíen parches deben revisar personalmente todo el código generado por IA para asegurarse de que cumpla con los requisitos de licencia y usar su propia marca de Aprobado por en el parche para asumir claramente la responsabilidad exclusiva de todas las contribuciones.

El documento también requiere la atribución explícita de la participación asistida por IA para que la comunidad pueda seguir la evolución de la participación de la IA en el desarrollo del kernel de Linux. Esto se hace utilizando la etiqueta "Asistido por" en las solicitudes de extracción y siguiendo un formato coherente:AGENTE_NOMBRE:MODEL_VERSION [HERRAMIENTA1] [HERRAMIENTA2]. Entre ellos, AGENT_NAME es el nombre de la herramienta o marco de IA utilizado, MODEL_VERSION es la versión del modelo específico y TOOL1 y TOOL2 entre corchetes son herramientas de análisis especiales opcionales, como coccinelle, sparse, smatch, clang-tidy, etc.

En el contexto de que los desarrolladores del kernel de Linux y las principales organizaciones continúan adoptando la IA y utilizándola para mejorar la codificación y la eficiencia de revisión, esta especificación mantenida por Linus Torvalds en realidad "da la bienvenida condicionalmente" al código asistido por IA en el kernel de Linux: no niega sus ventajas de eficiencia, pero también establece límites claros para la participación de la IA a través de requisitos estrictos como la responsabilidad humana, el cumplimiento de licencias y los formatos de atribución unificados. Anteriormente se informó que el propio Torvalds también intentó adoptar nuevas prácticas de desarrollo, como la llamada "vibe coding" en algunos proyectos, lo que también confirma su actitud pragmática y prudente hacia las nuevas herramientas.

aprender más:

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