Linux (núcleo): definición, licencia GPLv2 y principales características

Linux: definición del núcleo, qué implica la licencia GPLv2 y sus principales características técnicas y de uso. Guía clara para entender el ecosistema Linux.

Autor: Leandro Alegsa

Linux es un núcleo de sistema operativo utilizado por un grupo de sistemas operativos tipo Unix. Se conocen como sistemas operativos Linux.

El núcleo de Linux se publica con la licencia pública general GNU versión 2 (GPLv2) y es desarrollado por programadores de todo el mundo.

 

Definición y contexto

El núcleo (kernel) de Linux es el componente central que gestiona los recursos del hardware —CPU, memoria, dispositivos de E/S— y ofrece servicios básicos a los programas y al resto del sistema operativo. Aunque «Linux» suele usarse para referirse al conjunto completo (kernel más utilidades y bibliotecas), técnicamente Linux es únicamente el núcleo; las distribuciones combinan el núcleo con otros proyectos para formar sistemas operativos completos.

Breve historia

Linux fue iniciado por Linus Torvalds en 1991 como un proyecto personal. Con el tiempo creció hasta convertirse en un proyecto colaborativo global. La gestión del código se realiza principalmente mediante el sistema de control de versiones Git (creado también por Linus Torvalds), y el desarrollo está organizado en una jerarquía de mantenedores responsables de subsistemas y de integrar cambios.

Licencia: GPLv2 (características principales)

La publicación del núcleo bajo la licencia pública general GNU versión 2 implica:

  • Acceso al código fuente: cualquiera puede leer, modificar y distribuir el código fuente del núcleo.
  • Copyleft: las versiones derivadas del núcleo deben distribuirse bajo los mismos términos (GPLv2), lo que obliga a proporcionar el código fuente cuando se redistribuye el binario.
  • Restricciones y compatibilidad: la comunidad y los responsables del kernel han optado por mantener el núcleo bajo GPLv2 en lugar de migrar a GPLv3; esto tiene implicaciones legales y prácticas para cómo se combinan módulos y firmas de drivers.

Es importante notar que algunos componentes que se usan junto al kernel (firmware, controladores binary blobs, utilidades) pueden estar bajo licencias diferentes; la relación entre esos componentes y la GPLv2 puede variar y a veces genera debates legales y técnicos.

Principales características técnicas

  • Arquitectura: kernel monolítico modular: el núcleo agrupa muchas funciones en el espacio del kernel, pero permite cargar y descargar módulos en tiempo de ejecución.
  • Soporte multiplataforma: soporta numerosas arquitecturas (x86, x86_64, ARM, ARM64, RISC-V, PowerPC, SPARC, entre otras).
  • Gestión de memoria: virtual memory, paginación y asignación eficiente de memoria.
  • Planificación de procesos: multitarea preemptiva con varios algoritmos de planificación y opciones para sistemas en tiempo real (PREEMPT, PREEMPT_RT).
  • Subsistema de archivos: soporte para muchos sistemas de archivos (ext4, btrfs, XFS, F2FS, NFS, etc.) y mecanismos de caché y journaling.
  • Controladores de dispositivos: amplia colección de drivers para tarjetas de red, discos, GPUs, audio, y más; soporte para módulos de terceros.
  • Redes: pila de red potente y flexible, con soporte para IPv4/IPv6, bridging, VLANs, QoS, netfilter/iptables/nftables.
  • Contenerización y virtualización: namespaces y cgroups para aislamiento (base de contenedores como Docker), y soporte nativo para máquinas virtuales (KVM) y paravirtualización.
  • Seguridad: soporte para SELinux, AppArmor, capacidades Linux, LSM (Linux Security Modules) y otras extensiones de seguridad.

Desarrollo y mantenimiento

El desarrollo del kernel es coordinado semanalmente en ciclos de lanzamiento; las propuestas y parches se envían a través de listas de correo y repositorios Git. Existen mantenedores responsables por subsistemas (p. ej., drivers, red, archivos), y Linus Torvalds integra las ramas principales. El código sigue normas de estilo y revisiones antes de incorporarse al árbol principal.

Usos y adopción

  • Servidores: Linux es dominante en servidores web, bases de datos y cloud.
  • Escritorio: muchas distribuciones de escritorio (por ejemplo, Ubuntu, Fedora) usan el kernel Linux como base.
  • Dispositivos móviles y embebidos: Android usa un kernel Linux modificado; también está presente en routers, NAS, dispositivos IoT y sistemas embebidos.
  • Supercomputación: la mayoría de los supercomputadores ejecutan kernels Linux personalizados.

