logo linux

Así se empieza a contribuir en el kernel

Quizás algunos de vosotros se haya planteado alguna vez realizar alguna contribución en el kernel. Pero como en cualquier otro ámbito, hay que empezar desde lo más bajo y conforme se adquiere experiencia se pueden atacar tareas cada vez más complejas.

Todos conocemos la actitud de Linus Torvalds cuando algo no le gusta; la hemos visto en charlas, entrevistas y listas de correo. Si no está conforme con tu trabajo, te puede despedazar sin piedad. Pero el creador de Linux tiene otra faceta más bien desconocida: la que anima a la gente a participar en el kernel aunque sea con pequeñas contribuciones que, de primeras, podrían no parecer útiles.

En un mensaje de las listas de correo del kernel que data del año 2004, un contribuidor amateur pregunta si sus aportaciones tienen sentido:

¿Debería dejar de intentar hacer estos parches triviales? ¿Son más un estorbo que una mejora? ¿Estoy siendo una molestia para la gente más cualificada de lkml o podéis vivir con mis, a veces, parches sin nada?

Intento aprender de los comentarios que me dejan y me gusta pensar que mis parches están mejorando gradualmente, pero si soy más una molestia que una ayuda, podría dejarlo.

Torvalds le respondió con el siguiente mensaje:

Para mi, lo más importante de los parches pequeños no es necesariamente el parche en sí. Creo que, mucho más importante que el parche, es el hecho de que la gente se acostumbre a la noción de que pueden cambiar el kernel; no sólo a nivel intelectual («Entiendo que la GPL significa que tengo el derecho de modificar mi kernel») sino más bien a un nivel práctico («Ey, yo he hecho ese pequeño cambio»).

Y ya sea lo correcto o no, así es como todo el mundo empieza. Sencillamente no es posible «meterse» en el kernel sin empezar con lo pequeño ni cometer errores. Así que doy muchos ánimos, incluso si a menudo no tengo el tiempo para preocuparme de verdad de los pequeños parches e intento pillar a otros desarrolladores como Rusty para que intenten hacer de control de calidad y «lugar de encuentro».

Por cierto, es por esto por lo que incluso «los parches triviales» en realidad toman tiempo: a menudo tienen errores triviales y no es solo porque haya más gente sin experiencia provocándolos (la mayoría de mis errores tienden a ser errores realmente idiotas sólo porque «parece obvio» y entonces se me pasa algo).

Así que a un nivel odio absolutamente los parches triviales: necesitan tiempo y esfuerzo para salir, e individualmente el parche por sí mismo a menudo no «merece la pena» a primera vista. Pero al mismo tiempo creo que los parches triviales son de los más importantes: precisamente porque son los parches «de iniciación» para cualquier nuevo desarrollador. Dedico mucho esfuerzo en encontrar a gente que se preocupe de ellos 😉

No es un trabajo agradecido, por cierto, precisamente porque parece demasiado trivial. Es fácil señalar 99 parches que son absolutamente obvios y quejarse del hecho de que no se han metido en el kernel. Pero lleva tiempo meterlos precisamente porque lo que hacía el parche parece obvio pero no lo era. Y en realidad no es el 99:1 sino más el 10:1 o algo así.

Así que, por favor, no pares. Sí, esos parches triviales son una molestia. Maldita sea, son horribles. Pero al mismo tiempo el diablo está en los detalles y son necesarios a largo plazo. Tanto los parches en sí como la gente que crece con ellos.

Linus

El mensaje original se puede leer en la lista de correo del kernel.