Artículo extraído de HispaBSD.org Aparte de AT&T y de los laboratorios Bell, el grupo de desarrollo que más aportó a UNIX fue la Universidad de California de Berkeley. El software de Berkeley se publicaba en las llamadas "Berkeley Software Distributions". En 1979, William Joy y Ozalp Babaoglu publicaron la primera versión de UNIX procedente de Berkeley, a la que llamaron 3BSD, el cual convenció a DARPA para que Berkeley desarrollara un sistema operativo con soporte para TCP/IP; así se creó el estándar 4BSD. Con el lanzamiento de 4.2BSD en 1983, terminó el proyecto "Berkeley DARPA UNIX". A partir de enconces BSD fue evolucionando hacia nuevas versiones. 4.3BSD Net1 y 4.3BSD Net2 fueron distribuidos en forma de código fuente y binarios. El proyecto siguió avanzando y en la siguiente versión, la 4.4BSD, se mejoraron muchos aspectos (algoritmos de gestión de memoria, mejora de la suite IP, compatibilidad con POSIX, etc). La última versión publicada por el CSRG fue 4.4BSD-Lite release 2. Sistemas basados en BSD Aunque el CSRG cayera, el desarrollo de 4.4BSD continua, tanto en sistemas comerciales como en proyectos de software libre. Actualmente los sistemas BSD son utilizados fundamentalmente: - En servidores de internet.
- Como modelo de estudio en universidades.
- Como entorno de desarrollo con numerosas y potentes utilidades y compiladores.
- En PC's personales, como ordenador de escritorio.
Los sistemas operativos más conocidos basados en BSD son los siguientes: - FreeBSD - Ofrece altísimas prestaciones en las pocas arquitecturas soportadas, siendo un excelente servidor. Es uno de los más populares debido a que también es bastante más sencillo de usar.
- NetBSD - Sistema altamente portable entre diferentes arquitecturas (más de 50), con una calidad global elevada y un buen diseño. Normalmente es el pionero en la aplicación de nuevas ideas.
- OpenBSD - Se centra tanto en crear el sistema operativo más seguro como en ofrecer una excelente plataforma de desarrollo..
- BSD/OS - Sistema comercial producido por BSDi.
- Darwin - Sistema operativo Open Source, basado en BSD y producido por Apple.
Modelo de desarrollo En términos generales, podemos afirmar que en los sistemas *BSD existen tres ramas de desarrollo bien diferenciadas. Estas ramas son las siguientes: - RELEASE: Es la que se publica en los CDs oficiales de venta o en forma de imagen ISO descargable por internet.
- STABLE: Añade correcciones y arreglos a la versión release.
- CURRENT: Orientada a desarrolladores, donde se incluyen los últimos soportes y nuevas características.
A todas estas ramas se puede acceder fácilmente a través del depósito CVS. Gracias a esta herramienta podemos poner al día el código fuente de nuestro sistema con cualquiera de las ramas comentadas anteriormente. Por orden de importancia, los grupos que se encargan de coordinar los proyectos *BSD son: - Core team.
- Commiters.
- Contribuyentes externos.
La tarea del Core Team es asegurar el buen camino del proyecto *BSD. Cada miembro puede tener alguna otra tarea específica, como asegurar el correcto funcionamiento de ciertas partes del sistema. Otra tarea del Core Team es la resolución de las discusiones entre commiters, así como la elección de estos. Los commiters son las personas que tienen acceso de escritura al código fuente del sistema a través de CVS. Son los autorizados para realizar modificaciones en el código. En último lugar tenemos a los contribuyentes externos, que son los propios usuarios del sistema, de vital importancia. Estos publican software y parches, arreglan errores, aportan ideas, etc. Darwin es el núcleo de la nueva version de MacOS, Mac OS X. Núcleo Open Source para un Sistema Operativo comercial. En diciembre de 1996 Apple adquire NeXT lo cual repercutió en el diseño de su nuevo sistema operativo Mac OS X, el cuál combinaría la facilidad de uso característica en Macintosh y la potencia y estabilidad de Unix. Darwin es la fusión de Mach 3.0 y una implentación de BSD 4.4 BSD-Lite2 construida sobre la base de el microkernel. Se modificó el sistema VFS permitiendo la adición de nuevos sistemas de ficheros y mejorando el soporte de los existentes. La pila TCP/IP, como no podía ser de otra forma, basada en la implementación de BSD. Como novedad se añadió lo que se denomina el "I/O Kit", un framework Orientado a Objetos para el desarrollo de drivers, el cual es utilizado también en la parte que soporta SMP y real-time preemtion. En las fases de diseño de Darwin se prestó especial atención a los sistemas BSD más importantes en la actualidad: - FreeBSD: referencia principal para el desarrollo del kernel
- NetBSD: fuente de una parte bastante grande aplicaciones de espacio de usuario.
- OpenBSD: interesante por su robustez y su política de "criptografía integrada", principalmente por OpenSSH.
En abril del presente año (2002), ISC con el apoyo de Apple, ha fundado el proyecto OpenDarwin. Este es último eslavón de la política OpenSource de Apple, permitiendo contacto directo con la comunidad de Software libre. OpenDarwin, cuya url se encuentra en la sección de enlaces, pretende ser el centro de investigación de nuevas tecnologías, las cuales si dan buen resultado se incorporarán a la parte oficial de Darwin. FreeBSD es un sistema de libre disponibilidad, con el código fuente completo y basado en 4.4BSD-Lite para máquinas x86, DEC alpha y PC98. Está basado en el software del grupo CSRG de la U.C. Berkeley, con algunas mejoras de NetBSD, OpenBSD, 286BSD y la Free Software Foundation. FreeBSD nació en los inicios de 1993, por una escisión parcial de los 3 coordinadores del ``Unofficial 386BSD Patchkit'': Nate William, Rod Grimes y Jordan K.Hubard. El objetivo original era producir una muestra intermedia de 386BSD para solucionar una serie de problemas que el mecanismo del patchkit no era capaz de solucionar. El proyecto FreeBSD pretendre: - Proveer software que pueda ser usado para cualquier causa sin que esto sea una carga. Es decir, desarrollar aplicaciones bajo licencia BSD para que despues se haga lo que quiera con este software.
- Optimización del codigo para plataformas i386 y alpha para que el sistema y las aplicaciones corran a gran velocidad bajo este S.O.
- Dar disponibilidad del codigo fuente para que todo el mundo tenga acceso a el.
- Seguir desarrollando un S.O estable, rapido y libre con abundantes aplicaciones, que sea efectivo y que responda bien ante grandes cargas de información.
Estas son algunas características de este sistema operativo: - Es un sistema desarrollado totalmente en 32 bits.
- Posee un sistema TCP/IP completo (SLIP, PPP, NFS, NIS, FTP, SSH, SMTP, etc.)
- Sistema multiusuario/multitarea. FreeBSD como todo UNIX ofrece un sistema con posibilidad de ejecutar mas de una aplicación al mismo tiempo y trabajar con mas de un usuario a la vez.
- Versatilidad en cuanto a su uso como Pc personal: Estación de trabajo, servidor de ficheros y aplicaciones, bases de datos, comunicaciones e internet, router, gateway, firewall, etc.
- Módulos de compatibilidad que permiten la ejecución de programas de otros sistemas operativos, incluyendo programas para Linux, SCO, BSD/os, etc.
- Módulos de kernel de carga dinámica que permiten tener acceso a nuevos sistemas de ficheros, protocolos de red o emuladores de binarios en tiempo de ejecución sin necesidad de generar un nuevo kernel.
- Disposición de todo el codigo fuente tanto del kernel como de las aplicaciones en la instalación base.
- Soporta SMP y actualmente corre en arquitecturas x86, DEC alpha y PC98.
- Dispone de un grandisimo repertorio de aplicaciones y programas que corren perfectamente en él ( vease la colección ports o packages ) Actualmente hay más de 7000 ports para FreeBSD.
Ademas se está trabajando en portarlo a mas arquitecturas (Alpha, ia64, MIPS, ppc, sparc64, x86-64). NetBSD es un sistema operativo tipo Unix, derivado del BSD original. Gracias a la licencia BSD, en la cual se apoya la mayor parte del código, es un sistema libre, redistribuible y desarrollado a través de Internet; esto también permite conseguir un sistema muy seguro, proporcionando arreglos para fallos de seguridad lo antes posible. El diseño del código es otro de sus puntos fuertes, en el que prima la buena programación y organización. Como ejemplo, todos los controladores se dividen en dos partes: una dependiente del hardware de la máquina y la otra independiente. De todos modos, y relacionado con este punto, la característica que posiblemente hace destacar aún más a NetBSD es su gran portabilidad, funcionando desde potentes servidores Alpha, pasando por estaciones de trabajo moderadas como i386 hasta sistemas empotrados. La NetBSD Foundation, Inc. es la entidad legal que representa a NetBSD. Esta entidad agrupa a todos los desarrolladores del sistema, proporcionando en conjunto el Sistema Operativo NetBSD, además de ocuparse de los copyrights y otros temas legales. También cabe destacar a Wasabi Systems, empresa que proporciona soluciones hardware y software basadas completamente en el sistema NetBSD. Historia Los inicios de NetBSD se centran en la versión original del UCB 4.3BSD, a través de la distribución Networking Release 2 y también del 386BSD. Un grupo reducido de personas empezó a crear parches (proporcionando mejoras y correcciones) para dichos sistemas, pero la dificultad para incorporarlos en el código "oficial" de dichos sistemas desembocó en la creación de NetBSD. Esto fué posible, en gran parte, gracias a Internet; de hecho, la primera parte del nombre, "Net" es un reconocimiento a la red ya que sin ella, posiblemente NetBSD no existiría. La primera versión del sistema, NetBSD 0.8, apareció el 20 de abril de 1993 y desde entonces vienen apareciendo nuevas versiones regularmente. Objetivos El Proyecto NetBSD pretende: - Proporcionar un sistema operativo portable al máximo número de arquitecturas posibles.
- Proporcionar un sistema operativo bien diseñado, libre y rápido.
- Evitar licencias problemáticas para conseguir un sistema operativo realmente libre.
- Cooperar correctamente con otros sistemas operativos ya sea a través de la red o en la misma máquina.
- Implementar los estándares recomendados (por ejemplo, POSIX) tanto como sea posible y práctico.
Actualidad El Proyecto NetBSD sigue contínuamente el desarrollo del sistema operativo NetBSD. Actualmente hay unos 140 desarrolladores oficiales del sistema (miembros de la NetBSD Foundation, Inc.) aparte de los individuales que contribuyen esporádica o constantemente a través de informes de problemas o de las listas de correo. Diversas empresas de hardware apoyan el sistema NetBSD actualmente, ya que gracias a él pueden disponer de un sistema operativo sólido en sus nuevos diseños en muy poco tiempo y con pocos costes de desarrollo. La última versión estable del sistema, NetBSD 1.6, vió la luz el 14 de septiembre de 2002. Enlaces OpenBSD es un sistema operativo libre tipo Unix, multiplataforma y basado en 4.4BSD (ya que es heredero directo de NetBSD). Su mayor interés se centra en la correción del código, la portabilidad, la seguridad proactiva y la criptografía integrada. OpenBSD nació en 1995 a raiz de la expulsión de Theo de Raadt del grupo de desarrollo de NetBSD, a finales de 1994. Dicho grupo (al que Theo pertenecía y junto con los cuales creó NetBSD) decidió revocarle el acceso commit a las fuentes debido a que consideraban que no era lo suficiéntemente colaborador con la gente que pretendía contribuir en el proyecto e incluso, muchas veces, desconsiderado. Theo, tras casi un año de negociaciones con el núcleo para que le dejasen incluir en las fuentes todo el trabajo que había estado desarrollando para SPARC (arquitectura de la cual era encargado antes de su expulsión), decidió crear su propio BSD, cuyo principal objetivo fuera la seguridad y la correción del código. Ya entrado el año 1996 vió la luz OpenBSD 2.0, la primera versión pública de este nuevo sistema operativo concebido por Theo de Raadt y que gracias sus fuertes objetivos y la ayuda de las personas que colaboran con el proyecto, ha conseguido alzarse como "El Sistema Operativo más seguro". Años después, aprovechando el lanzamiento de OpenBSD 2.6, decidieron incluir una versión libre del protocolo SSH, que bautizaron como OpenSSH; basado en las partes libres de los paquetes SSH de Tatu Ylönen y OSSH de Björn Grönvall. Durante todo este tiempo, el equipo de desarrolladores de OpenBSD ha buscado no solo vulnerabilidades en su propio código, sino que ha descubierto fallos de programación que no se pensaban que pudieran desembocar en fallos explotables, realizando de este modo una labor de investigación aplicada en el campo de la seguridad informática. Bien es conocido por todos que OpenBSD se centra en la seguridad, pero también hay otras motivaciones que hacen ser a OpenBSD tal y como es; aquí se presenta una lista con los objetivos principales del proyecto: - Proporcionar una buena plataforma de desarrollo. Dar acceso a las fuentes tanto desarrolladores como usuarios, permitiendo observar los cambios directamente del CVS.
- Integrar código cualquier fuente siempre que sea lo suficientemente bueno y posea un copyright aceptable.
Se pretende que el código fuente esté disponible para cualquiera y para cualquier propósito. - Prestar especial atención a los problemas de seguridad y tratar de solucionarlos antes que ningún otro. (Intentar ser el Sistema Operativo más seguro).
- Gran integración de software orientado a la criptografía. Tales como IPSec, IPv6, motores de claves, Kerberos, free-AFS y otras forma de fuertes cripto-sistemas.
- Seguir e implementar estándares (ANSI, POSIX, partes de X/Open etc).
- Trabajar en un código lo más independiente de la máquina posible. Soportar tantos sistemas diferentes y hardware como sea posible.
- Ser lo más políticamente libres posible.
- No dejar los problemas sin solucionar y menos si son serios.
- Proporcionar una buena palataforma para el desarrollo y compilación ortogonales (cross-compile).
- Permitir la importación de paquetes externos con la menor modificación posible, haciendo la actualización más fácil.
- Publicar distribuciones (en CDROM) cada 6 meses (es una manera de financiar el proyecto).
Como se marcó desde un principio, uno de los mayores esfuerzos en OpenBSD son dedicados a la seguridad, una prueba de que esto se ha cumplido lo podemos encontrar en su web: "Sólo un agujero remoto en la instalación por defecto, en casi 6 años!". Un acontecimiento con bastante eco dentro de la comunidad BSDera, fue la decisión de Darren Reed de reinterpretar la licencia de su paquete software más importante, IPFilter, debido a la cual no se podían realizar cambios a los fuentes sin que él lo autorizara. Debido a este cambio de licencia, Theo de Raadt se vió obligado a retirarlo de la distribución. Mientras esto sucedía un colaborador de OpenBSD, Daniel Hartmeier, comenzó a elaborar un nuevo filtro de paquetes que fue incorporado en la versión 3.0. En vista a un futuro cercano, el desarrollo de PF, como se llama este nuevo firewall sigue imparable, con la incorporación de codigo para permitir Balanceo de Carga y la posibilidad de controlar altq através de las reglas de PF. En el momento de escribir estas líneas, la versión 3.2 ha visto la luz hace apenas 15 días, la siguiente... dentro de 6 meses, como siempre. Con multitud de mejoras y arreglos que lo harán más seguro y fiable si cabe. |