FreeBSD

FreeBSD es un sistema operativo libre y de código abierto de tipo Unix que desciende de la Berkeley Software Distribution (BSD), basada en Research Unix. La primera versión de FreeBSD se publicó en 1993. Su objetivo es proveer un sistema operativo estable y veloz de propósito general que pueda ser usado para cualquier propósito sin ataduras.

En 2005, FreeBSD era el sistema operativo BSD de código abierto más popular, representando más de tres cuartas partes de todos los sistemas BSD instalados y con licencia permisiva.

FreeBSD tiene similitudes con GNU/Linux, con dos grandes diferencias en el alcance y las licencias: FreeBSD mantiene un sistema completo, es decir el proyecto proporciona un núcleo, controladores de dispositivos, userland, y documentación, a diferencia de Linux, que sólo proporciona un núcleo y controladores, y depende de terceras partes para el software del sistema; El código fuente de FreeBSD se libera generalmente bajo una licencia de software permisiva, Licencia BSD de 2 cláusulas/Licencia FreeBSD, en contraposición a la copyleft GPL utilizada en GNU/Linux.

Las arquitecturas de CPU soportadas son: x86, amd64, Alpha/AXP, IA-64, PC-98 y UltraSPARC. FreeBSD es un derivado de BSD, la versión de UNIX desarrollada en la Universidad de California en Berkeley. FreeBSD es desarrollado y mantenido por un numeroso equipo de personas. El soporte para otras arquitecturas está en diferentes fases de desarrollo.

FreeBSD ofrece una gran cantidad de funciones avanzadas e incluso cuenta con algunas no disponibles en algunos sistemas operativos comerciales. Es un excelente servidor de Internet e Intranet gracias a sus robustos servicios de red que le permiten maximizar la memoria y trabajar con cargas pesadas para entregar y mantener buenos tiempos de respuesta para miles de procesos de usuario simultáneos.

Ejecuta una gran cantidad de aplicaciones con facilidad. Por el momento, tiene más de 24000 aplicaciones y bibliotecas portadas con soporte para escritorio, servidor y entornos integrados. FreeBSD es excelente para trabajar con plataformas integradas avanzadas, está disponible para instalar de varias maneras y hay instrucciones a seguir para cualquier método que desees usar, ya sea a través de CD-ROM, a través de una red usando NFS o FTP, o DVD.

Es fácil de contribuir y todo lo que tienes que hacer es ubicar la sección de la base de código de FreeBSD para modificar y hacer un trabajo ordenado. Los potenciales contribuyentes también son libres de mejorar sus ilustraciones y documentación, entre otros aspectos del proyecto, FreeBSD es una organización sin fines de lucro con la que puedes contribuir financieramente.

La licencia de FreeBSD permite a los usuarios incorporar el uso de software propietario que es ideal para las empresas interesadas en generar ingresos. Netflix, por ejemplo, podría citar esto como una de las razones para usar servidores FreeBSD.

La mascota del sistema operativo es Beastie.

Historia de FreeBSD

Antecedentes 
En 1974, el profesor Bob Fabry, de la Universidad de California en Berkeley, adquirió de AT&T una licencia de Unix. Con el apoyo financiero del DARPA, el Computer Systems Research Group comenzó a modificar y mejorar el Research Unix de AT&T. Llamaron a esta versión modificada "Berkeley Unix" o "Berkeley Software Distribution" (BSD), implementando características como TCP/IP, memoria virtual y el Berkeley Fast File System. El proyecto BSD fue fundado en 1976 por Bill Joy. Pero como BSD contenía código de AT&T Unix, todos los destinatarios tenían que obtener primero una licencia de AT&T para poder utilizar BSD.

En junio de 1989, el "Networking Release 1" o simplemente Net-1, la primera versión pública de BSD, fue liberada. Tras la publicación de Net-1, Keith Bostic, desarrollador de BSD, sugirió reemplazar todo el código de AT&T por código de libre distribución bajo la licencia BSD original. Se empezó a trabajar en la sustitución del código AT&T y, al cabo de 18 meses, gran parte del código AT&T había sido sustituido. Sin embargo, seis archivos que contenían código AT&T permanecieron en el núcleo. Los desarrolladores de BSD decidieron publicar la "Networking Release 2" (Net-2) sin esos seis archivos. Net-2 se publicó en 1991.

Nacimiento de FreeBSD
En 1992, varios meses después de la publicación de Net-2, William y Lynne Jolitz escribieron sustitutos para los seis ficheros de AT&T, portaron BSD a microprocesadores basados en Intel 80386 y llamaron a su nuevo sistema operativo 386BSD. Publicaron 386BSD a través de un servidor FTP anónimo. 

