4. Comparemos BSD y Linux

De manera que, ¿cuál es la diferencia entre, digamos, Debian Linux y
FreeBSD? Para el usuario avanzado la diferencia es sorprendentemente
pequeña: ambos son sistemas operativos tipo UNIX. Ambos son desarrollados
por proyectos no comerciales (ésto, por supuesto, no es aplicable a la
mayoría del resto de distribuciones de Linux). En el siguiente apartado
tomaremos BSD como punto de partida y lo compararemos con Linux. La
descripción se ajusta más a FreeBSD, que posée aproximadamente el 80% de los
sistemas BSD instalados, pero las diferencias con NetBSD y OpenBSD son
pequeñas.
 4.1. ¿Quién posée BSD?

Ninguna persona o empresa posée BSD. Su creación y distribución es obra de
una comunidad de voluntarios altamente cualificados y comprometidos a lo
largo y ancho del mundo. Algunos de los componentes de BSD son proyectos de
Código Abierto que cuentan con responsables ajenos al proyecto BSD.
 4.2. ¿Cómo se desarrolla y actualiza BSD?

Los kernel BSD son desarrollados y actualizados siguiendo el modelo de
desarrollo de Código Abierto. Cada proyecto mantiene un *árbol de
fuentes*accesible públicamente mediante un “Sistema
Concurrente de Versiones” <http://www.sourcegear.com/CVS/> (Concurrency
Versions System, CVS), que contiene todos los ficheros fuente del proyecto,
incluídos los de la documentación y otros ficheros relacionados. CVS permite
a los usuarios “hacer un check out” (en otras palabras, extraer una copia)
de los ficheros que componen la versión elegida del sistema.

Un gran número de desarrolladores de muy diversas partes del mundo
contribuye con mejoras a BSD. Estan divididos en tres categorías:

   -

   *Contributors* son aquellos que escriben código o documentación. No se
   les permite “hacer commit” (es decir, añadir código) directamente al árbol
   de fuentes. Para que su código sea incluído en el sistema debe ser
revisado
   y probado por un desarrollador registrado. Un/a *committer*.
   -

   *Committers* son desarrolladores que disponen de acceso de escritura en
   el árbol de fuentes. Para convertirse en committer es necesario demostrar
   habilidad en el área en la cual él o ella trabaja.

   Depende del criterio individual de cada committer cuándo pedir
   autorización antes de hacer cambios en el árbol de fuentes. En general un
   committer experimentado puede incluír cambios que son obviamente correctos
   sin necesidad de consenso. Por ejemplo, un/a committer que trabaje en un
   proyecto de documentación puede corregir errores tipográficos o
gramaticales
   sin necesidad de revisión. Por otra parte, se espera de desarrolladores
que
   pretendan realizar cambios de gran calado o complicados que envíen sus
   cambios para que sean revisados antes de ser incluídos. En casos
extremos un
   miembro del “core team” con una función como la del Principal Architect
   puede pedir que los cambios sean retirados del árbol; es lo que llamamos
   *backing out*. Todos los/las committers reciben un correo electrónico
   acerca de cada cambio concreto en el árbol de fuentes así que no es
posible
   hacerlo en secreto.
   -

   El *Core team*. Tanto FreeBSD como NetBSD disponen de un “core team” que
   coordina el proyecto. Los “core team” dirigen el rumbo de los proyectos
pero
   sus funciones no siempre están claras. No es necesario ser desarrollador
   para ser un miembro de un “core team” pero suele ser lo habitual. Las
normas
   de un “core team” varían de un proyecto a otro pero en general tienen más
   influencia sobre la dirección del proyecto.

Éte sistema difiere del de Linux en algunos aspectos:

   1.

   Nadie posée el principio de autoridad. En la práctica eso es muy
   relativo, puesto que el “Chief Architect” puede solicitar que cierta
entrada
   del árbol de fuentes sea eliminada e incluso en el proyecto Linux a
ciertas
   personas les está permitido hacer cambios.
   2.

   Por otra parte *hay* un repositorio central, un único lugar donde
   encontrar las fuentes del sistema operativo íntegro, incluyendo todas las
   versiones anteriores.
   3.

   Los BSD mantienen el “Sistema Operativo” completo, no únicamente el
   kernel. Ésta distinción es válida únicamente como definición puesto que ni
   BSD ni Linux son útiles sin aplicacionesr: las aplicaciones que se usan en
   BSD suelen ser las mismas que las que se usan en Linux.
   4.

   Como resultado del mantenimiento estructurado de un único árbol de
   fuentes mediante CVS el desarrollo de BSD es limpio y es posible acceder a
   cualquier versión del sistema por su número de versión o por la fecha. Del
   mismo modo CVS permite actualizaciones incrementales del sistema: por
   ejemplo el repositorio de FreeBSD es actualizado en torno a 100 veces al
   día, aunque la mayoría de esos cambios son pequeños.

 4.3. Versiones de BSD

