Es posible que alguna vez te haya picado el gusanillo de participar en el kernel de Linux pero al intentarlo, te has encontrado con que la documentación está dispersa o viene de fuentes no muy fiables.
Mauro Carvalho Chehab es uno de los desarrolladores del kernel más destacados, que entre otras cosas se dedica a mantener el subsistema multimedia. Ese trabajo incluye a todos los controladores para mandos a distancia, webcams, tarjetas capturadoras de video, sintonizadores de TV, etc.
Viendo que no existía documentación realmente buena para todos aquellos que quisieran adentrarse en las entrañas de Linux, ha decidido crear un libro donde se dan instrucciones de cómo convertirse en un desarrollador del kernel sin incluir absolutamente todos los destalles técnicos de la programación. En su introducción podemos leer lo siguiente:
«Entonces ¿quieres aprender como llegar a ser un desarrollador del kernel de Linux? O tu jefe te ha dicho «ve y escribe un controlador para Linux de este dispositivo». El objetivo de este documento es enseñarte todo lo que tienes que saber para lograrlo, describiendo el proceso que tienes que realizar, dando consejos sobre cómo funciona la comunidad. También intenta explicar algunas razones de por qué la comunidad funciona como lo hace.
En su mayor parte, el kernel está escrito en C con algunas partes dependientes de la arquitectura que están escritas en ensamblador. Es necesario entender bien C para desarrollar en el kernel. El ensamblador (en cualquier arquitectura) no es necesario a no ser que tengas pensado hacer desarrollo a bajo nivel para esa arquitectura».
El manual de desarrollador del kernel de Carvalho está disponible en tres formatos: HTML, LaTeX y PDF. Se pueden consultar los enlaces al mismo y las correcciones en la lista de correo del kernel.