Tras el lanzamiento de 386BSD 0.1,, a principios de 1993, un grupo de usuarios comenzó a recopilar correcciones de errores y mejoras, y las lanzó como un paquete de parches no oficial llamado Unofficial 386BSDPatchkit, estos eran Nate Williams, Rod Grimes y Jordan Hubbard.

El objetivo original era producir una instantánea intermedia de 386BSD para solucionar una serie de problemas que el mecanismo del patchkit no era capaz de resolver. El título inicial del proyecto era 386BSD 0.5 o 386BSD Interim en referencia a este hecho.

386BSD era el sistema operativo de Bill Jolitz, que hasta ese momento había estado sufriendo gravemente el abandono de casi un año. Como el kit de parches (patchkit) crecía de forma incómoda cada día que pasaba, decidieron ayudar a Bill proporcionándole esta instantánea provisional de "limpieza". 

Debido a las diferencias de opinión entre los Jolitz y los mantenedores del paquete de parches sobre la dirección futura y el cronograma de lanzamiento de 386BSD,, el trío de mantenedores del parches no oficial pensó que el objetivo seguía mereciendo la pena, incluso sin el apoyo de Bill.

El 19 de junio de 1993 se eligió el nombre FreeBSD, para continuar con su trabajo. El nombre "FreeBSD" fue acuñado por David Greenman. 

Los objetivos iniciales se fijaron tras consultar con los usuarios actuales del sistema y, una vez que quedó claro que el proyecto estaba en camino de convertirse incluso en realidad, Jordan se puso en contacto con Walnut Creek CDROM, con la vista puesta en mejorar los canales de distribución de FreeBSD para aquellos muchos desafortunados sin fácil acceso a Internet. 

Walnut Creek CDROM no sólo apoyó la idea de distribuir FreeBSD en CD, accedió a publicar el sistema operativo en CD-ROM, y llegó a proporcionar al proyecto una máquina en la que trabajar y una conexión rápida a Internet. Además de eso, la compañía empleó a Jordan Hubbard y David Greenman, ejecutó FreeBSD en sus servidores, patrocinó conferencias sobre FreeBSD y publicó libros relacionados con FreeBSD, incluyendo The Complete FreeBSD de Greg Lehey.

En 1997, FreeBSD era el producto de más éxito de Walnut Creek CDROM. Más tarde la compañía se renombró a sí misma como The FreeBSD Mall y más tarde iXsystems.

La primera versión de FreeBSD se publicó en noviembre de 1993.

Hoy en día, FreeBSD es utilizado por muchas empresas de TI como IBM, Nokia, Juniper Networks, y NetApp para construir sus productos.

Ciertas partes del sistema operativo Mac OS X de Apple están basadas en FreeBSD.

Tanto el sistema operativo de PlayStation 3, como el de Nintendo Switch, también toman prestados ciertos componentes de FreeBSD, mientras que el sistema operativo de PlayStation 4 deriva de FreeBSD 9. Netflix, WhatsApp, y FlightAware también son ejemplos de empresas grandes, exitosas y muy orientadas a la red que ejecutan FreeBSD.

Demanda 
Tanto 386BSD como FreeBSD derivaban de versiones de BSD. En enero de 1992, Berkeley Software Design Inc. (BSDi) comenzó a publicar BSD/386, más tarde llamado BSD/OS, un sistema operativo similar a FreeBSD y basado en 4.3BSD Net/2. AT&T presentó una demanda contra BSDi y alegó la distribución de código fuente de AT&T en violación de los acuerdos de licencia.

La demanda se resolvió extrajudicialmente y no se revelaron todos los términos exactos. El único que se hizo público fue que BSDi migraría su base de fuentes a las nuevas fuentes 4.4BSD-Lite2. Aunque no estaba involucrado en el litigio, se sugirió a FreeBSD que también debería migrar a 4.4BSD-Lite2.

FreeBSD 2.0, que se publicó en noviembre de 1994, fue la primera versión de FreeBSD sin código de AT&T.

Características 
FreeBSD es un sistema operativo multiusuario, capaz de efectuar multitarea con apropiación y multiproceso en plataformas compatibles con múltiples procesadores; el funcionamiento de FreeBSD está inspirado, como ya se dijo, en la variante BSD-Lite 4.4 de UNIX. Aunque FreeBSD no puede ser propiamente llamado UNIX, al no haber adquirido la debida licencia de The Open Group, FreeBSD sí está hecho para ser compatible con la norma POSIX, al igual que varios otros sistemas "clones de UNIX".

El núcleo, la estructura de ficheros del sistema, bibliotecas de la API de C, y algunas utilidades básicas. La versión 8.1 
trajo importantes mejoras como mayor soporte para dispositivos

Casos de uso 
FreeBSD contiene una importante colección de software relacionado con servidores en el sistema base y en la colección de ports, lo que permite configurar y usar FreeBSD como servidor de correo, servidor web, cortafuegos, servidor FTP, servidor DNS y router, entre otras aplicaciones.

