Tanto Linux como las diferentes BSD (Berkeley Software Distributions) son libres y de código abierto, con más cosas en común que diferencias. Con esto en mente, usted puede preguntarse, «Si son tan similares, entonces ¿por qué existen? ¿No sería mejor tener un único sistema operativo entre el que elegir?»
Puedo responder a esta pregunta mencionando también que sus diferencias son también enormes. Tanto que abarcarlas todas convertiría este artículo en un libro y no en un simple artículo. En su lugar, me centraré en los aspectos básicos de ambos sistemas de código abierto para que puedas elegir por ti mismo cuál es la mejor opción.
Linux vs BSD
Linux no se considera técnicamente un sistema operativo. En cambio, en realidad, es sólo un núcleo. Un kernel es el aspecto central de cualquier sistema operativo que existe y se encuentra en algún lugar entre el software y el hardware.
Esto permite que el núcleo ayude al usuario a aprovechar los recursos disponibles dentro de un sistema. El sistema operativo en sí está construido sobre el kernel.
El Kernel vs El Sistema Operativo
Tanto Linux como los BSD son sistemas operativos tipo Unix. Cuando se instala Linux, se está instalando una distribución que se construye utilizando el kernel de Linux. Hay bastantes distribuciones entre las que elegir, como Ubuntu y Debian, que utilizan el núcleo de Linux. Diferentes programas se incrustan en el kernel antes de poner la distribución a disposición del mercado.
BSD, a diferencia de Linux, es un sistema operativo completo. BSD es también un kernel, utilizado como núcleo del sistema operativo. Los desarrolladores de BSD utilizarán ese núcleo para añadir diferentes tipos de programas, poniéndolos a disposición de los usuarios como una distribución completa. Esto significa que un sistema operativo BSD, como FreeBSD o NetBSD, es el kernel más cualquier programa añadido sobre él y distribuido como un único paquete descargable.
Los BSD utilizan algo llamado sistema de puertos. Este sistema es el que permite la instalación de paquetes de software. El software se mantiene en forma de código fuente, lo que significa que su ordenador tendrá que compilar los datos cada vez antes de que el software se ejecute.
Un aspecto positivo de esto es que los paquetes pueden instalarse en un estado binario preinstalado que permite a su sistema prescindir del paso de compilación de datos previo a la ejecución.
La diferencia básica entre ambas es que las distribuciones de Linux vienen con diferentes conjuntos de programas y repositorios, lo que permite al usuario descargar diferentes programas adicionales pertenecientes a los requisitos de la distribución.
Cuando se instala un sistema operativo BSD, sólo se obtienen los programas que éste ofrece. Esto no es cierto para los paquetes de software ya que están disponibles para ambos como descubrirá.
Diferencias en las licencias
A la mayoría de la gente puede no importarle pero la diferencia en las licencias es realmente significativa. Linux utiliza la licencia pública general de GNU, o GPL. Esto significa que los desarrolladores pueden modificar o añadir nuevas características al núcleo de Linux a su antojo. La única pega es que todo el código fuente recién desarrollado debe ser liberado al público, lo quieran o no.
Los BSD utilizan su propia y única licencia BSD que permite a los desarrolladores modificar y añadir nuevas características al núcleo o a la distribución BSD, sin necesidad de liberar el código fuente. Esto significa que un BSD de código abierto puede ser declarado de código cerrado si el desarrollador así lo desea. No tienen ninguna obligación de liberar el código fuente a nadie.
Disponibilidad del software &Compatibilidad
Este es el tipo de cosas que tiene una influencia directa en la popularidad y adaptabilidad de un sistema operativo al público en general. La capacidad de un sistema operativo que es compatible con el software de hoy en día puede ser una característica de hacer o romper para la mayoría de la gente.
En lo que respecta a Linux, es más fácil para los desarrolladores escribir código que pueda ponerse a disposición de los usuarios en paquetes binarios precompilados para su instalación. Los paquetes pueden instalarse mediante apt, yum y otros gestores de paquetes similares. La naturaleza de código abierto de Linux es lo que facilita esta posibilidad.
Para los usuarios de BSD, la tarea no es tan sencilla. Los usuarios tendrán que descargar los códigos fuente de los programas de los miles de ports disponibles. Luego, una vez descargados los códigos fuente, tendrían que compilarlos en su sistema.
Esto crea un dolor de cabeza tanto para los usuarios de BSD como para los desarrolladores, ya que la falta de popularidad entre los usuarios en general puede atribuirse a la molestia extra de compilar los códigos fuente. Los paquetes binarios precompilados pueden verse como la única gracia salvadora para erradicar la molestia, pero todavía se queda corta en la disponibilidad de programas de aplicaciones.
Elegir una opción
Linux es sin duda la opción más popular entre los sistemas operativos de código abierto basados en Unix. Tiende a obtener soporte de hardware mucho más rápido de lo que lo haría un BSD y para la mayoría de los propósitos generales, ambos sistemas son demasiado similares para importar.
Ambos sistemas tienen su propio conjunto de ventajas. Si echamos un vistazo a FreeBSD, el equipo de desarrollo mantiene su propia versión de un gran número de herramientas comunes. Esto permite a los desarrolladores crear sus propias variantes de herramientas para utilizarlas en su sistema. Las herramientas de los sistemas Linux son proporcionadas principalmente por la suite GNU, por lo que las variaciones son menos probables.
BSD tiene una grave carencia de aplicaciones. Esto ha llevado a los desarrolladores a intentar controlar la situación creando un paquete de compatibilidad con Linux, permitiendo que las aplicaciones de Linux se ejecuten en BSD. Las distribuciones de Linux no tienen problemas reales con las aplicaciones ya que hay muchas disponibles para el público.
La verdadera complicación es el argumento del código libre.
Desarrolladores &Usuarios vs. Restricciones
La licencia GPL de Linux tiende a ser más estricta con los desarrolladores, obligando a liberar todo el código fuente modificado. Los desarrolladores de BSD, en cambio, no tienen esas restricciones. Lo que hay que tener en cuenta es lo que el público no desarrollador obtiene de todo esto.
Los fabricantes pueden optar por BSD como su sistema operativo de elección al crear nuevos dispositivos en lugar de Linux. Esto les permitiría mantener las modificaciones del código para sí mismos, ya que el uso de Linux habría venido con la estipulación de liberar el código fuente al público.
Las restricciones establecidas en Linux por su licencia proporcionan a aquellos que buscan aplicaciones para el sistema una garantía de que si se hace una, tendrán acceso a ella. La licencia BSD permite a sus desarrolladores la opción de ser codiciosos y mantener un silencio absoluto sobre las modificaciones del núcleo y del sistema, lo que significa que incluso si se hace algo, el público en general puede no tener ni idea de su existencia.
Los sistemas BSD han adquirido una mejor reputación de fiabilidad que su homólogo Linux. Esto pone un punto en el marcador para BSD. También es capaz de ejecutar binarios de Linux y reclama un repositorio central. Ambas cosas por las que Linux no es conocido.