1.3. Acerca del proyecto FreeBSD

En la siguiente sección se explican ciertos aspectos del proyecto, una breve historia, objetivos, y modelo de desarrollo.

1.3.1. Breve historia de FreeBSD

Contributed by Jordan Hubbard.

La génesis del proyecto FreeBSD se remonta a comienzos de 1993, en parte como una extensión del “Unofficial 386BSD Patchkit” debida a los tres últimos coordinadores del patchkit: Nate Williams, Rod Grimes y yo mismo.

Nuestro objetivo original era producir una instantánea de 386BSD intermedia para arreglar una serie de problemas que no se podían solventar vía patchkits. Algunos quizá recordéis que el primer nombre del proyecto fue “386BSD 0.5” o “386BSD Interim” en referencia a ese hecho.

386BSD era el sistema operativo de Bill Jolitz, que hasta ese punto había estado sufriendo severamente las consecuencias de prácticamente un año que más vale olvidar. A medida que el patchkit se iba haciendo más incómodo día a día, nosotros estuvimos unánimente de acuerdo en que algo se tenía que hacer y decidimos ayudar a Bill ofreciendo esta instantánea “limpia” como ínterin. Aquellos planes fueron bruscamente interrumpidos cuando Bill Jolitz de repente decidió retirar su aprobación al proyecto sin ninguna indicación clara de lo que en su lugar debería hacerse.

No tardamos mucho en decidir que el objetivo seguía valiendo la pena, aun sin el soporte de Bill, y fue así que adoptamos el nombre “FreeBSD”, debido a David Greenman. Nuestros objetivos iniciales se fijaron una vez consultamos a los usuarios del sistema, y cuando quedó claro que el proyecto estaba en marcha y que podía llegar a ser una realidad contacté con Walnut Creek CDROM con la idea de mejorar los canales de distribución de FreeBSD en CD, pero fueron más allá y nos facilitaron una máquina con la que trabajar y una conexión rápida a Internet. Sin la fe casi sin precedentes que tuvo Walnut Creek CDROM en lo que era por aquel tiempo un proyecto completamente desconocido, es bastante improbable que FreeBSD hubiera logrado tanto y tan rápido como ha logrado hoy por hoy.

La primera distribución en CDROM (y disponible por la red) fue FreeBSD 1.0, publicado en diciembre de 1993. Estaba basado en la cinta de U.C. Berkeley del 4.3BSD-Lite (“Net/2”), con bastantes componentes de 386BSD y la Free Software Foundation. Fue un logro bastante razonable para una primera versión, y le siguió FreeBSD 1.1 en mayo de 1994, que tuvo un gran éxito.

Por entonces se formaron unos inesperados nubarrones en el horizonte ya que Novell y U.C. Berkeley resolvieron el largo juicio acerca del estatus legal de la cinta de Berkeley Net/2. Una condición del acuerdo fue la concesión por parte de U.C. Berkeley de que una gran parte de Net/2 era código “gravado” y propiedad de Novell, quien a su vez lo había adquirido de AT&T anteriormente. Berkeley obtuvo a cambio de Novell el “beneplácito” para que 4.4BSD-Lite, cuando saliera, fuera declarado como no-gravado y se instara a los usuarios de Net/2 a cambiar. Esto incluía a FreeBSD, y se dio hasta julio de 1994 para dejar de sacar su propio producto basado en Net/2. Bajo los términos de aquel acuerdo se le permitía al proyecto sacar una última versión antes de la fecha límite: esa versión fue FreeBSD 1.1.5.1.

FreeBSD tuvo entonces que acometer la árdua tarea de literalmente reinventarse a sí mismo a partir de trozos nuevos y bastante incompletos de 4.4BSD-Lite. Las versiones “Lite” eran ligeras en parte porque el CSRG de Berkeley quitó grandes partes del código necesario para construir un sistema que pudiera arrancar (debido a diversos requisitos legales) y porque la versión del 4.4 para Intel era muy incompleta. No fue hasta noviembre de 1994 que el proyecto realizó esa transición, en ese punto sacó FreeBSD 2.0 en la red y en CDROM (a finales de diciembre). A pesar de no estar suficientemente pulida, esta distribución fue un éxito significativo y le siguió el más robusto y fácil de instalar FreeBSD 2.0.5 en junio de 1995.