FreeBSD puede instalarse en un ordenador de sobremesa normal o en un portátil. El X Window System no está instalado por defecto, pero está disponible en la colección de ports de FreeBSD. Wayland también está disponible para FreeBSD (con soporte no oficial). Varios entornos de escritorio como Lumina, GNOME, KDE y Xfce, así como gestores de ventanas ligeros como Openbox, Fluxbox, dwm y bspwm, también están disponibles para FreeBSD.
A partir de FreeBSD 12 está disponible el soporte para una pila gráfica moderna a través de drm-kmod. Un gran número de adaptadores inalámbricos están soportados.

FreeBSD publica imágenes de instalación para las plataformas soportadas. Desde FreeBSD 13 la atención se ha centrado en las plataformas x86-64 y AArch64 que tienen soporte Tier 1 o Nivel 1. x86-32 es una plataforma Tier 1 en FreeBSD 12 pero es una plataforma Tier 2 en FreeBSD 13. Los procesadores ARM de 32 bits que usan armv6 o armv7 también tienen soporte de nivel 2. También están soportadas las versiones de 64 bits de PowerPC y RISC-V. El interés por la arquitectura RISC-V ha ido creciendo. El port de la arquitectura MIPS ha sido marcado como obsoleto y no hay imagen para ninguna de las versiones soportadas actualmente. FreeBSD 12 soporta SPARC pero no hay imagen para FreeBSD 13.

Redes 
La pila TCP/IP de FreeBSD está basada en la implementación 4.2BSD de TCP/IP, que contribuyó en gran medida a la adopción generalizada de estos protocolos. FreeBSD también soporta IPv6, SCTP, IPSec y redes inalámbricas (Wi-Fi). Las pilas IPv6 e IPSec fueron tomadas del proyecto KAME. Antes de la versión 11.0, FreeBSD soportaba los protocolos IPX y AppleTalk, pero se consideran antiguos y ya han sido abandonados.

A partir de FreeBSD 5.4 se importó del proyecto OpenBSD el soporte para el protocolo CARP (Common Address Redundancy Protocol). CARP permite a múltiples nodos compartir un conjunto de direcciones IP, de modo que si uno de los nodos se cae, los otros nodos pueden seguir sirviendo las peticiones.

Almacenamiento 
FreeBSD tiene varias características únicas relacionadas con el almacenamiento. Las actualizaciones suaves pueden proteger la consistencia del sistema de ficheros UFS (ampliamente utilizado en los BSD) en caso de caída del sistema Las instantáneas del sistema de ficheros permiten crear de forma eficiente una imagen de un sistema de ficheros UFS en un instante de tiempo Las instantáneas permiten realizar copias de seguridad fiables de un sistema de ficheros activo. GEOM es un marco modular que proporciona RAID (niveles 0, 1, 3 actualmente), cifrado de disco completo, registro en diario, concatenación, almacenamiento en caché y acceso a almacenamiento respaldado por red. GEOM permite construir soluciones de almacenamiento complejas combinando ("encadenando") estos mecanismos FreeBSD proporciona dos marcos para el cifrado de datos: GBDE y Geli. Tanto GBDE como Geli operan a nivel de disco. GBDE fue escrito por Poul-Henning Kamp y se distribuye bajo la licencia BSD de dos cláusulas. Geli es una alternativa a GBDE que fue escrita por Pawel Jakub Dawidek y apareció por primera vez en FreeBSD 6.0.

A partir de la versión 7.0 FreeBSD soporta el sistema de ficheros ZFS. ZFS era anteriormente un sistema de archivos de código abierto desarrollado por Sun Microsystems, pero cuando Oracle adquirió Sun, ZFS se convirtió en un producto propietario. Sin embargo, el proyecto FreeBSD sigue desarrollando y mejorando su implementación de ZFS a través del proyecto OpenZFS.

Seguridad 
FreeBSD proporciona varias características relacionadas con la seguridad, incluyendo listas de control de acceso (ACLs), auditoría de eventos de seguridad, atributos extendidos del sistema de ficheros, controles de acceso obligatorios (MAC) y capacidades de grano fino Estas mejoras de seguridad fueron desarrolladas por el Proyecto TrustedBSD. El proyecto fue fundado por Robert Watson con el objetivo de implementar conceptos de Los Criterios Comunes para la Evaluación de la Seguridad de las Tecnologías de la Información y el Orange Book (Libro Naranja). Este proyecto está en marcha y muchas de sus extensiones se han integrado en FreeBSD. El proyecto cuenta con el apoyo de diversas organizaciones, como DARPA, NSA, Network Associates Laboratories, Safeport Network Services, la Universidad de Pensilvania, Yahoo!, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, el Laboratorio de Informática de la Universidad de Cambridge, etc..

