Linux, como derivación de Unix, naturalmente tiene mucho en común con los BSD. Al igual que BSD, las distribuciones de Linux también son gratuitas y de código abierto. A pesar de las similitudes fundamentales, Linux ha eclipsado en gran medida a BSD en popularidad, con más del 74% de los teléfonos inteligentes modernos basados en Linux.
Entonces eso plantea la pregunta: si BSD y Linux son solo iteraciones de la investigación unix, lo que los hace diferentes?
Bueno, las diferencias entre las dos mentiras en los fundamentos, y las diferencias son muchas. Pero leerlos todos en una sola publicación sería bastante tedioso para los lectores. Por lo tanto, esta publicación se centrará únicamente en los fundamentos y dejará los intrincados detalles en aras de la brevedad y para no intimidar a los nuevos lectores.
Pero que es Linux, realmente?
Lo primero que muchas personas se equivocan es que Linux es un núcleo, no un sistema operativo. Entonces eso lo hace solo una parte del sistema operativo, no el sistema operativo en sí.
Discutamos los núcleos por un segundo. Los núcleos sirven como pivote en cualquier sistema operativo, ya que conserva todo el código subyacente en el que se encuentra ese sistema operativo. Habilita y agiliza la interacción entre los componentes de hardware y software de un sistema, administra sus solicitudes de entrada/salida hacia y desde las aplicaciones de software, y es responsable de manejar los dispositivos de hardware también.
En resumen, un núcleo es la característica más integral de cualquier sistema operativo en el que se basa y, por lo tanto, se retrae a una parte altamente protectora en la memoria del sistema donde se niegan todas y cada una de las solicitudes de acceso de las aplicaciones, se prohiben algunos que son integrales a la operación del sistema.
Ahora que entendemos qué es un núcleo, podemos seguir adelante y ver lo que Linux, como núcleo, hace en el sistema operativo.
Núcleo de Linux dentro de un sistema operativo
Entre los sistemas operativos más populares basados en Linux se encuentran Debian, Ubuntu, Fedora y Deepin. Entonces, cada vez que escuchas a alguien decir que usa Linux, sé que en realidad es una de estas distribuciones. Estas distribuciones están "basadas en Linux" porque se basan en el kernel de Linux. Los ajustes al núcleo junto con las nuevas aplicaciones cargadas en él hacen que cada distribución sea diferente de otra.
¿Qué es BSD y cómo es diferente de Linux??
Como se mencionó anteriormente, las diferentes distribuciones de BSD son todos los sistemas operativos. Y eso hace que BSD, como Linux, sea un kernel.
Pero para complicar las cosas, BSD también es un sistema operativo independiente, que Linux no es. Expliquemos cómo exactamente.
Para las distribuciones BSD, se agregan varios programas al núcleo BSD. Esta combinación se lanza como un paquete completo y completo que debe instalarse y la cosa está lista para usar. Entonces, la diferencia central entre las distribuciones BSD como FreeBSD, OpenBSD, etc., se debe a los programas agregados al sistema operativo del núcleo. Para descargar paquetes de software adicionales, los usuarios de BSD usan el sistema de puertos, que mantiene estos paquetes en formulario de origen. El código fuente es compilado por el sistema cada vez que se inicia el software. Si bien esto puede resultar engorroso, especialmente cuando se ejecutan códigos más largos, más intrincados, los sistemas BSD pueden omitir el paso de compilación en cada lanzamiento por completo si el programa está instalado en un estado binario, aliviando así el proceso en gran medida.
Linux es diferente de BSD en el sentido de que cada una de sus distribuciones utiliza programas completamente diferentes, y las distribuciones no tienen un repositorio centralizado para paquetes de software, ya que cada distribución tiene su propio repositorio.
Diferencias en la licencia
Una de las diferencias fundamentales entre BSD y Linux es la del sistema de licencias bajo el cual se liberan sus distribuciones.
Cuando descarga software desde el repositorio de puertos en BSD o instala una distribución en su conjunto, el software o distribución se le asigna bajo la licencia BSD, que es un sistema de licencia personalizado empleado por los desarrolladores de BSD. Si bien BSD es completamente abierto y gratuito a partir de ahora, el sistema de licencias BSD permite a los desarrolladores declarar BSD de código cerrado en cualquier momento. Como usuario de FreeBSD, no tiene derecho legalmente a más lanzamientos de BSD Devs. Sin embargo, los desarrolladores de BSD han hecho público que tienen toda la intención de mantenerlo de código abierto en el futuro.
Las distribuciones de Linux se lanzan bajo la Licencia Pública General de GNU (GPL). Bajo este sistema de licencias, los desarrolladores de Linux están legalmente obligados a lanzar cada instancia de cambios realizados en el núcleo de Linux. El sistema de licencias, en esencia, se asegura de que Linux permanezca de código abierto, sin importar los cambios que se realicen al núcleo mismo.
¿Por qué Linux es más popular?? (Spoilers: disponibilidad de software)
Si te has estado preguntando todo el tiempo por qué no has oído hablar de BSD tanto como escuchas sobre las distribuciones de Linux, aquí está por qué: cuando se trata de compatibilidad de software, Linux lo saca directamente del parque. Para cada software, hay una versión compatible con Linux. Este no es el caso de FreeBSD, que permanece en gran medida descuidado por esa razón.
El núcleo de Linux hace que la escritura y la distribución de programas de software sean más simples en comparación con otros núcleos, por lo que los desarrolladores están naturalmente inclinados a trabajar hacia las versiones de Linux. La distribución, especialmente, se hace aún más fácil por el sistema de paquetes binarios preinstalados que facilita. Linux permite descargar e instalar paquetes de software a través de administradores de paquetes como APT, YUM, Pacman, etc.
En comparación con la distribución de software en Linux, los usuarios de BSD lo tienen mucho difícil. Los paquetes de software se descargan primero como códigos de origen en BSD a través del sistema de puertos. Estos códigos fuente se compilan cada vez que se lanzan, un proceso que requiere mucho tiempo y frustrante en la era moderna donde se instala el software con el clic de un botón. Esto es igualmente frustrante para los desarrolladores, ya que tienen que esforzarse mucho para hacer compilar lo más rápido posible.
Aunque la introducción de paquetes binarios precompilados ha mitigado en gran medida el proceso de obtener software en FreeBSD, la disponibilidad de software sigue siendo un problema enorme para BSDS.
Elegir entre Linux y BSD
Además de las ventanas más convencionales, las distribuciones de Linux son saltos y límites por delante de cualquier otro sistema operativo. Es gratuito, de código abierto y tiene todo lo que ofrecer que FreeBSD tiene, sin las advertencias.
BSD y Linux son mucho más comunes de lo que son diferentes, con la licencia y la distribución de software son las únicas diferencias básicas. Aún así, a pesar de las similitudes, usar una es una compensación de otra.
Por un lado, FreeBSD mantiene una biblioteca de herramientas y dependencias en todas las distribuciones, lo que facilita que los desarrolladores iteraran los contenidos y elaborar aplicaciones propias. Aquí es donde FreeBSD tiene una ventaja considerable sobre Linux, ya que la suite GNU incluida con Linux no permite esto.
Pero, por otro lado, la falta de compatibilidad y disponibilidad de software obstaculiza severamente la experiencia con FreeBSD. Este problema se puede resolver utilizando el paquete de compatibilidad de Linux, que permite que el software de Linux se ejecute en distribuciones BSD, pero este es un paso adicional que aún obstaculiza la experiencia, sin embargo.
En cuanto a la licencia, la licencia de Linux GPL es mucho más restrictiva que la licencia de BSD. Los desarrolladores o usuarios no pueden hacer variaciones en el kernel de Linux o SourCecode sin hacerlo público. Los usuarios de BSD no tienen tales obligaciones; Por lo tanto, los desarrolladores deben al menos probar BSD. Poder mantener el código fuente privado es una ventaja considerable que Linux no proporciona.
La licencia para distribuciones de Linux está sesgada a favor de los usuarios, ya que confirma que cualquier desarrollo hecho para mejorar las aplicaciones para el sistema estará disponible para los usuarios. La licencia BSD, por otro lado, es más similar a la licencia estándar, lo que permite a los usuarios instalar BSD de forma gratuita pero no mantener a los desarrolladores para que su contenido sea público.
Nuestra recomendación
Recomendamos una distribución de Linux si la va a usar para fines generales. Su compatibilidad de software es una razón suficiente para que lo recomendemos. Sin embargo, si es un fabricante, BSD es la opción correcta para usted. Tiene un repositorio centralizado para el software y está bien reputado por su confiabilidad. Y en lo que respecta a la licencia de BSD, no tendrá que preocuparse por hacer que su trabajo sea de código abierto.
Si ha optado por el kernel de Linux, recomendamos usar Ubuntu. Se actualiza regularmente cada seis meses, una consistencia que, en mi opinión, logra un gran equilibrio entre mantenerse al día con problemas de seguridad y no frustrar a los usuarios.
Y si elige ir con el núcleo BSD, recomendamos FreeBSD, que en general es la distribución de BSD más utilizada.