Todos los atajos de teclado de Microsoft Paint para Windows 10 y 11
20 junio, 2022
How to Check Which Processes Are Running With Administrator Privileges on Windows
20 junio, 2022

Controladores de hardware de código cerrado frente a los de código abierto: Por qué es importante

Los controladores de dispositivos informáticos son los que permiten al sistema operativo indicar al hardware del ordenador y a los periféricos que se han conectado lo que deben hacer.

Al igual que las aplicaciones y los sistemas operativos, estos controladores de hardware pueden consistir en un código fuente de libre acceso oculto detrás de blogs binarios y un largo acuerdo de licencia de usuario final.

Entonces, ¿cuáles son las diferencias entre los controladores de hardware de código cerrado y de código abierto? Además, ¿cómo le afectan estas diferencias?

¿Qué es un controlador de hardware?

Los controladores de hardware existen para permitir que el software de su ordenador se comunique con el hardware. A veces vienen integrados en el sistema operativo del ordenador. Otras veces es necesario descargar e instalar los controladores uno mismo.

Muchos controladores para Microsoft Windows están disponibles para su descarga. Los dispositivos de PC más antiguos solían venir con CD-ROMs que incluían los controladores para hacer funcionar el hardware. Por hardware se entiende cualquier cosa, desde un micrófono USB hasta una tarjeta gráfica para juegos.

En Linux, los controladores suelen venir integrados en el sistema operativo, lo que tiene sus ventajas y desventajas. La mayoría de las veces, cuando conectas un nuevo dispositivo, simplemente funciona. Este es el caso, sobre todo, del hardware más antiguo que ha tenido tiempo de introducirse en el kernel de Linux. Pero a veces, especialmente con los dispositivos más nuevos, tu ordenador no reconoce el nuevo dispositivo, y es menos probable que los controladores compatibles con Linux estén disponibles para su descarga en línea.

Por qué muchos controladores son propietarios

Un componente informático o un dispositivo externo puede parecer un producto principalmente físico, pero el software que alimenta el dispositivo a menudo hace que un producto sea más atractivo que otro. Muchas empresas consideran que el código que alimenta este software es su ventaja competitiva frente a otras empresas.

En lugar de poner este código a disposición del público, sólo permiten ver el código a quienes no pertenecen a la empresa o a determinados contratistas. El código se considera información propietaria. El software resultante es software propietario, también conocido como software de código cerrado.

La competencia entre AMD y NVIDIA es una de las más feroces en el ámbito del hardware informático. NVIDIA lleva mucho tiempo teniendo ventaja sobre sus rivales y es menos proclive a proporcionar controladores de hardware de código abierto. Podría decirse que el código de estos controladores permitiría a un competidor existente ponerse al día o facilitaría la entrada de una nueva empresa en este campo sin tener que desarrollar el código desde cero.

Los sistemas operativos propietarios tienen controladores propietarios

También es necesario abordar aquí el elefante en la habitación. Microsoft Windows es el sistema operativo de escritorio más utilizado en el mundo. Windows se compone de un código fuente cerrado.

Los controladores de hardware se integran con el sistema operativo a un nivel tan bajo. Desde Windows 8, los ordenadores con Windows sólo pueden ejecutar controladores firmados. Esto significa que los controladores deben estar certificados por Microsoft, y como Windows es propietario, estos controladores también deben serlo.

Tal vez sea menos sorprendente que Apple también certifique los controladores en macOS. Pero a nivel del núcleo, macOS se basa en varias tecnologías de código abierto. macOS también utiliza el sistema de código abierto CUPS para gestionar las impresoras. Pero si instalas un controlador, es probable que sea propietario.

El sistema operativo Chrome OS de Google es una pequeña excepción. Chrome OS es técnicamente propietario, pero está construido sobre una base de código abierto. Dado que Chrome OS utiliza el kernel de Linux, utiliza tanto los controladores de código abierto como los bloques binarios cerrados que vienen con el kernel. Pero si necesitas ejecutar hardware adicional que no es compatible con la caja, eso no es realmente para lo que Chrome OS está destinado.

¿Qué necesidad hay de controladores abiertos?

Esto significa que la cuestión de los controladores de código abierto frente a los de código cerrado afecta en gran medida a los usuarios de Linux. En este caso, la preferencia es la opuesta a la de los otros sistemas operativos de escritorio. Ninguna empresa desarrolla y distribuye Linux, por lo que no hay ninguna empresa que certifique los controladores. El desarrollo de Linux está repartido entre gente de todo el mundo, algunos trabajando como voluntarios y otros como empleados de varias empresas. Todo funciona mejor cuando el código fuente de los controladores está disponible.

Las ventajas de los controladores de código abierto reflejan muchas de las ventajas del software de código abierto en general.

  • Colaboración de software más fácil: Mucha gente puede desarrollar software conjuntamente cuando no hay una empresa que actúe como guardián del código fuente.
  • Software en el que se puede confiar: Sin acceso al código fuente, no se sabe realmente lo que hace un programa.
  • Mayor privacidad: Es raro que el software de código abierto haga un seguimiento de lo que usted hace, ya que es fácil que alguien redistribuya otra copia del software con el seguimiento eliminado.
  • Longevidad del software: Cuando una empresa pierde interés en un programa o dispositivo, suele dejar de distribuirlos. El código abierto permite que cualquier otra persona pueda seguir poniendo a disposición el software.

En Linux, cuando un controlador es de código abierto, hay más posibilidades de que todo funcione sin más. También es probable que el hardware contenga menos errores.

Por ejemplo, los usuarios de Linux pueden esperar que las animaciones del escritorio sean más fluidas si utilizan gráficos integrados de Intel que si utilizan una tarjeta gráfica de NVIDIA, porque los desarrolladores de gráficos de Linux no tienen acceso al funcionamiento interno del chip de NVIDIA para solucionar todos los errores. Los fallos pueden aparecer en lugares inesperados, como cuando se cierra el portátil para ponerlo en reposo. Como resultado, los usuarios de Linux que quieran una experiencia más fluida y a la vez necesiten una tarjeta gráfica potente pueden acabar prefiriendo a AMD, una compañía que proporciona más controladores de código abierto.

Si Linux se utilizara más en los ordenadores de sobremesa, probablemente se vería una mayor presión sobre las empresas para que lancen controladores abiertos. En Linux, el código abierto es una ventaja competitiva, una característica a la que muchos usuarios dan importancia a la hora de tomar sus decisiones de compra. Pero como los usuarios de Linux representan un porcentaje tan pequeño del total de usuarios de ordenadores, apenas se plantea la cuestión de si un controlador debe ser de código abierto. En Windows y macOS, un controlador de código abierto no será certificado.

Código abierto vs. propietario: ¿Cuál debería usar?

En la mayoría de los ordenadores, no tienes elección. En Windows y macOS, los controladores son propietarios. En Chrome OS, si sus controladores son abiertos o cerrados, ese conocimiento es en gran medida desconocido e irrelevante para su experiencia.

Pero si usas Linux, entonces esta cuestión importa. A no ser que necesites la potencia extra que puede proporcionar un controlador propietario, como por ejemplo para jugar, el hardware con controladores de código abierto suele proporcionar una mejor experiencia. Además, estos controladores se ajustan mejor al espíritu y la funcionalidad que distinguen a Linux de otros sistemas operativos.