Sacamos FreeBSD 2.1.5 en agosto de 1996, y pareció ser suficientemente popular entre ISPs y otras comunidades comerciales como para que mereciera otra versión de la rama 2.1-STABLE. Ésa fue FreeBSD 2.1.7.1, publicada en febrero de 1997, que marcó el final de la línea principal de desarrollo en 2.1-STABLE. Una vez en modo mantenimiento, en esa rama (RELENG_2_1_0) sólo se harían ya mejoras en seguridad y correcciones de errores críticos.

FreeBSD se ramificó desde la línea principal de desarrollo (“-CURRENT”) en noviembre de 1996 como la rama RELENG_2_2, y la primera versión completa (2.2.1) salió en abril de 1997. Se hicieron más versiones de la rama 2.2 en verano y otoño de 1997, la última de las cuales (2.2.8) apareció en noviembre de 1998. La primera versión 3.0 oficial salió en octubre de 1998 y marcó el inicio del fin de la rama 2.2.

El árbol se ramificó de nuevo el 20 de enero de 1999, dando lugar a las ramas 4.0-CURRENT y 3.X-STABLE. De la 3.X-STABLE, 3.1 salió el 15 de febrero de 1999, 3.2 el 15 de mayo de 1999, 3.3 el 16 de septiembre de 1999, 3.4 el 20 de diciembre de 1999, y 3.5 el 24 de junio de 2000, a la que siguió pocos días después una actualización menor, la 3.5.1, que incorporaba mejoras de seguridad de última hora para Kerberos. Ésa fue la última versión de la rama 3.X.

Hubo otra ramificación el 13 de marzo de 2000, que dió lugar a la rama 4.X-STABLE, considerada ahora la "actual rama -stable". Han habido varias versiones de la misma desde entonces: 4.0-RELEASE salió en marzo de 2000, 4.3 en abril de 2001, y 4.4 en septiembre de 2001. Habrá más versiones de la rama 4.X-STABLE (RELENG_4) entrado 2002.

Proyectos a largo plazo siguen teniendo lugar en la rama (principal) 5.0-CURRENT, e instantáneas de la 5.0 en CDROM (y, naturalmente, en la red) se hallan contínuamente disponibles desde el servidor de instantáneas a medida que el trabajo progresa.

1.3.2. Objetivos del Proyecto FreeBSD

Contributed by Jordan Hubbard.

Los objetivos del Proyecto FreeBSD son proveer software que pueda ser usado con cualquier propósito y sin compromiso alguno. Muchos de nosotros participamos significativamente en el código (y en el proyecto) y ciertamente no nos importaría recibir una pequeña compensación económica de vez en cuando, pero decididamente no estamos dispuestos a insitir en ello. Creemos que nuestra más importante y primordial “misión” es dar código a todo el que venga, y para lo que quiera, de manera que el código sea tan usado y dé tanto provecho como sea posible. Creo que éste es uno de los objetivos más fundamentales del software libre y uno que nosotros apoyamos con entusiasmo.

El código fuente de nuestro árbol que se halla bajo la GNU General Public License (GPL) o la Library General Public License (LGPL) viene con algunas restricciones más, si bien de cara a garantizar acceso al mismo, no al contrario que es lo habitual. Debido a las complicaciones adicionales que pueden surgir en el uso comercial de software con licencia GPL, preferimos que el software contribuído lo sea bajo la licencia BSD, menos estricta, cuando ésa sea una opción razonable.

1.3.3. El modelo de desarrollo de FreeBSD

Contributed by Satoshi Asami.

