En 1977, Bill Joy grabó un compilador de Pascal y un editor de texto en una cinta magnética y la envió por correo a otra universidad. Treinta copias después, esa cinta dio origen a la licencia BSD, el acuerdo legal que todavía permite que FreeBSD, OpenBSD y macOS compartan código entre sí sin pedir permiso.
Casi cincuenta años después, cada vez que alguien abre una Mac o levanta un servidor con FreeBSD está usando una rama directa de ese primer envío de Berkeley. Entender esa licencia explica por qué estos sistemas se parecen a Linux en la superficie, pero se comportan distinto en las reglas del juego.
TL;DR
- La licencia BSD, nacida en Berkeley en 1977, permite copiar y modificar código sin obligar a publicar los cambios, a diferencia de la GPL.
- FreeBSD, OpenBSD y NetBSD descienden del mismo código 386BSD liberado en 1992 por Bill Jolitz.
- macOS corre Darwin, un núcleo Mach combinado con utilidades de 4.4BSD-Lite heredadas de ese mismo linaje.
- pkg y los ports reemplazan a apt en FreeBSD, pero el kernel y el userland se desarrollan juntos en un solo repositorio.
- OpenBSD se separó de NetBSD en 1995 para priorizar auditorías de seguridad por sobre la compatibilidad de hardware.
¿Qué es la licencia BSD?
La licencia BSD es un permiso de software libre creado en la Universidad de California en Berkeley a fines de los años setenta que autoriza copiar, modificar y redistribuir código, incluso en productos cerrados, con la única condición de mantener el aviso de copyright original.
Existen dos variantes activas: la licencia BSD de 2 cláusulas, que solo pide mantener el aviso de copyright y la lista de condiciones en el código fuente y en la documentación, y la de 3 cláusulas, que además prohíbe usar el nombre de la universidad o de los autores originales para promocionar productos derivados sin permiso.
El origen: de Bell Labs a una cinta mandada por correo
Cuando Ken Thompson volvió a Bell Labs en 1976 tras un año dando clases en Berkeley, dejó atrás a dos estudiantes, Bill Joy y Chuck Haley, metidos de lleno en el código del kernel de Unix. Empezaron a optimizarlo y, en paralelo, a empaquetar herramientas propias: un compilador de Pascal y ex, un editor de línea del que después saldría vi.
A principios de 1977, Joy armó la primera Berkeley Software Distribution con ese compilador de Pascal y ex. No era un sistema operativo aparte: era un paquete para instalar sobre un Unix que ya tenías. En el año siguiente salieron unas treinta copias en cinta, cada una copiada y enviada a mano por el propio Joy.
Para conseguirla hacía falta ya tener una licencia de fuente de Unix de AT&T; Berkeley solo cobraba el costo de la cinta y el envío. Esa política de precio casi simbólico, sumada a la tradición de Berkeley de compartir software académico, hizo que la distribución se expandiera rápido entre universidades que ya tenían la licencia base.
La segunda distribución, 2BSD, llegó con vi (el modo visual de ex), el C shell y mejoras al compilador de Pascal; cerca de 75 cintas salieron de Berkeley en el año siguiente, otra vez copiadas y enviadas por Joy en persona.
El salto real llegó en 1978, cuando el grupo del profesor Richard Fateman consiguió una VAX de 32 bits con un megabyte de memoria para correr Macsyma, un sistema de álgebra simbólica. La VAX ya tenía una versión de Unix de Bell Labs llamada 32/V, pero sin soporte real para memoria virtual: el espacio de direcciones de cada programa quedaba limitado a la memoria física disponible, insuficiente para Macsyma.
Ozalp Babaoglu, estudiante de posgrado dirigido por el profesor Domenico Ferrari, escribió el soporte de memoria virtual para 32/V. Joy ayudó a integrar y depurar ese código durante las vacaciones de fin de 1978, cuando había menos gente usando la VAX. Para enero de 1979 la mayoría de los errores estaban resueltos.
Joy portó ex, vi, el C shell y el resto de 2BSD a la VAX; Peter Kessler y Marshall Kirk McKusick portaron el sistema de Pascal. Todo ese trabajo, sumado al kernel con memoria virtual ya depurado, salió en diciembre de 1979 como 3BSD.
La red ARPANET, operativa desde 1969 y financiada por la agencia de proyectos avanzados de defensa de Estados Unidos, conectaba instituciones con hardware y sistemas operativos distintos que no podían compartir software fácilmente. DARPA se interesó en la portabilidad de Unix y tomó nota del éxito de 3BSD distribuyéndose entre centros de investigación, lo que abrió la puerta a financiar directamente el desarrollo de BSD en los años siguientes.
La primera distribución de Berkeley de 1977 viajó en cinta magnética a unas treinta universidades.
La guerra legal que terminó liberando el código
A fines de los años ochenta, Berkeley ya distribuía 4.3BSD con buena parte de utilidades propias, pero todavía dependía de código fuente de AT&T con licencia. En 1991, un grupo de desarrolladores, incluido Keith Bostic, fundó Berkeley Software Design Inc. (BSDi) para vender una versión comercial basada en ese trabajo.
Unix System Laboratories, la filial de AT&T dueña entonces de los derechos de Unix, demandó a BSDi y a la Universidad de California en 1992 alegando que el producto todavía contenía código y secretos comerciales de AT&T. El litigio frenó durante casi dos años cualquier avance claro sobre qué partes de BSD eran realmente libres de reclamos.
📌 Nota: el acuerdo no declaró ganador a ninguna parte; obligó a reescribir o eliminar un puñado de archivos puntuales, no todo el sistema.
El caso se resolvió en 1994 con un acuerdo que obligó a reescribir o eliminar esos archivos en disputa. El resultado fue 4.4BSD-Lite, una distribución sin una sola línea de código de AT&T, publicada bajo la licencia BSD sin restricciones heredadas. Esa es la base legalmente limpia sobre la que se construyeron después FreeBSD, NetBSD y, vía NeXTSTEP, el propio macOS.
Qué hace distinta a la licencia BSD de la GPL
La diferencia central entre las licencias tipo BSD y la GPL es qué pasa cuando alguien redistribuye una versión modificada. BSD no pregunta qué hiciste con el código después de tocarlo; la GPL sí, y te obliga a publicar el resultado bajo la misma licencia.
Esa diferencia tiene consecuencias prácticas concretas. Una empresa puede tomar el stack de red de FreeBSD, meterlo en un router comercial cerrado y nunca publicar sus cambios, algo que la GPLv2 del kernel Linux no permite sin publicar el código derivado.
LicenciaObligación al redistribuirPermite cerrar el código derivado
Licencia BSD (2 o 3 cláusulas)Mantener el aviso de copyright y la lista de condicionesSí
MITMantener el aviso de copyright, casi idéntica en espíritu a BSDSí
GPLv2 / GPLv3Publicar el código fuente completo del derivado bajo la misma licenciaNo
El linaje vivo: FreeBSD, NetBSD, OpenBSD y macOS
En 1992, Bill y Lynne Jolitz portaron 4.3BSD-Lite al hardware de PC bajo el nombre 386BSD y lo publicaron como shareware. El proyecto acumuló cientos de parches sin un proceso ordenado de integración, y hacia 1993 dos grupos distintos tomaron ese código y lo organizaron por su cuenta: uno se convirtió en FreeBSD, enfocado en facilidad de uso en PC y servidores; otro en NetBSD, enfocado en portabilidad a la mayor cantidad de arquitecturas posible.
En 1995, Theo de Raadt se separó de NetBSD por diferencias internas y fundó OpenBSD, con énfasis explícito en auditar cada línea del código base buscando errores de seguridad antes de aceptarla. Ese énfasis explica por qué OpenBSD inventó OpenSSH, el cliente y servidor SSH que terminó empaquetado en prácticamente todas las distribuciones de Linux y en Windows.
El cuarto heredero es menos obvio: cuando Steve Jobs fundó NeXT tras salir de Apple, construyó NeXTSTEP sobre un microkernel Mach combinado con utilidades y una capa de compatibilidad de BSD. Cuando Apple compró NeXT en 1997, esa base se convirtió en Darwin, el núcleo open source que corre debajo de macOS, iOS, iPadOS y watchOS. Por eso una terminal de Mac entiende flags de ls que no existen en la versión GNU de la misma herramienta.
flowchart TD A["Unix en Bell Labs (AT&T)"] --> B["BSD 1977 (Pascal + ex)"] B --> C["2BSD (vi, csh)"] C --> D["3BSD en VAX (1979)"] D --> E["4.3BSD"] E --> F["386BSD (1992)"] F --> G["FreeBSD"] F --> H["NetBSD"] H --> I["OpenBSD (1995)"] E --> J["4.4BSD-Lite (1994)"] J --> K["Darwin / macOS"] OpenBSD se separó de NetBSD en 1995; macOS hereda utilidades de 4.4BSD-Lite liberado en 1994.
Cómo empezar: probar FreeBSD sin tocar tu sistema principal
No necesitás instalar nada sobre tu equipo real para ver el linaje BSD funcionando: un emulador de máquinas virtuales alcanza. Esto es lo que hace falta antes de arrancar:
- QEMU instalado (
sudo apt install qemu-system-x86en Debian o Ubuntu,brew install qemuen macOS). - Al menos 20 GB libres en disco y 2 GB de RAM disponibles para la máquina virtual.
- La imagen ISO oficial de instalación, descargada desde la página oficial de descargas de FreeBSD (arquitectura amd64, disco 1 de la versión RELEASE más reciente).
Con el ISO ya descargado como FreeBSD.iso, estos dos comandos crean el disco virtual y arrancan el instalador:
qemu-img create -f qcow2 freebsd.qcow2 20G qemu-system-x86_64 -m 2048 -cdrom FreeBSD.iso -hda freebsd.qcow2 -boot d El primer comando crea un disco virtual de 20 GB en formato qcow2; el segundo arranca una máquina con 2 GB de RAM usando ese disco y el ISO como medio de arranque. A los pocos segundos aparece bsdinstall, el mismo instalador de texto que usa FreeBSD en hardware real.
💡 Tip: antes de aplicar
freebsd-updatepor primera vez, apagá la VM y copiá el archivofreebsd.qcow2a un lado; si algo falla, volver atrás es pegar el archivo de vuelta en lugar de reinstalar.
Una vez dentro del sistema instalado, este comando confirma que estás parado sobre el linaje BSD real y no sobre una capa de compatibilidad:
uname -a La salida tiene el formato FreeBSD nombrehost 14.x-RELEASE FreeBSD 14.x-RELEASE releng/14.x amd64, donde FreeBSD aparece dos veces: una como sistema operativo y otra como nombre del kernel. En Linux, el mismo comando devuelve Linux seguido de la versión del kernel, nunca del nombre de una distribución.
Ejemplo progresivo: instalar software en FreeBSD vs Linux
En FreeBSD el gestor de paquetes binarios se llama pkg y funciona parecido a apt o dnf, pero reconstruye desde el árbol de ports si lo necesitás:
pkg install nginx La salida muestra el plan de instalación antes de ejecutarlo:
The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: nginx: 1.27.x Proceed with this action? [y/N]: Es el mismo flujo mental de apt install nginx en Debian, pero el binario instalado viene del árbol de ports de FreeBSD, no de un repositorio de Canonical ni de ninguna distribución GNU/Linux: la cadena completa, desde el código fuente hasta el paquete binario, vive dentro del mismo proyecto que mantiene el kernel.
Comparativa: elegir entre un sistema BSD y Linux
CriterioFreeBSD / OpenBSDLinux (cualquier distro)
Modelo de licenciaPermisiva: podés cerrar tus cambiosKernel bajo GPLv2: los cambios al kernel deben publicarse
Quién empaqueta kernel y utilidadesUn solo proyecto, un solo releaseKernel y userland vienen de proyectos separados, ensamblados por la distro
Hardware soportadoMenor variedad de drivers listosCatálogo de hardware mucho más amplio
Caso de uso típicoFirewalls (pfSense, OPNsense), appliances de red, servidores que priorizan estabilidadServidores de propósito general, escritorio, contenedores, nube
Cuándo NO convieneSi necesitás soporte inmediato de hardware de escritorio reciente o drivers propietariosSi necesitás un árbol único auditado de punta a punta sin piezas de terceros
Errores comunes al pensar en BSD Unix
- "BSD está muerto": es falso. Netflix construyó buena parte de Open Connect, su plataforma de entrega de video, sobre FreeBSD, y Sony usa un derivado de FreeBSD como base de los firmwares de PlayStation 4 y PlayStation 5.
- "La licencia BSD es dominio público": tampoco. El código sigue con copyright de sus autores; la licencia solo renuncia al requisito de compartir los cambios, no a la autoría.
- "OpenBSD es FreeBSD con otro nombre": son proyectos con bases de código, calendarios de release y prioridades distintas desde que Theo de Raadt bifurcó OpenBSD de NetBSD en 1995 para poner la auditoría de seguridad por delante de la compatibilidad de hardware.
- "macOS es Unix, por lo tanto es BSD": macOS combina el microkernel Mach con utilidades heredadas de 4.4BSD-Lite dentro de Darwin; tiene certificación Unix 03, pero su núcleo no es un fork de un kernel BSD monolítico como el de FreeBSD.
Profundizando: por qué importa que el kernel y el userland vivan juntos
La diferencia más técnica entre un sistema BSD y una distribución Linux no es el kernel en sí, sino quién lo empaqueta. FreeBSD, OpenBSD y NetBSD publican el kernel, las herramientas base (ls, cp, el compilador, el sistema de arranque) y la documentación desde un único repositorio y bajo un único proceso de release.
Linux, en cambio, es solo el kernel: las herramientas que lo rodean (coreutils, systemd o su alternativa, el gestor de paquetes) las aporta un ecosistema de proyectos independientes, y cada distribución decide cómo combinarlos. Eso explica por qué dos instalaciones de Linux pueden diferir radicalmente en comandos e inicialización, mientras dos instalaciones de FreeBSD rara vez se sorprenden entre sí.
flowchart TD subgraph BSD["FreeBSD u OpenBSD: un solo árbol"] K1["Kernel"] --- U1["Userland y utilidades"] end subgraph LINUX["Ecosistema Linux"] K2["Kernel Linux"] --- U2["Userland (GNU, systemd, etc.)"] end Esa coherencia tiene un costo: el ciclo de un sistema BSD es más lento para adoptar hardware nuevo, porque cada driver tiene que entrar al mismo árbol auditado en lugar de llegar como un módulo externo compilado aparte, algo habitual en Linux.
Tu próximo paso: levantá la VM de FreeBSD del apartado anterior y corré pkg install bash git para comparar en carne propia cómo se siente el árbol de ports frente a tu gestor de paquetes habitual.
📖 Resumen en Telegram: Ver resumen
Preguntas frecuentes
¿La licencia BSD obliga a publicar el código modificado?
No. A diferencia de la GPL, la licencia BSD solo exige mantener el aviso de copyright original; podés modificar el código y vender el resultado cerrado.
¿FreeBSD y OpenBSD comparten el mismo kernel?
No. Ambos nacieron del código 386BSD de 1992, pero desde que NetBSD y FreeBSD se separaron en 1993, y OpenBSD de NetBSD en 1995, cada proyecto mantiene su propio kernel con decisiones de diseño distintas.
¿Por qué macOS se considera parte del linaje BSD si usa un kernel Mach?
Porque Darwin, el núcleo de macOS, combina ese microkernel Mach con utilidades y una capa de compatibilidad heredadas de 4.4BSD-Lite; buena parte de los comandos de terminal en Mac vienen directo de ese código.
¿Qué diferencia práctica hay entre pkg de FreeBSD y apt de Linux?
Ambos instalan paquetes binarios con una sintaxis parecida, pero pkg se construye desde el mismo árbol de ports que mantiene el proyecto FreeBSD, mientras que apt depende del repositorio de una distribución externa al kernel Linux.
¿Sigue siendo relevante elegir un sistema BSD en 2026?
Sí, en nichos concretos: firewalls como pfSense y OPNsense corren sobre FreeBSD, y OpenBSD sigue siendo referencia en auditorías de seguridad, aunque para escritorio o soporte de hardware reciente Linux tiene catálogo más amplio.
Referencias
- FOSS Comics: la historieta que narra el nacimiento de BSD en Berkeley, con las anécdotas de Bill Joy y la VAX de 1978.
- FreeBSD Project: sitio oficial del proyecto, con la página de descargas y el manual de instalación.
- OpenBSD Project: sitio oficial del proyecto fundado por Theo de Raadt en 1995.
- Wikipedia: Berkeley Software Distribution: resumen histórico de las distribuciones BSD y su cronología.
- Wikipedia: BSD licenses: comparación de las variantes de 2 y 3 cláusulas de la licencia BSD.
- Wikipedia: USL v. BSDi: detalle del litigio entre AT&T y Berkeley que llevó a 4.4BSD-Lite.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