El proyecto también ha portado la implementación FLASK/TE de la NSA de SELinux a FreeBSD. Otros trabajos incluyen el desarrollo de OpenBSM, una implementación de código abierto de la API del Módulo Básico de Seguridad (BSM) de Sun y el formato de archivo de registro de auditoría, que soporta un extenso sistema de auditoría de seguridad. Se distribuyó como parte de FreeBSD 6.2. Otros trabajos de infraestructura en FreeBSD realizados como parte del Proyecto TrustedBSD han incluido GEOM y OpenPAM.

La mayoría de los componentes del proyecto TrustedBSD acaban integrándose en las fuentes principales de FreeBSD. Además, muchas características, una vez completamente maduras, encuentran su camino en otros sistemas operativos. Por ejemplo, OpenPAM ha sido adoptado por NetBSD. Además, el marco MAC de TrustedBSD ha sido adoptado por Apple para macOS.

FreeBSD se distribuye con tres paquetes de cortafuegos diferentes: IPFW, pf e IPFilter. IPFW es el cortafuegos nativo de FreeBSD. pf fue tomado de OpenBSD e IPFilter fue portado a FreeBSD por Darren Reed.

Tomado de OpenBSD, el programa OpenSSH se incluyó en la instalación por defecto. OpenSSH es una implementación libre del protocolo SSH y es un sustituto de telnet. A diferencia de telnet, OpenSSH cifra toda la información (incluidos nombres de usuario y contraseñas).

En noviembre de 2012, el equipo de seguridad de FreeBSD anunció que hackers habían conseguido acceso no autorizado a dos servidores del proyecto. Estos servidores fueron apagados inmediatamente. Más investigaciones demostraron que el primer acceso no autorizado por parte de hackers se produjo el 19 de septiembre. Al parecer, los piratas informáticos accedieron a estos servidores robando las claves SSH de uno de los desarrolladores, no aprovechando un fallo del propio sistema operativo. Estos dos servidores hackeados formaban parte de la infraestructura utilizada para crear paquetes de software de terceros. El equipo de seguridad de FreeBSD comprobó la integridad de los paquetes binarios y anunció que no se habían realizado cambios no autorizados en ellos, pero declaró que no podía garantizar la integridad de los paquetes que se descargaron entre el 19 de septiembre y el 11 de noviembre.

Portabilidad 
FreeBSD ha sido portado a una gran variedad de arquitecturas de conjuntos de instrucciones.

Plataformas soportadas (ports) 
FreeBSD ha sido portado a las siguientes arquitecturas:

El soporte con ARM de 32 bits (incluido OTG) y MIPS está orientada principalmente a sistemas embebidos (AArch64 (ARM 65 bits) y también está orientada a servidores), sin embargo FreeBSD/ARM corre en un buen número de ordenadores de placa única, incluyendo el BeagleBone Black, Raspberry Pi y Wandboard.

Compatibilidad de hardware 
Los dispositivos compatibles están listados en las Notas de hardware de FreeBSD desde la versión 12.1 El documento describe los dispositivos que FreeBSD soporta actualmente. Es posible que otras configuraciones también funcionen, pero simplemente no han sido probadas todavía. En un repositorio de terceros hay disponibles listas de ids de dispositivos soportados extraídas automáticamente.

En 2020 se presentó un proyecto que recopila automáticamente información sobre configuraciones de hardware probadas en distribuciones GNU/Linux y distribuciones BSD, con el es caso de FreeBSD.

Software de terceros 

FreeBSD tiene un repositorio de software con más de 30.000 aplicaciones desarrolladas por terceros. Algunos ejemplos son: sistemas de ventanas, navegadores web, clientes de correo electrónico, suites ofimáticas, etc. En general, el propio proyecto no desarrolla este software, sólo el marco para permitir que estos programas se instalen, lo que se conoce como la Colección de Ports. Las aplicaciones pueden compilarse desde el código fuente (ports), siempre que los términos de la licencia lo permitan, o descargarse como binarios precompilados ("packages") La colección de Ports soporta las ramas actuales y estables de FreeBSD. Las versiones anteriores no están soportadas y pueden o no funcionar correctamente con una colección de Ports actualizada.

Los ports usan Makefiles para obtener automáticamente el código fuente de la aplicación deseada, ya sea de un repositorio local o remoto, desempaquetarlo en el sistema, aplicarle parches y compilarlo Dependiendo del tamaño del código fuente, la compilación puede llevar mucho tiempo, pero da al usuario más control sobre el proceso y su resultado. La mayoría de los ports también tienen paquetes homólogos (es decir, binarios precompilados), lo que permite al usuario elegir. Aunque este método es más rápido, el usuario tiene menos opciones de personalización.