El desarrollo de FreeBSD es un proceso muy abierto y flexible, estando FreeBSD construído literalmente a partir de las contribuciones de centenares de personas de todo el mundo, como puede verse en nuestra lista de contribuidores. Estamos constantemente a la búsqueda de nuevos desarrolladores e ideas, y aquéllos interesados en vincularse más al proyecto tan sólo tienen que ponerse en contacto con nosotros en lista de discusiones técnicas en FreeBSD. La lista lista de avisos importantes del Proyecto FreeBSD también se halla disponible para quienes deseen dar a conocer a otros usuarios de FreeBSD grandes áreas de trabajo.

Cosas útiles de saber sobre el Proyecto FreeBSD y su proceso de desarrollo, ya sea trabajando de forma independiente on en estrecha cooperación:

El repositorio CVS

El árbol de código fuente central de FreeBSD se mantiene con CVS (Concurrent Versions System), una herramienta de control de versiones de código fuente que se halla libremente disponible y viene con FreeBSD. El repositorio CVS principal reside en una máquina en Santa Clara California (EEUU), desde la que es replicado a numerosos mirrors distribuidos por todo el mundo. El árbol del CVS, así como los árboles -CURRENT y -STABLE que se extraen del mismo, pueden ser replicados fácilmente en tu máquina también. Por favor, consulta la sección Sincronización del árbol de código fuente para más información sobre cómo hacerlo.

La lista de committers

Los committers son gente que tienen permisos de escritura en el árbol del CVS, y están por tanto autorizados a realizar modificaciones en los fuentes de FreeBSD (el término “committer” viene del comando commit de cvs(1), que sirve para subir nuevos cambios al repositorio del CVS). La mejor manera de enviar aportaciones para que sean revisadas por los committers es usar el comando send-pr(1), aunque si pareciera que algo va mal en el sistema también puedes enviar correo electrónico a lista de correo para 'committers' de FreeBSD.

El core team de FreeBSD

El core team de FreeBSD sería lo equivalente a una junta directiva si el Proyecto FreeBSD fuese una compañía. La principal tarea de este equipo es la de garantizar que el proyecto, como un todo, tiene salud y sigue las direcciones correctas. Invitar a desarrolladores comprometidos y responsables a unirse a nuestro grupo de committers es una de las funciones del core team, así como el reclutamiento de nuevos miembros del equipo cuando otros se van. El core team fue elegido de un conjunto de committers candidatos en octubre de 2000. Se celebran elecciones cada 2 años.

Algunos miembros del core team tienen también áreas de responsabilidad específicas, en cuanto a que se encargan de garantizar que cierta parte extensa del sistema funciona según lo previsto. Hay una lista completa de desarrolladores de FreeBSD con sus áreas de responsabilidad respectivas, consulta la Lista de contribuidores.

Nota: La mayoría de los miembros del core team son voluntarios a la hora de desarrollar FreeBSD y no se benefician económicamente del proyecto, por ello “compromiso” no debería confundirse con “soporte garantizado”. La anterior analogía de la “junta directiva” en realidad no es del todo exacta, quizá fuera más acertado decir que ésa es la gente que dedica su vida a FreeBSD ¡en contra de lo que les aconseja su propio juicio!

Contribuidores externos

Por último, y no por ello menos importante, el mayor grupo de desarrolladores está formado por los mismos usuarios, quienes constantemente aportan “feedback” y corrección de errores. La principal manera de estar en contacto con el más descentralizado desarrollo de FreeBSD es suscribirse a lista de discusiones técnicas en FreeBSD (ver información sobre listas de distribución) donde se discuten ese tipo de cosas.

La lista de contribuidores es larga y no cesa de crecer, así que ¿por qué no te apuntas y contribuyes a FreeBSD hoy mismo?

Aportar código no es la única manera de contribuir al proyecto; tienes un lista más completa de cosas que hay que hacer en el sitio web del Proyecto FreeBSD.

En resumen, nuestro modelo de desarrollo está organizado como un conjunto de círculos concéntricos. El modelo centralizado está diseñado para conveniencia de los “usuarios” de FreeBSD, que así tienen un modo sencillo de estar al día con una base de código central, ¡no para excluir a contribuidores potenciales!. Nuestro deseo es presentar un sistema operativo estable con un gran conjunto de aplicaciones coherentes que los usuarios puedan instalar y usar fácilmente, y este modelo funciona bien para lograrlo.

