Linux explicado sin tecnicismos
Linux es complejo de definir para una persona sin conocimientos técnicos, pero sencillo de comprender cuando ves el contexto.
Estamos ante uno de los proyectos de software de código abierto más grandes de la historia.
El código abierto es la alternativa al software privativo, donde el código es secreto y solo puede verlo y modificarlo su propietario.
En cambio, Linux es público. Cualquiera puede leer, modificar, proponer cambios o incluso distribuir su propia versión.
A diferencia de sistemas operativos establecidos como Windows o macOS, donde una única empresa financia y coordina el desarrollo, Linux es, en cierta medida, más anárquico.
Existe una versión oficial coordinada por la Fundación Linux cuyo rumbo técnico es decidido por su creador.
Sin embargo, cualquier persona puede descargar el código y hacer lo que quiera con él, siendo la única limitación la obligatoriedad de publicar el código que hayas modificado.
Linux es únicamente el motor
Linux es el núcleo del sistema operativo, un intermediario que permite comunicar de forma coordinada todo el software que se construye por encima con la parte física, el hardware.
Cuando Apple diseña un ordenador, lo hace para un hardware específico. Fuera de ese hardware, su núcleo simplemente no funciona.
En cambio Linux debe funcionar en absolutamente cualquier máquina: un teléfono móvil, una televisión inteligente, un satélite o los servidores más potentes del mundo.
A esto se le suma que muchos fabricantes de componentes físicos no hacen públicas las instrucciones de cómo comunicarse con su hardware, lo que obliga a los programadores de Linux a deducir el funcionamiento sin documentación ni ayuda del fabricante.
Este mismo motivo ha alimentado durante años el mito de que Linux es inestable. Cuando un componente no funciona correctamente, casi siempre es consecuencia de la falta de colaboración del fabricante, siendo el caso más conocido el de Nvidia que durante años se negó a publicar las especificaciones de sus tarjetas gráficas, resultando en un rendimiento deficiente que muchos atribuían erróneamente a Linux.
Que Linux funcione en todo ese caos, de forma estable y gratuita, es en sí mismo uno de los logros de ingeniería más extraordinarios de la historia.
Las distribuciones de Linux
Para que un sistema operativo funcione, no sólo necesita el núcleo.
Volviendo a la analogía previa con un coche, además del motor son necesarias muchas más piezas: la carrocería, el volante y unos buenos frenos.
En un sistema operativo pasa algo similar. También hace falta una interfaz gráfica, la terminal, y herramientas adicionales del sistema.
Te recuerdo que Linux es abierto y cualquier persona puede descargar el núcleo y añadirle los componentes de su elección.
Hay mucho software que cumple el mismo propósito. Por ejemplo, para el navegador tenemos Google Chrome y Firefox. Con el resto de herramientas pasa lo mismo. Hay diferentes programas de interfaces gráficas, terminales, etcétera.
Cuando una persona descarga el núcleo de Linux y elige qué componentes añadir encima para un propósito concreto, está creando lo que se llama una distribución.
Hay muchas, y cada una cumple un propósito diferente.
| Distribución | Propósito |
|---|---|
| Ubuntu | Propósito general |
| Android | Dispositivos móviles |
| CachyOS | Rendimiento extremo |
| Alpine Linux | Minimalismo para servidores |
Por ejemplo, esta última distribución no incluye una interfaz gráfica, únicamente un terminal simple ya que su objetivo es pesar lo mínimo posible para poder ejecutarse en cualquier tipo de servidor.
Cuando compras un ordenador e instalas Windows, no hay mucho más misterio. Sólo hay un sistema operativo, inmodificable.
Sin embargo, en Linux la cosa cambia un poco y es justamente el punto de fricción que los nuevos usuarios no terminan de entender.
Las distribuciones son, en esencia, diferentes sabores con los que utilizar Linux.
El nacimiento de Linux
En los años 70, Unix era el sistema operativo estándar, potente y elegante pero era privativo y caro.
A finales de los 80, Richard Stallman, físico y programador estadounidense, padre del software libre, lanzó el proyecto GNU, con el objetivo de crear el primer sistema operativo libre, pero le faltaba la pieza más importante, el núcleo. Esa capa de comunicación entre el software y el hardware de la que hablaba antes.
Por aquel entonces en instancias educativas se estaba utilizando Minix, basado en Unix, para enseñar a los alumnos el funcionamiento de un sistema operativo. Contaba con algunas restricciones de licencia que no permitían modificarlo libremente.
En 1991 en Helsinki (Finlandia) es donde Linus Torvalds entra en escena, un estudiante de 21 años, frustrado con las limitaciones de Minix decidió crear su propio núcleo desde cero.
Lo anunció en un foro donde aseguraba que “no tenía pretensiones de ser grande ni profesional”.
Lo que nadie esperó es que miles de programadores de todo el mundo comenzaron a colaborar espontáneamente y de forma altruista.
En la actualidad, cuenta con más de 34 millones de líneas de código y desde 2005 han participado en su desarrollo más de 14.000 programadores.
Linus Torvalds: una figura polémica
El fundador de Linux es una persona inusual.
Actualmente reside en Oregon (Estados Unidos) y su único trabajo desde hace décadas es revisar y dirigir el desarrollo de Linux.
No busca fama, no ofrece charlas motivacionales y detesta el mundo corporativo.
Un carácter sin filtros
Torvalds ha acumulado una mala reputación debido a sus respuestas agresivas y demoledoras a programadores que enviaban código que él consideraba deficiente.
Disculpas públicas
En 2018 ocurrió algo inesperado. Ofreció disculpas públicas y se tomó un tiempo de descanso para trabajar su comportamiento.
Lo que está claro es que no deja indiferente a nadie.
¿Dónde se usa Linux a día de hoy?
Linux es una parte esencial de la infraestructura digital moderna.
Prácticamente todo internet funciona usando Linux: servidores web, bases de datos o servicios en la nube como Google.
También está presente en infraestructuras críticas, como algunos sistemas de navegación, equipos médicos, la estación espacial internacional o los vehículos de Tesla, entre otros.
Si alguna vez has usado Android, ya has usado Linux sin saberlo.
Un fallo en el núcleo de Linux tendría un impacto brutal en los servicios que dependen de él.