FreeBSD México

Comunidad Mexicana de FreeBSD

2012: Año BSD en retrospectiva

logo-FreeBSD-full-thumb
dragon_small_logo
puffy51
NetBSD-headerlogo
Este artículo es una traducción de la siguiente liga: http://www.osnews.com/story/26787/2012_a_BSD_year_in_retrospective
posteado por Julian Djamil Fagir el 14 de Febero de 2013 a las 22:23 horas UTC
Icon

 

BSD (Berkely System Distribution) fue un sistema operativo de investigación basado en el Unix original AT&T, desarrollado por la Universidad de Berkeley, California. Ha sido código abierto desde el principio, y después la universidad perdió interés en desarrollarlo más, varios proyectos comunidarios arrancaron (los primeros fueron NetBSD y FreeBSD a principios de los noventas) para continuar el desarrollo de BSD. De cualquier forma, Linux nació aproximadamente al mismo tiempo, pero una demanda pendiente respecto a una violación de los derechos de copia evitó que los proyectos BSD fueran tan exitosos como  Linux (a pesar que se pueda argumentar sobre las razones exactas).

Esto llevo a que Linux tuviera una gran cobertura mediatica, mientras que los proyectos BSD – a pesar de tener inovaciones frescas y ser desarrollados activamente para nuevas liberaciones, raramente llegaron a la prensa.

Comunidad

Como ya se cubrió en  OSNews había un debate sobre las incompatibilidades crecientes de herramientas de terceros con  BSD. Esto siempre ha sido un problema, especialmente para cuaquier BSD excepto FreeBSD, el cual tiene alguna cobertura por fabricantes de hardware debido a que se usa con frecuencia en servidores. A pesar de que esto fue iniciado en una lista de OpenBSD, los desarrolladores estan frustrados por doquier . Pero para entender las razones de esta preocupación, es importante entender las diferentes filosofías de los desarrolladores BSD y Linux. La gente BSD son personas conservadoras, y lo tienen que ser : Ya que cada decisión que ellos hagan tendra un efecto inmediato en todo el sistema operativo, dado que todo el entorno de usuario BSD esta unido y desarrollado por las mismas personas y equipos. Por lo tanto ellos tienden a discutir más en la parte de decisión en cuanto a diseño técnico.

Con Linux, no tienes este problema. El mundo GNU/Linux consiste en muchos proyectos de software independientes y distribuciones que los unen. Una distribución puede facilmente decidir el no adoptar una versión especial de una herramienta, y quedarse con una versión antigua para preservar compatibilidad.

Así que el mayor problema en este caso no es solamente que hay incompatibilidades — es un reusamiento técnico general de muchas implementaciones, pero al mismo tiempo siendo forzadas a implementar cosas para ser compatible con el resto del mundo del código abierto (y especialmente en ambientes de escritorio).

Como un ejemplo, solo navégue aleatoriamente en una tablero de noticias BSD, lista de correo o chat, y busque sobre discusiones relativas a systemd. Probablemente encontrará el peor troleo y descontento sobre el. , mientras que en el mundo Linux en la mayoría de los casos la gente solo alzará los hombros sin importarles el asunto.

 

DragonFlyBSD

DragonFlyBSD es un trabajo derivado (fork) de FreeBSD después de que el desarrollador principal de DragonFlyBSD, quien era un desarrollador de FreeBSD en aquel tiempo, no le gustaron las decisiones técnicas tomadas en el proyecto y decidió iniciar su propio proyecto.

En 2012, DragonFlyBSD liberó dos nuevas versiones: 3.0 el 22 de Febrero, y 3.2 el 2 de Noviember.

