¿Por qué la compatibilidad de hardware es un problema para Linux? Es decir, ¿por qué el sistema operativo no es más «portátil» como lo son Windows y MacOS?

En general, no lo es. Ten en cuenta que Linux se "esconde" en tu smartphone (Android), en tu televisor, en tus cosas inteligentes, en tu router y en la mayoría de los servicios comerciales a los que accedes con tu PC con Windows.

Hay dos áreas problemáticas.

La primera es con el hardware "más nuevo" destinado principalmente a los PC de escritorio. El fabricante escribe el controlador para Microsoft Windows antes de enviar el producto, porque si no lo hiciera el producto no se vendería. El fabricante no siempre escribe el controlador para Linux, porque no considera significativo el escaso porcentaje del mercado de ordenadores de sobremesa con Linux. La comunidad de código abierto no puede empezar a escribir un controlador hasta que pueda comprar el hardware (excepto los fabricantes iluminados que proporcionan muestras de ingeniería de pre-lanzamiento a los desarrolladores de controladores de Linux). Así que hay un retraso.

El segundo es la documentación. Algunos fabricantes se niegan a proporcionar cualquier tipo de documentación para su hardware, por lo que escribir un controlador de código abierto se convierte en un ejercicio de ingeniería inversa con trampas tanto tecnológicas como legales. Hay varias razones para ello. El fabricante puede temer revelar el funcionamiento de su hardware a sus competidores (secretos comerciales, que no son patentables debido al estado de la técnica). El fabricante puede temer que la divulgación le lleve a ser demandado, porque podría haber infringido las patentes de un competidor, o las que están en manos de un "troll" de patentes. El fabricante puede simplemente no estar dispuesto a gastar ni siquiera una pequeña cantidad en documentación. El fabricante puede publicar la documentación, pero sólo en coreano, chino o un idioma menos conocido, lo que retrasa y restringe su accesibilidad a la comunidad de desarrolladores más amplia.

Así que algunos equipos son sólo para Windows por decisión de su fabricante, y algunos tienen controladores disponibles sólo un año o más después de su comercialización.

Tenga en cuenta que hay un efecto inverso. Una gran cantidad de hardware se convirtió en chatarra en lo que respecta a Windows, cuando Windows XP llegó al final de su vida útil. Lo mismo ocurrirá cuando Windows 7 llegue al fin de su vida útil, o cuando la evolución de Windows 10 requiera actualizaciones de controladores para el hardware considerado por su fabricante como demasiado obsoleto para molestarse en él. Por el contrario, si alguna vez funciona con Linux, es probable que siga haciéndolo hasta que el hardware sea una pieza de museo (y posiblemente después, si el museo tiene un conservador con conocimientos de código) La fuente del controlador está disponible. Cualquiera que quiera que funcione con el último Linux puede hacerlo, o pagar a un desarrollador para que lo haga.