Obtener y compilar el núcleo

El código fuente del núcleo está disponible públicamente (por ejemplo, en el sitio oficial del kernel). Las distribuciones proporcionan kernels precompilados y empaquetados, pero también es posible descargar el código fuente y compilarlo manualmente con las etapas habituales: configurar, compilar (make), instalar módulos y actualizar el gestor de arranque. Compilar permite personalizar opciones, optimizar para hardware específico y probar parches.

Consideraciones finales

El núcleo de Linux es un proyecto abierto y en constante evolución, con un ecosistema rico y diverso. Su licencia GPLv2 asegura que el código permanezca accesible y fomenta la colaboración global, mientras que su diseño y características lo hacen adecuado para una amplia gama de dispositivos y cargas de trabajo.

El kernel de Linux se encuentra en varios equipos. Está soportado por una gran cantidad de software libre, de código abierto y propietario  Zoom
El kernel de Linux se encuentra en varios equipos. Está soportado por una gran cantidad de software libre, de código abierto y propietario  

Historia

En abril de 1991, Linus Torvalds, que entonces tenía 21 años, empezó a trabajar en algunas ideas sencillas para un sistema operativo. Entonces, el 25 de agosto de 1991, Torvalds publicó en comp.os.minix:

"

Estoy haciendo un sistema operativo (libre) (sólo un hobby, no será grande y profesional como gnu) para clones de 386(486) AT. Esto se ha estado gestando desde abril, y está empezando a estar listo. Me gustaria saber que cosas le gustan/no le gustan a la gente de minix, ya que mi sistema operativo se asemeja un poco a el (la misma disposicion fisica del sistema de archivos (por razones practicas) entre otras cosas).

"

Tras el anuncio, muchas personas contribuyeron con código al proyecto. En septiembre de 1991, se publicó la versión 0.01 de Linux. Tenía 10.239 líneas de código. En octubre de 1991, se publicó la versión 0.02 de Linux.

Se creó un grupo de noticias alt.os.linux, y el 19 de enero de 1992 se realizó el primer envío a alt.os.linux. El 31 de marzo de 1992, alt.os.linux se convirtió en comp.os.linux.

El sistema X Window pronto se trasladó a Linux. En marzo de 1992, la versión 0.95 de Linux fue la primera capaz de ejecutar X. Este gran salto de número de versión (de 0.1x a 0.9x) se debió a la sensación de que pronto se lanzaría una versión 1.0 sin grandes carencias.

El 14 de marzo de 1994 se publicó Linux 1.0.0, con 176.250 líneas de código. En marzo de 1995, se publicó Linux 1.2.0 (310.950 líneas de código).

Linus decidió, el 9 de mayo de 1996, adoptar al pingüino Tux como mascota de Linux.

La versión 2 de Linux, lanzada el 9 de junio de 1996, fue un hito. El fuerte desarrollo continuó:

  • 25 de enero de 1999 - Se publica Linux 2.2.0 (1.800.847 líneas de código).
  • 18 de diciembre de 1999 - Se publican los parches de IBM para la versión 2.2.13, que permiten utilizar Linux en máquinas de clase empresarial.
  • 4 de enero de 2001 - Se publica Linux 2.4.0 (3.377.902 líneas de código).
  • 17 de diciembre de 2003 - Se publica Linux 2.6.0 (5.929.913 líneas de código).
  • 16 de abril de 2008 - Se publica Linux 2.6.25 (9.232.484 líneas de código).
  • 31 de mayo de 2019 - Se lanzó la versión 5.1.6 de Linux.

Actualmente se publica una nueva versión del núcleo cada 2 3/4 meses.

 

Aspectos jurídicos

Condiciones de la licencia

Al principio, Torvalds publicó Linux bajo una licencia que no permitía a nadie venderlo. Esto se cambió pronto a la Licencia Pública General GNU (GPL), durante la versión 0.12. Esta licencia permite la distribución y venta de versiones modificadas y no modificadas de Linux, pero exige que todas esas copias se publiquen bajo la misma licencia y vayan acompañadas del código fuente completo correspondiente.

Torvalds ha dicho que licenciar Linux bajo la GPL es "lo mejor que he hecho".

 

Páginas relacionadas

  • menuconfig
  • Git (software)
  • Modprobe
  • Mapa del sistema
  • Espacio del usuario
  • Cabecera del espacio de usuario
 


Buscar dentro de la enciclopedia
AlegsaOnline.com - 2020 / 2025 - License CC3