El trabajo en proceso para mejorar el soporte  SMP y de clusters resultó en pruebas  excepcionalmente buenas en PostgreSQL derrotando también a Linux, pero hubieron también algunos cambios importantes:

  • Cuentas VFS/vquota — DragonFlyBSD introdujo un subsistema de cuotas en su capa VFS (Virtual File System), el cual es el subsistema usado para accesar los módulos reales del sistema de archivos. Por lo tanto, ellos son capaces de tener cuotas en cualquier sistema de archivos, no importa si el sistema de archivos las soporte o no – pero en la actual implementación, esas quotas estarán almacenadas hasta que la  máquina se apague.
  • TRIM support — DragonFlyBSD soporta ahora el comandoTRIM para mejorar las comunicaciones del sistemaoperativo con sus discos de estado solido.
  • USB4BSD import — El stack USB, USB4BSD escrito originalmente para FreeBSD fué importado a DragonFly, permitiendo un mantenimiento más sencillo y un rango mas amplio de controladores, incluyendo soporte para XHCI (USB 3.0).
  • TrueCrypt/tcplay — TrueCrypt, una herramienta de encripción de disco, aunque pensado para ser de código cerrado, ganó una amplia distribución entre las computadoras debido a su facilidad de uso y su compatibilidad multiplataforma. Los desarrolladores de DragonFlyBSD decidieron escribir una implementación compatible de código abierto. Esta implementación ya ha sido portada a Linux e importada a otras distribuciones como por ejemplo Fedora.

Cuando tiene que ver con sistemas de archivos, DragonFlyBSD es famoso por sus sistema de archivos HAMMER, el cual, hablando informalmente, es algo como ZFS, pero con la capa vfs más poderosa de DragonFlyBSD. En Febrero 2012, con las conclusiones y experiencias ganadas por HAMMER, el desarrollo de  HAMMER2 ha empezado.

Mientras que DragonFlyBSD actualmente usa pkgsrc, el sistema de paquetes usado principalmente por NetBSD (pero siendo multiplataforma), hay intensiones de  introducir un nuevo sistema. El cual es llamado DPorts, proporcionando paquetes binarios encima del sistema de paquetes de ports de FreeBSD. A pesar de que es bastante experimental por ahora, el objetivo final es hacer paquetes binarios y el nuevo  pkg tool de FreeBSD como el esquema por defecto para las próximas liberaciones. Los usuarios no se verán forzados a compilar paquetes núnca mas.

 

FreeBSD/PC-BSD

FreeBSD es por mucho el BSD más activo cuando hablamos de puros números, teniendo la base de usuarios y desarrolladores mas grande (aproximadamente 80% de toda la comunidad BSD). In 2012, una nueva versión menor de FreeBSD 8 (8.3-RELEASE en Abril) fué liberado, así como una nueva versión mayor (9.0-RELEASE en Enero) y su primera version menor liberada (9.1-RELEASE en Diciembre).