Lo único que pedimos a quienes quisieran unirse a nosotros como desarrolladores de FreeBSD es la misma dedicación que los integrantes actuales tienen para mantener su éxito.

1.3.4. La actual distribución FreeBSD

FreeBSD está libremente disponible, todo el código fuente de la distribución basada en 4.4BSD-Lite para sistemas bajo Intel i386, i486, Pentium Pro, Celeron, Pentium II, Pentium III (o compatible) y DEC Alpha. Está principalmente basado en software i386™, i486™, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium 4 (o compatible), Xeon™, DEC Alpha™ y sistemas basados en Sun UltraSPARC®. Está principalmente basado en software del grupo CSRG de U.C. Berkeley, con algunas mejoras provenientes de NetBSD, OpenBSD, 386BSD, y la Free Software Foundation.

Desde la versión 2.0 de FreeBSD de finales del 94, el rendimiento, conjunto de funcionalidades, y estabilidad del sistema han mejorado drásticamente. El último cambio consiste en un rediseño del sistema de memoria virtual con una caché unificada de VM/buffer que no sólo aumenta el rendimiento, sino que también reduce el consumo de memoria de FreeBSD, haciendo que una configuración de 5MB sea un mínimo más aceptable. Otras mejoras incluyen soporte completo para clientes y servidores NIS, soporte para transacciones TCP, llamada bajo demanda PPP, soporte para DHCP integrado, un subsistema SCSI mejorado, soporte para ISDN, soporte para ATM, FDDI, adaptadores Fast y Gigabit Ethernet (1000Mbit), soporte mejorado para los últimos controladores Adaptec, y cientos de correcciones de errores.

También hemos considerado los comentarios y sugerencias de muchos de nuestros usuarios y hemos intentado ofrecer lo que esperamos sea un proceso de instalación más sensato y fácil de entender. ¡Tu “feedback” sobre este proceso (en constante evolución) es especialmente bienvenido!

Además de las distribuciones base, FreeBSD ofrece una colección de software con miles de programas comúnmente solicitados. ¡En el momento de escribir esto hay unos 12,300 ports! La lista de ports comprende desde servidores HTTP (WWW), hasta juegos, lenguages, editores, y prácticamente cualquier cosa intermedia. La colección de ports completa requiere un espacio de aproximadamente 100MB, todos ellos expresados como “deltas” de sus fuentes originales. Esto hace que nos sea mucho más fácil actualizar ports, y reduce de un modo importante el espacio en disco que necesitaba la anterior colección de ports 1.0. Para compilar un port uno simplemente se sitúa bajo el directorio del programa que desea instalar, escribe make install, y deja que el sistema se encargue del resto. La distribución original completa de cada port que construyes se recupera dinámicamente de un CDROM o un sitio FTP, de modo que sólo necesitas el espacio usado para construir los ports que tu quieras. La mayoría de los ports también están disponibles precompilados en “paquetes”, que pueden instalarse con un simple comando (pkg_add) para aquéllos que no quieran compilar sus propios ports a partir de los fuentes.

Algunos documentos que pueden ser de ayuda en el proceso de instalación y al utilizar FreeBSD pueden también encontrarse en el directorio /usr/share/doc de cualquier máquina bajo FreeBSD 2.1 o posterior. Puedes ver los manuales que están instalados en local con cualquier navegador que pueda mostrar HTML vía las siguientes URLs:

El manual de FreeBSD

/usr/share/doc/handbook/index.html

Las FAQ de FreeBSD

/usr/share/doc/faq/index.html

También puedes ver la copia original (y más frecuentemente actualizada) en http://www.FreeBSD.org/.

Éste y otros documentos pueden obtenerse en ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para preguntas acerca de FreeBSD, leer la documentación antes de contactar con la lista <questions@FreeBSD.org>.
Para preguntas acerca de esta documentación, e-mail a <doc@FreeBSD.org>.

Hosting by: hurra.com
Generated: 2007-01-26 18:00:30