La versión 10.0 de FreeBSD introdujo el gestor de paquetes pkg como sustituto de las herramientas de paquetes usadas anteriormente Es funcionalmente similar a apt y yum en las distribuciones Linux. Permite instalar, actualizar y eliminar tanto ports como paquetes. Además de pkg, PackageKit también se puede utilizar para acceder a la Colección de Ports.

Jails 

Introducidas por primera vez en la versión 4 de FreeBSD, las jaulas (jails) son un mecanismo de seguridad y una implementación de virtualización a nivel de sistema operativo que permite al usuario ejecutar múltiples instancias de un sistema operativo invitado sobre un sistema anfitrión FreeBSD. Es una versión mejorada del mecanismo chroot tradicional. Un proceso que se ejecuta dentro de una jaula de este tipo no puede acceder a los recursos que se encuentran fuera de ella. Cada jaula tiene su propio Hostname y dirección IP. Es posible ejecutar varias jaulas al mismo tiempo, pero el núcleo se comparte entre todas ellas. Por tanto, dentro de una jaula sólo puede ejecutarse software soportado por el kernel de FreeBSD.

Virtualización 

bhyve, una nueva solución de virtualización, se introdujo en FreeBSD 10.0. bhyve permite a un usuario ejecutar varios sistemas operativos invitados (FreeBSD, OpenBSD, Linux y Microsoft Windows) simultáneamente. Están previstos otros sistemas operativos como Illumos. bhyve fue escrito por Neel Natu y Peter Grehan y se anunció en la conferencia BSDCan de 2011 por primera vez. La principal diferencia entre bhyve y las jaulas de FreeBSD es que las jaulas son una virtualización a nivel de sistema operativo y, por lo tanto, están limitadas únicamente a invitados FreeBSD; pero bhyve es un hipervisor de tipo 2 y no está limitado únicamente a invitados FreeBSD A modo de comparación, bhyve es una tecnología similar a KVM mientras que las jaulas están más cerca de los contenedores LXC o Solaris Zones. Las instancias AMI de Amazon EC2 también están soportadas a través de amazon-ssm-agent.

Desde FreeBSD 11.0, ha habido soporte para ejecutarse como dominio privilegiado Dom0 para el hipervisor Xen tipo 1. El soporte para ejecutarse como DomU (invitado) ha estado disponible desde FreeBSD 8.0.

VirtualBox (sin el paquete de extensión de código cerrado) y QEMU están disponibles en FreeBSD.

Capas de compatibilidad de SO 
La mayor parte del software que se ejecuta en GNU/Linux puede ejecutarse en FreeBSD utilizando una capa de compatibilidad opcional incorporada llamada Linuxtator. Por tanto, la mayoría de los binarios de Linux pueden ejecutarse en FreeBSD, incluyendo algunas aplicaciones propietarias distribuidas únicamente en forma binaria. Esta capa de compatibilidad no es una emulación; la interfaz de llamada al sistema de GNU/Linux está implementada en el núcleo de FreeBSD y, por tanto, las imágenes ejecutables y las bibliotecas compartidas de GNU/Linux se tratan igual que las imágenes ejecutables y las bibliotecas compartidas nativas de FreeBSD. Además, FreeBSD proporciona capas de compatibilidad para otros sistemas operativos tipo Unix, además de GNU/Linux, como BSD/OS y SVR4, sin embargo, es más común que los usuarios compilen esos programas directamente en FreeBSD.

No se ha observado ninguna penalización notable en el rendimiento respecto a los programas nativos de FreeBSD cuando se ejecutan binarios de GNU/Linux, y, en algunos casos, éstos pueden incluso funcionar mejor que en GNU/Linux Sin embargo, la capa no es del todo perfecta, y algunos binarios de Linux son inutilizables o sólo parcialmente utilizables en FreeBSD. Hay soporte para llamadas al sistema hasta la versión 2.6.18, disponible desde FreeBSD 7.0. A partir de la versión 10.3, FreeBSD puede ejecutar binarios Linux de 64 bits.

FreeBSD ha implementado una serie de interfaces de núcleo NDIS nativas de Microsoft Windows para permitir a FreeBSD ejecutar controladores de red (de otro modo) exclusivos de Windows.

La capa de compatibilidad Wine, que permite ejecutar muchas aplicaciones de Windows, especialmente juegos, sin una copia (con licencia) de Microsoft Windows, está disponible para FreeBSD.