Cada proyecto BSD pone a disposición pública tres “releases” (versiones)
distintas. Igual que en Linux, las “releases ” tienen asignado un número
como por ejemplo 1.4.1 ó 3.5. Además el número de versión tiene un sufijo
que indica su propósito:

   1.

   La versión de desarrollo del sistema recibe el nombre de *CURRENT*.
   FreeBSD asigna un número a CURRENT, por ejemplo FreeBSD 5.0-CURRENT.
NetBSD
   utiliza un sistema ligeramente diferente y añade un sufijo compuesto
por una
   única letra que indica cambios en las interfaces internas, por ejemplo
   NetBSD 1.4.3G. OpenBSD no asigna ningún número ("OpenBSD-current"). Ésta
   rama es la que incluye todo el desarrollo.
   2.

   A intervalos regulares, entre dos y cuatro veces al año, los proyectos
   liberan una versión *RELEASE* del sistema, que está disponible en CD-ROM
   y mediante FTP para su descarga gratuíta, por ejemplo OpenBSD
2.6-RELEASE o
   NetBSD 1.4-RELEASE. La versión RELEASE está dirigida al usuario final y es
   la versión “estándar ” del sistema. NetBSD también dispone de *patch
   releases* que incluyen un tercer dígito, como por ejemplo NetBSD 1.4.2.
   3.

   A medida que se van encontrando errores en la versión RELEASE son
   corregidos y las soluciones son incluídas en el árbol CVS. En FreeBSD la
   versión resultante se denomina versión *STABLE*, mientras que en NetBSD y
   OpenBSD continúa siendo la versión RELEASE. Nuevas características más
   pequeñas pueden ser añadidas en ésta rama tras un período de pruebas en la
   rama CURRENT.

*Linux, en cambio, mantiene dos árboles de código separados: la versión
estable y la versión de desarrollo. Las versiones estables añaden un número
par de versión, como 2.0, 2.2 ó 2.4. Las versiones de desarrollo añaden un
número impar, como en 2.1, 2.3 ó 2.5. En ambos casos a ese número se le
añade otro más que indica la versión exacta. Por si fuera poco cada
distribuidor añade sus propios programas y aplicaciones de entorno de
usuario, así que el número de versión es importante. Cada distribuidor
además asigna números de versión a la distribución, así pues la descripción
completa podría ser algo como “TurboLinux 6.0 with kernel 2.2.14”*
 4.4. ¿Cuántas versiones de BSD existen?

A diferencia de las numerosas distribuciones de Linux tan sólo hay tres BSD
libres. Cada proyecto BSD mantiene su propio árbol de fuentes y su propio
kernel. En la práctica, sin embargo, las diferencias en el entorno de
usuario (“userland”) entre los distintos BSD son menores que las que hay en
Linux.

Es difícil enumerar los objetivos de cada proyecto puesto que las
diferencias son muy subjetivas. En general,

   -

   FreeBSD tiene como meta ofrecer alto rendimiento y facilidad de uso al
   usuario final y es uno de los favoritos entre proveedores de contenidos
web.
   Funciona en PC y en procesadores Alpha de Compaq. El proyecto FreeBSD
cuenta
   con un número de usuarios significativamente mayor que los otros
proyectos.
   -

   NetBSD tiene como meta la Portabilidad: No en vano su lema es “of course
   it runs NetBSD” (que podría traducirse como “claro que funciona con
   NetBSD”). Funciona en máquinas que abarcan desde PDAs a grandes
servidores e
   incluso ha sido usado por la NASA en misiones espaciales. Es una excelente
   elección para utilizar viejo hardware no Intel.
   -

   OpenBSD tiene como meta la seguridad y la integridad del código: combina
   del concepto de código abierto y una revisión rigurosa del código que dan
   como fruto un sistema muy correcto, elegido por instituciones preocupadas
   por la seguridad como bancos, entidades de cambio y departamentos
   gubernamentales de los EEUU. Al igual que NetBSD funciona en gran variedad
   de plataformas.

Existen dos sistemas operativos BSD más que no son de código abierto, BSD/OS
y el MacOS X de Apple:

   -

   BSD/OS es el derivado más antíguo de 4.4BSD. No es código abierto pero es
   posible conseguir licencias de su código fuente a un precio relativamente
   bajo. Se parece a FreeBSD en muchos aspectos.
   -

   Mac OS X <http://www.apple.com/macosx/server/> es la última versión del
   sistema operativo para la gama Macintosh de Apple Computer
Inc.<http://www.apple.com/>El núcleo BSD Unix de éste sistema
operativo,
   Darwin <http://developer.apple.com/darwin/>, está libremente disponible
   como sistema operativo de fuente abierto totalmente funcional para
   arquitecturas x86 y PPC. El sistema gráfico Aqua/Quartz y la mayoría de
las
   demás aspectos característicos de Mac OS X son código cerrado. Varios
   desarrolladores de Darwin son también “committers” de FreeBSD y viceversa.

 4.5. ¿Qué diferencias hay entre la licencia BSD y la licencia pública GNU?

