Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FreeBSD
Enrique Matas Snchez
Cuando se habla de software libre, la mayora de la gente lo asocia al sistema GNU/Linux. Sin embargo, tambin hay software libre para otros sistemas, e incluso sistemas operativos completos. En este artculo presentamos los BSD, unos sistemas que destacan por su madurez y calidad.
Breve historia de Unix, y GNU No es Unix
varios aos para alcanzar la madurez necesaria para publicar la versin 1.0. Sin embargo no hizo falta esperar a la publicacin del Hurd para poder disfrutar del sistema GNU: en 1991 el estudiante finlands Linus Benedict Torvalds decidi aplicar lo que estaba aprendiendo y escribi, por mera diversin y aprovechando las herramientas de la FSF, un nuevo ncleo que se llam Linux. Linus no tard en adoptar la licencia GNU GPL y, al unir su ncleo con las herramientas del proyecto GNU, se obtuvo finalmente un sistema operativo funcional totalmente libre, que se conoce como GNU/Linux y que hoy genera ros de tinta.
.3 FreeBSD 5 i386
74
REVISTAS , S.L. ALES PROFESION O, 42 - 3. BEAT
-26827 LEGAL: M DEPSITO 7-6883 ISSN: 157
- 1994
CD-ROM 2
Unix es una familia de potentes sistemas operativos desarrollada a partir de 1969 en los Bell Labs de la American Telephone and Telegraph company (AT&T) por Kenneth Thompson y Dennis MacAlistair Ritchie (quien de paso cre el lenguaje de programacin C) en un equipo dirigido por Doug McIlroy. Tras varios aos de uso interno, en 1974 AT&T empez a conceder licencias gratuitas o por un pago simblico a las instituciones acadmicas, como la Universidad de California en Berkeley, con lo que Unix se convirti en la base de muchas clases y proyectos de investigacin. Sin embargo, poco a poco se ira convirtiendo en un producto comercial. Ante la creciente privatizacin del software, Richard Matthew Stallman empez en 1984 a escribir un nuevo sistema operativo completo compatible con Unix, pero libre para todos bajo una licencia llamada GPL. Bautiz a su proyecto como GNU (GNU is Not Unix) y para coordinarlo fund la Free Software Foundation. Hacia 1990 el sistema GNU estaba casi completo; el nico componente esencial que faltaba era lo que se llama kernel o ncleo, que se llamara Hurd. La FSF decidi escribirlo siguiendo un diseo tan innovador como complejo. A da de hoy, el Hurd es funcional, pero todava le faltan
MUNDO
Linux
n74
36
FreeBSD
CD-ROM
forma binaria, sino siempre acompaado de su cdigo fuente. Hacia 1988, a raz del aumento del coste de estas licencias, Berkeley empez a recibir peticiones para que publicara el cdigo que haba desarrollado en una cinta aparte, que no requiriese dicha licencia. As, en junio de 1989 se public la Networking Release 1, el primer cdigo libremente redistribuible de Berkeley. Berkeley cobraba 1000 dlares por cinta, pero la licencia era muy liberal, pues los usuarios podan modificar y redistribuir el cdigo, incluso de forma binaria y bajo otra licencia. Las nicas exigencias eran que se mantuvieran las notas de copyright en los ficheros de cdigo y que se aadiera una nota de reconocimiento a la Universidad y sus contribuidores en la documentacin. Constatado el xito de la cinta, Keith Bostic, influido por las conversaciones que mantena con Stallman cuando ste visitaba la universidad, propuso al CSRG reimplementar todas las utilidades, bibliotecas y el ncleo para poder publicar una versin de BSD libremente distribuible. En eventos pblicos como Usenix, Bostic empez a pedir a la gente que reescribiera las utilidades de Unix desde cero, basndose nicamente en su descripcin pblica. La nica recompensa sera que su nombre aparecera en la lista de contribuidores junto a la utilidad que haba reescrito. Dieciocho meses despus, prcticamente todas las utilidades y bibliotecas importantes haban sido reescritas. Bostic, Michael J. Karels y Marshall Kirk McKusick dedicaron los siguientes meses a examinar uno a uno todos los ficheros de la distribucin, eliminando el cdigo procedente del sistema 32/V de AT&T. Finalmente les quedaron seis ficheros que no era fcil reescribir, y tras pedir autorizacin a la Universidad, en junio de 1991 publicaban la Networking Release 2, bajo los mismos trminos que la anterior.
Beastie, la mascota de los BSD. BSD Daemon Copyright 1988 by Marshall Kirk McKusick. All Rights Reserved.
los Jolitz adoptaron desde el principio un modelo de desarrollo vertical clsico. Mientras Linux animaba a la gente a que le enviase parches, ellos no tenan tiempo o inters en atender los fallos y mejoras que aparecan. Al cabo de un tiempo, dado este lento ritmo de desarrollo, un grupo de usuarios cre el proyecto NetBSD, que pretenda adems soportar tantas plataformas como fuera posible. Otro grupo, formado por Jordan K. Hubbard, Rod Grimes y Nate Williams, publicaba un conjunto de parches llamado Unofficial 386BSD Patchkit, pero ante la falta de apoyo de Jolitz, finalmente decidieron crear su propia rama, que llamaron FreeBSD.
Problemas legales
Por su parte, BSDI comercializ y ofreci servicios de soporte para su versin del sistema, llamada BSD/386, a un precio muy inferior al de AT&T. Ah fue cuando las cosas se complicaron: Unix System Laboratories (la filial que tras USG haba creado AT&T para desarrollar y comercializar Unix) interpuso una demanda contra BSDI y la Universidad de California por violacin de copyright y divulgacin de secretos comerciales. La Universidad de California contraatac con otra demanda, argumentando que a su vez USL estaba usando el cdigo de BSD sin respetar la licencia (la nota de reconocimiento a la universidad en la documentacin y publicidad). Poco despus Novell compr USL, y su directivo, Raymond J. Noorda, prefiri negociar a seguir un proceso judicial de resultados impredecibles. En enero de 1994 llegaron a un acuerdo confidencial: la universidad acept retirar 3 de los 18000 ficheros que componan la Networking Release 2, hacer algunos cambios menores y aadir notas de copyright de USL a otros 70 ficheros. El resultado se public en junio de 1994 como 4.4BSD-Lite, y USL se comprometi a no demandar a nadie que lo usara como base. Los detalles del acuerdo han permanecido en secreto durante ms de diez aos, hasta que en noviembre de 2004 un miembro de Groklaw conMUNDO
37
Linux
n74
CD-ROM
FreeBSD, que en principio prefiri concentrarse en los procesadores x86, ahora funciona tambin sobre alpha, amd64, sparc y otros. Es un sistema operativo slido como una roca y tremendamente eficiente, que obtiene el mximo rendimiento de la mquina. Otro de los objetivos iniciales era hacerlo ms accesible a usuarios menos tcnicos, y de hecho es el BSD libre ms extendido. Los ltimos miembros de la familia son DragonFly BSD y elMac OS X de Apple, que a su ncleo BSD (Darwin) aade la evolucin de las API OpenStep de NeXT (Cocoa) y una atractiva interfaz grfica (Aqua). Contando a Mac OS X, hay ms sistemas de escritorio funcionando con *BSD que con GNU/Linux. En el espacio de pocas semanas se han publicado las esperadas nuevas versiones estables de FreeBSD (5.3) y NetBSD (2.0), as como OpenBSD 3.6, proyecto que publica una nueva versin puntualmente cada seis meses. En este artculo dedicaremos especial atencin a FreeBSD, cuya nueva versin estable ha sido minuciosamente preparada durante casi cinco aos.
FreeBSD 5.3 incluye la versin 2.6 de GNOME.
sigui que se hiciera pblico, con lo que se cerr una de las pginas ms importantes de la historia de los Unixes libres. BSDI, NetBSD y FreeBSD tuvieron pues que desandar lo que haban hecho durante esos 3 aos y volver a empezar a partir de esta versin. No obstante, eso les dio la oportunidad de incorporar las mejoras que haban hecho los dems grupos. En junio de 1995 se public 4.4BSD-Lite, Release 2, y el CSRG se disolvi, dejando el desarrollo en manos de los dems proyectos.
BSD hoy en da
Como hemos visto, los diferentes *BSD (como se llama al conjunto de todos estos sistemas) no surgen de la nada. Estn reconocidos como unos sistemas maduros, robustos y muy estables, pero para cuando se aclar su situacin legal, GNU/Linux era ya el sistema libre ms popular. No obstante, siguen en plena vigencia y creciendo en nmero de usuarios y funcionalidades. NetBSD sigue manteniendo como prioridad que su distribucin funcione sobre el mayor nmero de plataformas posible, y hoy es capaz de comportarse exactamente igual sobre una vertiginosa lista de mquinas. De ah su slogan: Of course it runs NetBSD. NetBSD se usa por muchos grupos de investigacin, desde IPv6 hasta la Estacin Espacial Internacional. En octubre de 1995 surgi de NetBSD otro grupo llamado OpenBSD, liderado por Theo de Raadt. OpenBSD decidi enfocar su trabajo a la seguridad, pues al ser Theo canadiense poda incluir en el sistema el software criptogrfico que las leyes estadounidenses impedan exportar. OpenBSD puede vanagloriarse de ser el sistema ms seguro del mundo, por lo que es muy empleado para montar cortafuegos.
MUNDO
Linux
n74
38
FreeBSD
CD-ROM
Software
La inmensa mayora del software escrito para GNU/Linux compila tambin sobre FreeBSD, quiz con algn pequeo cambio. El rbol de ports de FreeBSD cuenta con ms de 12,000 programas, lo que si bien no alcanza a Debian, s supera con mucho a cualquier distribucin comercial. Tambin se pueden usar los programas disponibles nicamente como binarios para Linux, gracias a un paquete de compatibilidad. Como resultado, hay una mayor cantidad de software disponible para BSD que para Linux.
Aprendizaje
Aunque no hagamos nunca de FreeBSD nuestro sistema operativo principal, conocerlo nos ayudar a abstraer y profundizar los conceptos ms all de la implementacin concreta que usemos habitualmente. As estaremos mejor preparados para cuando tengamos que enfrentarnos a un sistema con el que no estemos familiarizados.
Eficiencia
Tanto FreeBSD como Linux 2.6 proporcionan un notable rendimiento y escalabilidad. En muchos casos la diferencia ser pequea, pero en otros puede ser importante. Es recomendable hacer pruebas comparativas para la tarea especfica que vayan a realizar y tener en cuenta este dato a la hora de elegir. En un entorno tan cambiante como el de los sistemas operativos, no hay una respuesta universal.
Integracin
El proyecto FreeBSD mantiene el sistema operativo completo, no slo el ncleo o alguna de las utilidades. En cambio, en GNU/Linux cada parte es desarrollada por grupos independientes. Esto provoca que las utilidades de FreeBSD se integren mucho mejor entre s, si bien no incorporan tantas extensiones como las de GNU. No obstante, FreeBSD incluye tambin muchas herramientas de GNU (empezando por el compilador gcc), y las distribuciones de GNU/Linux incluyen abundante cdigo de BSD, como ssh.
Documentacin
En vez de estar desperdigada por infinidad de HOWTO y tutoriales, la documentacin de FreeBSD se concentra en el exhaustivo manual oficial. Sin embargo, hay que admitir que el manual (y en cierto modo el propio sistema) est orientado a usuarios que ya cuenten ya con cierta experiencia en Unix, y no se ha hecho un esfuerzo por hacerlo fcil de usar tan importante como el realizado desde las distribuciones de GNU/Linux.
Licencia
La licencia GPL est diseada para evitar que el cdigo protegido por ella pueda ser incluido en programas privativos, mientras que el objetivo de los sistemas BSD es facilitar software que pueda ser usado en todos los mbitos sin ningn tipo de atadura, por lo que prefieren una licencia ms sencilla y permisiva. Segn a quin y para qu, una licencia puede ofrecer ventajas sobre la otra.
Estabilidad
Si bien Linux es muy estable, la lista de servidores con mayor uptime de Netcraft est invariablemente copada por los BSD (http://uptime.netcraft.com/up/today/top.avg.html). Sitios tan importantes como Yahoo! o los de los proyectos Apache, Postfix, Python y PostgreSQL funcionan con FreeBSD. todas las piezas interoperan y encajan entre s con precisin. Si bien FreeBSD tiene todas las caractersticas de los sistemas Unix comerciales, no puede sin embargo denominarse as, porque Unix es una marca registrada de The Open Group, por lo que hay que limitarse a decir que es un sistema de tipo Unix. Por otra parte, casi todos los programas que funcionan sobre otros Unixes o GNU/Linux pueden compilarse sobre FreeBSD, sin ms o con mnimos cambios. Como Debian o Gentoo, FreeBSD es un proyecto sin nimo de lucro, formado por voluntarios. Eso no significa que no haya empresas que ofrezcan soporte comercial o que ocasionalmente alguno de los desarrolladores pueda ser pagado para trabajar en el sistema ms all de su tiempo libre.
La comunidad
La comunidad de FreeBSD se compone en buena parte de profesionales, que estn ms interesados en debatir datos y tcnicas que en perder tiempo discutiendo sus opiniones o enzarzndose en guerras santas. Gracias a esto, las listas y foros de FreeBSD suelen gozar de una buena relacin seal/ruido.
Curiosamente Debian desarrolla tambin GNU/kFreeBSD, que consiste en el sistema GNU pero usando el ncleo de FreeBSD en lugar de Linux. FreeBSD se desarrolla en dos ramas, de manera similar a Linux. Sin embargo no se distinguen en que el nmero de versin menor sea par o impar, sino por un sufijo. La rama -CURRENT est orientada a hackers y es sobre la que se hace el desarrollo, por lo que los cambios son constantes y muy importantes, y puede incluso no funcionar. La rama -STABLE est orientada a entornos de produccin, por lo que los cambios son necesariamente conservadores. Varias veces al ao se publican versiones en CD de ambas ramas, llamadas releases. Las releases de la rama de desarroMUNDO
39
Linux
n74
CD-ROM
llo estn dirigidas a los usuarios ms aventureros, para que las prueben e informen de los fallos que encuentren. La rama 4.x ha sido la estable durante casi cinco aos, hasta que en noviembre de 2004 se public FreeBSD 5.3, que incorpora numerossimas novedades. Este lapso de tiempo ha sido claramente excesivo, y los desarrolladores de FreeBSD estn debatiendo ahora la posibilidad de basar las futuras versiones en una planificacin temporal, de manera similar a OpenBSD, en vez de esperar a que todas las funcionalidades deseadas estn completas y sean debidamente estables. Tambin se presta mucha atencin a que las pginas de manual y el resto de la documentacin estn actualizadas y sean correctas. El primer (y frecuentemente el ltimo) sitio al que recurrir para aprender a manejar el sistema y solucionar problemas son el conciso pero completo manual y la lista de Preguntas Ms Frecuentes (FAQ). Adems, gracias al trabajo voluntario del grupo de traduccin, la mayor parte de la documentacin est disponible en castellano.
Conclusin
En un prximo artculo os guiaremos en vuestros primeros pasos con FreeBSD. Hasta entonces os recomendamos visitar los recursos citados en el cuadro Referencias, donde encontraris abundante informacin.
Referencias
La documentacin oficial del sistema est disponible en http://www.es.freebsd.org/doc/es/ y tambin se instala en /usr/share/doc. Es recomendable suscribirse a la lista de distribucin de correo electrnico de FreeBSD en castellano visitando la pgina https://listas.es.freebsd.org/mailman/listinfo/freebsd. Antes de plantear preguntas en ella se debe consultar la documentacin. Algunos de los libros ms recomendables (aparte del manual oficial, que tambin se puede adquirir en papel) son: The Complete FreeBSD, de Greg Lehey. Absolute BSD: The Ultimate Guide to FreeBSD, de Michael Lucas. BSD Hacks, de Dru Lavigne. Estos libros, as como CD, camisetas, etc., se pueden adquirir en www.freebsdmall.com y www.bsdmall.com, que dedican parte de sus beneficios al proyecto.
MUNDO
Linux
n74
40
Licencia
Copyright 2005 Enrique Matas Snchez. Algunos derechos reservados. Se concede permiso para copiar, distribuir y/o modificar este documento bajo las condiciones de la licencia Reconocimiento-CompartirIgual 2.5 o, a su eleccin, cualquier versin posterior publicada por Creative Commons. Puede consultar una copia de dicha licencia en http://creativecommons.org/licenses/by-sa/2.5/es/legalcode.es.