Núcleo 
El núcleo de FreeBSD proporciona soporte para algunas tareas esenciales como la gestión de procesos, comunicación, arranque y sistemas de ficheros. FreeBSD tiene un núcleo monolítico, con un diseño modular. Diferentes partes del kernel, como los controladores, están diseñadas como módulos. El usuario puede cargar y descargar estos módulos en cualquier momento. ULE es el planificador por defecto en FreeBSD desde la versión 7.1, soporta Multiprocesamiento simétrico (SMP) y Multihilo simultáneo SMT. El kernel FreeBSD tiene también una interfaz de notificación de eventos escalable, llamada kqueue. Ha sido portado a otros derivados de BSD como OpenBSD y NetBSD. El hilado del núcleo (Kernel threading) se introdujo en FreeBSD 5.0, usando un modelo de hilado M:N. Este modelo funciona bien en teoría, pero no es así; es difícil de implementar y pocos sistemas operativos lo soportan. Aunque la implementación de FreeBSD de este modelo funcionaba, no tenía un buen rendimiento, por lo que a partir de la versión 7.0 FreeBSD empezó a usar un modelo de threading 1:1, llamado libthr.

Documentación y soporte 
La documentación de FreeBSD consiste en sus manuales, páginas de manual, archivos de listas de correo, FAQs y una variedad de artículos, mantenidos principalmente por  The FreeBSD Documentation Project. La documentación de FreeBSD está traducida a varios idiomas Toda la documentación oficial se publica bajo la Licencia de documentación FreeBSD, "una licencia de documentación libre permisiva sin copyleft que es compatible con la GNU FDL" La documentación de FreeBSD se describe como "de alta calidad".

El proyecto FreeBSD mantiene varias listas de correo Entre las más populares se encuentran FreeBSD-questions (preguntas generales) y FreeBSD-hackers (un lugar para hacer preguntas más técnicas).

Desde 2004, la base de datos del New York City BSD Users Group proporciona información dmesg de una colección de ordenadores/computadores(as) (portátiles, estaciones de trabajo, ordenadores monoplaca, sistemas embebidos, máquinas virtuales, etc.) que ejecutan FreeBSD.

Instaladores 
FreeBSD desde la versión 2.0 hasta la 8.4 utilizó el programa sysinstall como instalador principal. Fue escrito en C por Jordan Hubbard. Utiliza una interfaz de usuario de texto, y está dividido en una serie de menús y pantallas que pueden utilizarse para configurar y controlar el proceso de instalación.

También se puede utilizar para instalar Ports y Paquetes como alternativa a la interfaz de línea de comandos.

La utilidad sysinstall se considera actualmente obsoleta en favor de bsdinstall, un nuevo instalador que se introdujo en FreeBSD 9.0. bsdinstall es "un sustituto ligero de sysinstall" que fue escrito en sh. Según OSNews, "ha perdido algunas características mientras que ha ganado otras, pero es un diseño mucho más flexible, y en última instancia será una mejora significativa".

Shell 
La shell por defecto de FreeBSD es la shell tcsh para root, y la shell Almquist shell (sh) para usuarios normales. La shell de scripting por defecto es la Almquist shell .

Desarrollo
FreeBSD es desarrollado por un equipo de voluntarios repartidos por todo el mundo. Los desarrolladores utilizan Internet para todas las comunicaciones y muchos no se han conocido en persona. Además de los grupos de usuarios locales patrocinados y a los que asisten los usuarios, USENIX celebra una conferencia anual, llamada BSDcon. BSDcon no es específica de FreeBSD, por lo que trata los aspectos técnicos de todos los sistemas operativos derivados de BSD, incluyendo OpenBSD y NetBSD. Además de BSDcon, otras tres conferencias anuales, EuroBSDCon, AsiaBSDCon y BSDCan tienen lugar en Europa, Japón y Canadá respectivamente.

Estructura de gobernanza

El Proyecto FreeBSD está dirigido por unos 500 committers o desarrolladores que tienen acceso a los repositorios maestros de código fuente y pueden desarrollar, depurar o mejorar cualquier parte del sistema. La mayoría de los desarrolladores son voluntarios y unos pocos son pagados por algunas empresas. Hay varios tipos de committers, incluyendo committers de código fuente (sistema operativo base), doc committers (documentación y autores de sitios web) y ports (portabilidad de aplicaciones de terceros e infraestructura). Cada dos años los committers de FreeBSD eligen un Core Team de FreeBSD formado por 9 miembros, que es responsable de la dirección general del proyecto, de establecer y hacer cumplir las reglas del proyecto y de aprobar a los nuevos committers, o la concesión de acceso commit a los repositorios de código fuente. El equipo central de FreeBSD asigna oficialmente una serie de responsabilidades a otros equipos de desarrollo, por ejemplo, la responsabilidad de gestionar la colección de ports se delega en el equipo de gestión de ports..

Además de desarrolladores, FreeBSD cuenta con miles de "contribuidores". Los contribuidores son también voluntarios ajenos al proyecto FreeBSD que envían parches para que sean considerados por los committers, ya que no tienen acceso al repositorio de código fuente de FreeBSD. Los committers evalúan los envíos de los contribuidores y deciden qué aceptar y qué rechazar. A los colaboradores que envían parches de alta calidad se les suele pedir que se conviertan en committers.