Con la 9.0-RELEASE, llegó una larga lista de cambios:

  • HASTHAST, el Almacenamiento de Alta Disponibilidad (Highly Available STorage) es una manera fácil de espejear dispositivos de bloques a traves de una red y crear soluciones de alta disponibilidad con ellas. Esencialmente, es un RAID con sincronizaci{on que esta orientado para trabajar en RED.
  • Capsicum — El armazón o framework de capacidades Capsicum ha sido agregado a FreeBSD pero marcado como experimental. Este permite que aplicaciones usen capacidades de configuración fina. Hay una desarrollador dedicado para Capsicum, que recibe fondos de Google (el cual esta interesado aparentemente en usarlo para Chrome).
  • Softupdates journaling — FFS soporta ahora softupdates jornailizado, habilitando el uso de  softupdates en conjunto con  journaling, que habían sido dos tecnologías competidoras hasta ahora.
  • bsdinstall — El nuevo bsdinstall(8) reemplaza el antiguo instalador el cual se había vuelto un poco oxidado al final, no soportando varias de las características introducidas en FreeBSD en los últimos años. bsdinstall provee mas funcionalidad y es más extensible por ser únicamente un monton de shell scripts con dialog(1).
  • NFSv4 — FreeBSD 9.0 soporta la cuarta versión del sistema de archivos de red NFS. A pesar de que había sido especificado en 2000 (y de nuevo en  2003), solo hubo algunas implementaciones a lo mucho.
  • Playstation 3 — FreeBSD ahora soporta la consola de juegos Playstation 3. Esto puede parecer un poco tarde, pero el Playstation 3 ha sido útil para aplicaciones de calculos numericos masivos debido a su procesador y su bajo precio.
  • RACCT — Una nueva Estructura de Administración de Recursos (Resource Accounting framework (RACCT) ha sido agregado: rctl(8) ahora soporta la limitación de recursos en base a la Carcel (Jail), en base al usuario, en base al proceso, en base al modelo de clase de inicio de sesión, pero no en base a porcentaje de tiempo de CPU aún.
  • gpart — Las antiguas herramientas para etiquetar discos (fdisk, *label) han sido puestas a un lado en favor de gpart(8), aunque se mantendran en la base por razones de compatibilidad. La nueva herramienta debera ser usada para particiones GPT, los tipos antiguos (MBR y disklabel) no son respaldados de ahora en adelante.
  • Clang/LLVM — En FreeBSD 9.0, el nuevo compilador ha sido importado. No es usado para compilar 9.0, pero en Noviembre de 2012, todas las plataformas cambiaron a usar Clang por defecto, p. ej. FreeBSD 10.0 compilará con Clang en lugar de GCC por defecto.

Con el 9.1-RELEASE, hubo un cambio indicando un interés desarrollo: cambios en ZFS desde Illumos fueron introducidos. Quizas aun hay esperanza de un desarrollo de ZFS independiente de Oracle?

Como muchos otros proyectos de Código Abierto hacen, FreeBSD tiene una campaña de recolección de fondos al final del año, esta vez logrando un resultado record: Aproximadamente $750,000 Dólares Americanos, mostrando el tamaño comercial de FreeBSD en comparación con los otros BSDs.

El dinero es invertido en mantener la infraestructura y dar fondos a proyectos nuevos, algunos de los cuales prometen resultados interesantes:

  • plataforma ARM estandar — Una plataforma ARM estandar, la Genesi Efika MX SmartBook y SmartTop (¿alguna vez han escuchado de ellas?) con un ARM Cortex A8 SoC fue determinada, y los desarrolladores obtuvieron dispositivos gratis para iniciar el desarrollo en ellos.
  • NAND flash — El objetivo de este proyecto es mejorar el soporte de dispositivos que corren en memorias flash pequeñas NAND, p.ej. un sistema de archivos, un armazón o framework de controlador  y chips de memoria y herramientas deben ser desarrolladas.
  • growfs — La herramienta para agrandar sistemas de archivos deberá ser modificada para poder aumentar el tamaño de sistemas de archivos en linea. Hasta ahora, growfs solo es capaz de manejar sistemas de archivos fuera de línea, p.ej. sistemas de archivos desmontados.

Para FreeBSD, hubo dos eventos desagradables en 2012: Primero, las advertencias de seguridad en la mejor fecha posible, 23 de Diciembre (el día anterior a la celebración de la Navidad, cuando la mayoría de los administradores ya se habían ido). Y segundo, hubo otro problema importante de seguridad este año: una brecha de seguridad, publicada el 17 de Noviembre. Los administradores pudieron notar que por aproximadamente una semana, ni hubieron actualizaciones portsnap al árbol de ports. La razón fue que apenas una semana antes, el equipo de seguridad encontró comprometida una llave SSH de un desarrollador esto ocurrio el 19 de Septiembre, con acceso a dos máquinas de desarrollo de ports.

Eventualmente este equipo de seguridad anunció que no encontraron nada que fuera relevante para la seguridad, pero aún así recomendó no confiar en paquetes de instalación binarios realizados en esta ventana de tiempo. En Diciember, todo estaba completamente en línea.

 

NetBSD

NetBSD es el derivativo BSD más antiguo que aun esta bajo desarrollo. Hace unos años, sus desarrolladores se enfocaron principalmente en soportar muchas plataformas y proporcionaron una buena capa de abstracción para lograr ésto. Hoy día, el enfoque ha cambiado ligeramente para proporcionar un sistema operativo limpio. Limpio significa aqui que el código debe ser limpio, y nuevas características deberás ser introducidas analizandolas bien primero, y no para ser removidas de nuevo después de algunas liberaciones o cuando rompan la compatibilidad.

Tres años después de la mayor y última liberación de NetBSD (5.0), NetBSD 6.0 fué liberado finalmente el 17 de October. La rama NetBSD 5 fue actualizada a 5.2 oel 3 de Diciembre y el soporte de NetBSD 4.0 fue retirado cinco años después de su liberación inicial en 2007.

Cerca de tres años después de la última liberación, hay una gran cantidad de cambios para 6.0:

  • apropos — Durante el Verano de Código de Google (GSoC) 2011, hubo la reescritura de un proyecto apropos(1) de no nada mas tener una busqueda completa de texto tonta, si no una busqueda de relevancia evaluada. Este apropos esta incluido ahora en NetBSD 6.0.
  • posix_spawn — POSIX finalmente decidió especificar una interfase para iniciar unnuevo proceso, llamado posix_spawn. En un proyecto del GSoC, éste fue implementado y ahora es parte de NetBSD.
  • netpgp — Debido a muchas dependencias largas que tiene GnuPG, y al hecho de que esta licenciado bajo GPL (recuerden que a los chicos de BSD no les gusta eso), hubo una reescritora de PGP/GPG, nombrado netpgp. La implementación no es tan rica en características como gpg, pero esta siendo desarrollada mas a detalle y ya es capaz de hacer alguna encripción básica y firmas.
  • v7fs, chfs — El sistema de archivos antiguo de la edición 7 de Unix ha sido reeimplementado. La razón detras de esto es tener un sistema de archivos pequeño alternativo a FAT, y que sea capaz de leer discos antiguos desde sistemas PDP-11s. Por otra parte, hay un nuevo sistema de archivos llamado CHFS el cual se pretende que sea usado en dispositivos flash pequeños.
  • npf — En NetBSD 6.0, se introdujo una nueva solución de firewall llamada npf . Fue escrita como reemplazo para superar los problemas con los dos que ya estaban implementados (ipf y pf).

Recientemente, Antti Kantee (pooka@) proporcionó dos aplicaciones interesantes mas de su concepto  rump anykernel: El corrió módulos de kernel NetBSD en Linux e inclusive en un navegador, usando JavaScript.

En Julio, hubo un post interesante en la lista de correo de un desarrollador de Google. El mencionó la biblioteca de C bionic usada en dispositivos Android, el cual aparentemente usa muchas partes de diversas fuentes. El objetivo del desarrollador fue fusionar el código usado por Android de regreso a la fuente original, eventualmente tomando una sola librería de C, y no varias diferentes. A pesar de que la discusión solamente termino sin un resultado (al menos sin un resultado público), es bueno saber que hay muchos proyectos que actualmente usan partes del código de NetBSD en alguna parte.

Este es el caso de MINIX. El 7 de Marzo,  MINIX 3.2.0 fue liberado. Como los desarrolladores de MINIX son principalmente investigadores que quieren usar MINIX para investigación y no para el desarrollo de software, y su entorno de usuario era bastante antiguo, ellos decidieron usar otro: el de NetBSD. Por lo tanto, en MINIX 3.2.0 a partir de ahora, hay grandes porciones de el entorno de usuario ordinario de NetBSD así como  pkgsrc, el administrador de paquetes de NetBSD contenido en MINIX.

 

OpenBSD

OpenBSD es un trabajo derivado (fork) de NetBSD después de problemas personales entre el ahora principal grupo de desarrolladores OpenBSD y el resto del equipo de desarrollo allá por los noventas. Hoy día. OpenBSD es famoso por su enfoque en seguridad y su radicalidad en no aceptar software de código fuente cerrado, lidereando el desarrollo de herramientas comunes como OpenSSH.

Como cada año, OpenBSD libero dos nuevas versiones (5.1 en Mayo, 5.2 en Noviembre) – ellos tiene un programa periodico de liberación fijo. Las liberaciones OpenBSD siempre tienen un lema y una canción que acompaña a la liberación, algunas veces tambien con algo de historia detras de ella. 5.1 tiene el lema generico de (cazadores de bugs) Bug Busters, mientras que 5.2 tiene el lema de Aquarela Do Linux, refiriendose a los problemas que señaló Marc Espie como se mencionó anteriormente  (ver “Comunidad”).

Los mayores cambios en 2012 fueron:

  • NAT64 — OpenBSD 5.1 introdujo NAT64 para su filtro de paquetes pf.
  • Libros — La preorden de Absolute OpenBSD, 2da Edición, un libro famoso sobre OpenBSD, inició.
  • pthreads — Hasta entonces, pthreads en OpenBSD había sido solo para el nivel de usuario. Este año, rthreads fueron introducidos, el mapeo de pthreads de las herramientas del entorno del usuario a los procesos del kernel, mejorando la capacidad de SMP y la velocidad, ahora haciendo un mejor uso de maquinas multinúcleos.

En  Junio de 2012, el proyecto Bitrig se derivó a partir de OpenBSD. Su filosofía, opuesta a la de OpenBSD, es sobre ser menos conservadores. Sus desarrolladores quieren hacer a un lado el principal enfoque de seguridad y dar soporte a plataformas antiguas, pero se enfoca en

  • usar Clang como su compilador por defecto (OpenBSD usa GCC),
  • proporcionar mejor soporte a KVM (virtualización),
  • proporcionar sistemas de archivos jornalizados por medio de portar el WAOBL de NetBSD,
  • soportar solamente máquinas x86  (i386, amd64),
  • mejorar el soporte SMP de  OpenBSD.

 

Nota

Deberían de tener en mente que soy parte de la comunidad FreeBSD y NetBSD, asi que este reporte puede estar sesgado hacia estos dos.

Tambien excluí todas las mejoras generales que los sistemas operativos han tenido a traves del tiempo: mejorando el rendimiento, agregando controladores, volviendose mas estables.

 

__________________________

Nos leeremos en el siguiente artículo.

FreeBSD rulez!

Si esta información te resultó útil considera hacer una donación a mi cuenta de LiteCoin:

LTC:    LhyHJC2eXVCrwHKX1jnMuSHgSijW3XHX2j

_________________________

Eric De La Cruz Lugo, es Licenciado en Informática Administrativa (LIA) con especialidad en sistemas, egresado del Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO), ha sido usuario de FreeBSD desde 1993 y de sistemas UNIX desde 1992, y de Linux desde 1997 (actualmente cuenta con certificación Linux+CompTIA) es profesor de asignatura de la Universidad Tecnológica Metropolitana en Mérida, Yucatán, donde administra servidores corriendo con FreeBSD que hospedan aplicaciones administrativas y la plataforma educativa en línea de la división de TIC (Tecnologías de la Información y Comunicación) de la Universidad. También brinda de forma independiente consultoría profesional a empresas e instituciones, e imparte cursos relacionados con UNIX, Linux y desde luego FreeBSD!, forma parte del equipo de traducción al español del sitio bsdcertification.org, así como Proofreader y betatester de artículos de la revista BSDMag editada en Polonia, que se puede leer mensualmente en bsdmag.org,  también es astrónomo amateur y asesor externo del Planetario Arcadio Poveda Ricalde de Mérida, Yucatán y esta felizmente casado con su amada esposa Marisol Alvarez, puede ser alcanzado en: eric_delacruz@yahoo.com y en eric@iteso.mx)

No Responses to “2012: Año BSD en retrospectiva”

No comments have been made on this post



Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*