Linux está disponible bajo la GNU General Public
License<http://www.fsf.org/copyleft/gpl.html>(GPL), que fué diseñada
para evitar el software cerrado. Más concretamente,
cualquier trabajo derivado de un producto con licencia GPL debe suministrar
el código fuente si es requerido. En contraste, la licencia
BSD<http://www.opensource.org/licenses/bsd-license.html>es menos
restrictiva: permite la distribución en forma exclusivamente
binaria. Éste aspecto es especialmente atractivo para aplicaciones
empotradas.
 4.6. ¿Qué más debería saber?

Dado que existen menos aplicaciones para BSD que para Linux los
desarrolladores de BSD han creado un paquete de compatibilidad con Linux que
permite hacer funcionar programas de Linux bajo BSD. El paquete contiene
tanto modificaciones del kernel, con el fín de gestionar correctamente las
llamadas al sistema de Linux, como ficheros necesarios para la
compatibilidad con Linux como la Biblioteca C. No hay diferencias notables
en velocidad de ejecución entre una aplicación de Linux ejecutándose en un
sistema Linux y una aplicación Linux ejecutándose en un sistema BSD de la
misma velocidad.

El modelo “todo del mismo proveedor” de BSD implica que las actualizaciones
son mucho más sencillas de gestionar de lo que con frecuencia son en Linux.
BSD maneja las actualizaciones de versiones de bibliotecas suministrando
módulos de compatibilidad para versiones anteriores, de modo que es posible
ejecutar binarios con varios años de antiguedad sin problemas.
 4.7. Entonces ¿Qué debería usar, BSD o Linux?

¿Qué significa realmente esa pregunta? ¿Quién debería utilizar BSD y quién
Linux?.

Ésta es una pregunta muy difícil de responder. He aquí varias pautas:

   -

   “Si no está roto no lo arregles”: Si ya usa un sistema operativo de
   código abierto y está satisfecho con él, probablemente no hay ninguna
buena
   razón para cambiar.
   -

   Los sistemas BSD, especialmente FreeBSD, pueden proporcionar un
   rendimiento notablemente superior que Linux, pero ésto no es una ley
   inmutable. En muchos casos no hay diferencia de rendimiento o ésta es muy
   pequeña. En algunos casos Linux podría tener un rendimiento mejor que
   FreeBSD.
   -

   En general los sistemas BSD gozan de una mejor reputación en cuanto a
   disponibilidad, principalmente por la mayor madurez de su código base.
   -

   La licencia BSD puede resultar más atractiva que la GPL.
   -

   BSD puede ejecutar código de Linux, mientras que Linux no puede hacer lo
   propio con código de BSD. Como resultado de ésto hay una mayor cantidad de
   software disponible para BSD que para Linux.

 4.8. ¿Quién ofrece soporte, servicios y formación orientada a BSD?

BSDi siempre ha ofrecido soporte para BSD/OS y en fechas recientes anunció
contratos de soporte para FreeBSD.

Además cada uno de los proyectos tiene una lista de consultores:
FreeBSD<http://www.freebsd.org/commercial/consulting_bycat.html>,
NetBSD <http://www.netbsd.org/gallery/consultants.html>, y
OpenBSD<http://www.openbsd.org/support.html>
.
Diferencias y semejanzas entre FreeBSD y Linux

Después de probar *FreeBSD*, *PC-BSD* y *Linux* un usuario repasa sus
principales diferencias y semejanzas. Una primera diferencia notable es la
fragmentación de las distribuciones Liunx existentes: *"creo que este hecho
hace un poco lento el proceso de maduración de linux al existir miles de
mentes dispersas con filosofías y éticas diferentes y objetivos específicos"
*. Cosa que no ocurre con FreeBSD:

"FreeBSD, por el contrario nos ofrece el núcleo y el sistema integrados, y
como ya mencionaba, tiene muy pocas variedades, de las que sin duda, mi
favorita es PC-BSD".

Otras de las diferencias en cuanto a GNU/Linux son:

   - FreeBSD puede ejecutar aplicaciones de Linux, mientras Linux no puede
   ejecutar aplicaciones de FreeBSD.
   - FreeBSD puede montar el sistema de archivos Ext2 de Linux, y Linux el
   UFS de FreeBSD, pero sólo en modo lectura (el soporte para escritura
está en
   fase experimental).
   - /home contiene los directorios de los usuarios del sistema al igual que
   en Linux, con la diferencia que en FreeBSD es un enlace a /usr/home y en
   Linux es un directorio único presente en la raíz.
   - Los archivos de configuración ubicados en /etc son los que FreeBSD trae
   integrado desde la instalación del sistema, los archivos de
configuración de
   programas que se instalen posteriormente se ubican en /usr/local/etc.

En el caso de PC-BSD podemos añadir 2 directorios más a esta jerarquía,
/PCBSD, es el directorio donde se almacenan los ficheros de configuración
del sistema operativo y el directorio /Programs, un enlace que apunta a
/usr/Programs, y es la carpeta en donde se desempaquetarán todos los PBIs
que instalemos en PC-BSD.

Todos los demás directorios presentes en la raíz de FreeBSD tienen la misma
razón de ser que en GNU/Linux


-- 
Este mensaje ha sido analizado por MailScanner del Nodo Geominera Camaguey
en busca de virus y otros contenidos peligrosos y se considera que está limpio.


______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a