Ramas
Los desarrolladores de FreeBSD mantienen al menos dos ramas de desarrollo simultáneas.

La rama -CURRENT siempre representa el "bleeding edge" del desarrollo de FreeBSD.
Se crea una rama -STABLE de FreeBSD para cada número de versión mayor, de la que se corta -RELEASE aproximadamente una vez cada 4-6 meses. Si una característica es lo suficientemente estable y madura es probable que sea Backportada (MFC o Merge from CURRENT en el argot de los desarrolladores de FreeBSD) a la rama -STABLE.

FreeBSD Foundation

El desarrollo de FreeBSD está apoyado en parte por la Fundación FreeBSD. La fundación es una organización sin ánimo de lucro que acepta donaciones para financiar el desarrollo de FreeBSD. Dichos fondos se han utilizado para patrocinar a desarrolladores para actividades específicas, comprar hardware e infraestructura de red, proporcionar becas de viaje a cumbres de desarrolladores y proporcionar apoyo legal al proyecto FreeBSD.

En noviembre de 2014, la Fundación FreeBSD recibió una donación de 1 millón de dólares de Jan Koum, cofundador y CEO de WhatsApp, la mayor donación individual a la Fundación desde su creación. En diciembre de 2016, Jan Koum donó otros 500.000 dólares. El propio Jan Koum es usuario de FreeBSD desde finales de los 90 y WhatsApp utiliza FreeBSD en sus servidores.

Licencia 
FreeBSD se publica bajo diversas licencias de código abierto. El código del núcleo y la mayoría del código de nueva creación se liberan bajo la Licencia BSD de dos cláusulas que permite a todo el mundo usar y redistribuir FreeBSD como desee. Esta licencia fue aprobada por Free Software Foundation y Open Source Initiative como licencia de Software Libre y de Código Abierto respectivamente. 

La Free Software Foundation describe esta licencia como "una licencia de software libre laxa, permisiva y sin copyleft, compatible con la GNU GPL". Hay partes liberadas bajo licencias BSD de tres y cuatro cláusulas, así como la licencia Beerware. Algunos controladores de dispositivos incluyen un blob binario, como el Atheros HAL de las versiones de FreeBSD anteriores a la 7.2. Parte del código aportado por otros proyectos está licenciado bajo GPL, LGPL, CDDL y ISC. Todo el código licenciado bajo GPL y CDDL está claramente separado del código bajo licencias liberales, para facilitar a usuarios como los fabricantes de dispositivos embebidos el uso de sólo licencias de software libre permisivass. ClangBSD pretende reemplazar algunas dependencias GPL del sistema base FreeBSD sustituyendo la GNU Compiler Collection por el compilador LLVM/Clang con licencia BSD. ClangBSD se convirtió en autoalojamiento el 16 de abril de 2010.

Logo 
Durante muchos años el logo de FreeBSD fue el genérico BSD Daemon, también llamado Beastie, una pronunciación distorsionada de BSD. Sin embargo, Beastie no era exclusivo de FreeBSD. Apareció por primera vez en 1976 en camisetas de Unix compradas por Bell Labs, y las versiones más populares del demonio BSD fueron dibujadas por el director de animación John Lasseter a partir de 1984. Varias versiones específicas de FreeBSD fueron dibujadas posteriormente por Tatsumi Hosokawa.

En términos litográficos, el gráfico de Lasseter no es line art y a menudo requiere un proceso de impresión photo offset tramado y en cuatricromía para su reproducción fiel en superficies físicas como el papel. Además, se creía que el demonio BSD era demasiado detallado gráficamente para escalar su tamaño sin problemas y que estéticamente dependía en exceso de múltiples gradaciones de color, lo que dificultaba su reproducción fiable como logotipo simple y estandarizado en sólo dos o tres colores, y mucho menos en monocromo. Debido a estas preocupaciones, se convocó un concurso y el 8 de octubre de 2005 se publicó un nuevo logotipo diseñado por Anton K. Gural, que seguía haciéndose eco del demonio BSD. Sin embargo, fue anunciado por Robert Watson que el proyecto FreeBSD está "buscando un nuevo logotipo, pero no una nueva mascota" y que el proyecto FreeBSD seguiría usando a Beastie como mascota.

El nombre "FreeBSD" fue acuñado por David Greenman el 19 de junio de 1993, otros nombres sugeridos fueron "BSDFree86" y "Free86BSD". El eslogan de FreeBSD, "El poder de servir", es una marca registrada de la Fundación FreeBSD..

Derivados de FreeBSD

Existen varias distribuciones de software basadas en FreeBSD. Entre las derivadas más destacadas están:

De propósito amplio 
 DesktopBSD, sistema operativo orientado al escritorio, basado originalmente en KDE
 TrueNAS, para dispositivos de almacenamiento conectado a la red
 FreeSBIE, Live CD
 GhostBSD, distribución basada en MATE, que también ofrece otros entornos de escritorio
 MidnightBSD
 NanoBSD
 PicoBSD
 IntelliStar, sistema de satélite que emite programas de televisión como Weatherscan y Local On The 8s
 m0n0wall, (cortafuegos)
 OpenServer 10, (servidor)
 OPNsense, (cortafuegos)
 pfSense, (cortafuegos)
 TrueOS, anteriormente conocido como PC-BSD (dirigido a usuarios domésticos y estaciones de trabajo, pero con una versión de servidor similar a FreeNAS y TrueOS pico para ARM dispositivos embebidos de 32 bits).
 TrustedBSD
 XigmaNAS, para dispositivos de almacenamiento conectado a la red

Todas estas distribuciones no presentan cambios, o éstos son mínimos, en comparación con el sistema base original de FreeBSD. La principal diferencia con el FreeBSD original es que vienen con software preinstalado y preconfigurado para casos de uso específicos. Esto puede compararse con las distribuciones Linux, que son todas compatibles bíblicamente porque usan el mismo kernel y también usan las mismas herramientas básicas, compiladores y bibliotecas aunque vienen con diferentes aplicaciones, configuraciones y marcas.

Además de estas distribuciones, existen algunos sistemas operativos independientes basados en FreeBSD. DragonFly BSD es un fork de FreeBSD 4.8 con una estrategia de sincronización multiprocesador diferente a la elegida para FreeBSD 5 y el desarrollo de algunas características del microkernel. No pretende ser compatible con FreeBSD y tiene grandes diferencias en el kernel y en userland básico. MidnightBSD es un fork de FreeBSD 6.1 que toma prestado mucho de NeXTSTEP, particularmente en el departamento de interfaz de usuario.

Darwin, el núcleo macOS de Apple, incluye un sistema de archivos virtual y una pila de red derivados de los de FreeBSD, y componentes de su espacio de usuario también son derivados de FreeBSD.

Algunos servicios de suscripción que se basan directamente en FreeBSD son:

 WhatsApp procesa 2 millones de conexiones TCP concurrentes por servidor.

Para Dispositivos embebidos 
Los dispositivos embebidos y los sistemas operativos para dispositivos embebidos basados en FreeBSD incluyen:
Junos OS, sistema operativo para enrutadores de Juniper.
OneFS OS, el sistema operativo de Dell EMC Isilon.
Data ONTAP 8.x de NetApp y el ahora sustituido ONTAP GX (sólo como cargador para un módulo propietario del espacio del núcleo).
Open Connect Appliance de Netflix para gestionar la entrega de contenidos.
 La PlayStation 4 ("Orbis OS")
 PanFS, sistema de archivos paralelo de Panasas
 pfSense, un sistema operativo de cortafuegos, enrutador y dispositivo de seguridad de código abierto.

Galería de Derivados de FreeBSD

Tabla de Versiones

Línea de tiempo de FreeBSD 

La línea temporal muestra que una generación de FreeBSD dura alrededor de 5 años. Dado que el proyecto FreeBSD se esfuerza por conseguir compatibilidad binaria hacia atrás (y limitada hacia adelante) dentro de la misma generación de releases, esto permite a los usuarios más de 5 años de soporte, con actualizaciones triviales o sencillas dentro de la misma generación de lanzamientos.

Véase también 

 BSD
 NetBSD
 OpenBSD
 Distribuciones basadas en FreeBSD
 Pfsense, RouterOS, firewall router basado en FreeBSD
 FreeNAS
 FreeSBIE, un LiveCD basado en FreeBSD
 DragonFlyBSD
 DesktopBSD
 PC-BSD
 OpenSolaris
 Anexo:Lista de productos basados en FreeBSD
 Historial de versiones de FreeBSD
 DPorts

Referencias

Enlaces externos 

 Sitio oficial del Proyecto FreeBSD(inglés)
 Sitio oficial del Proyecto FreeBSD(español)
 FreeBSD promete competir con Linux en el escritorio. Entrevista de mayo de 2006 a desarrolladores de FreeBSD 
 FreeBSD, un secreto bien guardado artículo sobre los orígenes y características de FreeBSD.
 Design Elements of the FreeBSD VM System - Describe ampliamente el funcionamiento de la memoria en FreeBSD 
Estado de soporte de arquitecturas de ordenador. 

FreeBSD
Sistemas operativos ARM
Distribuciones BSD
Sistemas operativos libres
Sistemas operativos
Sistemas Unix-like ligeros
Plataforma (informática)
Sistemas operativos para servidores