Un driver no es más que un programa que le dice al kernel como se usa un determinado hardware, en el caso de nuestra nueva impresora, el driver informa al kernel de los registros que configuran la impresora, como se direccionan, en que formato espera recibir los datos a imprimir y un montón de magia adicional que no nos podemos ni llegar a imaginar.
Un driver es por tanto algo bastante oscuro, que trata directamente con el hardware. También es algo bastante específico, el driver de mi impresora HP600 no sabe nada de como funciona la impresora HP650.
Según lo que hemos visto hasta ahora, podemos imaginarnos que los programadores de drivers son gente bastante especial. Habitualmente se les paga por su trabajo, las propias empresas que fabrican tarjetas de red, contratan programadores de drivers para que fabriquen drivers para Windows, si no fuese así, nadie podría usar su tarjetas en máquinas con Windows.
En el caso de Linux, esto no tiene por que ser así, puede ser que no se pague a los programadores de drivers; tampoco suelen tener una descripción completa de como funciona el hardware para el que están haciendo el driver, pues las empresas no suelen proporcionar información tan detallada a cualquiera.
Aunque la fama que está adquiriendo Linux está animando a muchas empresas constructoras de hardware a crear drivers para Linux, todavía necesitamos los esfuerzos de esos aguerridos programadores de drivers para Linux que trabajan por muy poco dinero.