TEXTO-PLANO ===================================================================== Revista digital 05 | 07 --------------------------------------------------------------------- 07 | La historia de BSD ~ffuentes --------------------------------------------------------------------- # La historia de BSD En la mayoría de las comunidades, Unix-like es equivalente a GNU/Linux. Sin embargo, existe otro sistema operativo derivado de Unix que resultó clave y sin cuyas comunidades de desarrollo no tendríamos Internet tal como la conocemos ni otras herramientas muy importantes. Hablo de la Berkeley Software Distribution, que abreviado es BSD (que entre otras cosas, da vida a Texto-Plano). ## ¿Cómo se originó? Para entender el origen de BSD tenemos que irnos a la historia misma de Unix. En los años 70, con el surgimiento de Unix comienzan a aparecer inquietudes académicas respecto al sistema y también ciertas necesidades de mejora, tales como hacer más portable el sistema. Por otra parte, Unix era un sistema operativo propiedad de una empresa privada, la Bell Labs (propiedad conjunta de AT&T y Western Electric) con la burocracia esperable de una empresa grande y con código ya entonces legado mayormente escrito en ensamblador y diseñado para la PDP-11. Todo inicia en el año sabático que toma Ken Thompson, uno de los desarrolladores de Unix, para trabajar en la Universidad de California-Berkeley llevando consigo una PDP-11 con Unix v6. La gente de Berkeley ya conocía Unix por una pequeña inversión que se había hecho en el año de 1974 fomentada por Bob Fabry, un profesor de ciencias de la computación que estuvo presente en una presentación del sistema operativo y lo quiso tener con fines académicos. Cuando instalaron el sistema en una PDP-11 en conjunto con graduados de la universidad empezaron a utilizaron y tuvieron distintos problemas para los cuales la única forma de obtener ayuda era recurriendo a sus autores. Esto llevó pronto a que hubiera una relación entre Ken Thompson y la Universidad de California-Berkeley. La relación de Berkeley con Unix estimuló a estudiantes avanzados a involucrarse con el sistema. En el otoño de 1975, Bill Joy y Chuck Haley comenzaron a hackear Unix y a agregar mejores utilidades. Por ejemplo, Bill Joy es el responsable de la existencia de ex y vi, dos eximios editores de texto que utilizamos hasta el día de hoy. En la misma época el propio Thompson decide tomarse un año sabático para trabajar como profesor en Berkeley y apoyar la implementación de Unix en Berkeley. Para 1977, Bill Joy estaba desarrollando un Unix local como una variedad que incluía el software desarrollado por los estudiantes y mejoras al sistema. A esta versión la conoceríamos como 1BSD. Adicionales mejoras llevan a 2BSD a mediados de 1978. En esta 2BSD se incluía vi y termcap (una utilidad que permite a las aplicaciones utilizar terminales para desplegar contenido en pantalla) En ese mismo año, la universidad se vio en condiciones de adquirir una mejor máquina de cómputo, la VAX de Digital, que era más moderna que la PDP-11 (era de 32 bits, la PDP-11 era de 16 bits). La VAX utiliza el sistema operativo de Digital, el VMS, pero en Berkeley querían seguir utilizando Unix al que se habían acostumbrado. Un problema resultó ser que 32/V, la versión de Unix que tenía soporte para VAX y que habían conseguido, no aprovechaba bien el hardware, en especial la capacidad de memoria virtual. Esto les obligó a desarrollar esa capacidad para el sistema por sí mismos, lo que dio origen a 3BSD que también incluía el porte a 32 bits de las utilidades ya desarrolladas y, por supuesto, ya mejoradas. Fue lanzado en diciembre de 1979. Al mismo tiempo, se seguía soportando la PDP-11 con 2BSD. Como dato de color, 2BSD sigue recibiendo parches hasta el día de hoy. Respecto a 3BSD, fue capital para el mantenimiento del desarrollo. Algo importante sucedió con Unix en esta misma época: Los subsecuentes desarrollos de Unix ya no estarían siendo desarrollados por la Bell Labs, sino por AT&T y vistos como un sistema operativo netamente comercial, con condiciones poco favorables para el uso académico que se le daba en Berkeley. Berkeley se convertía entonces en el sucesor de Bell Labs en la experimentación con Unix. ## La consolidación de BSD Al mismo tiempo, DARPA, (la agencia de investigación en defensa de los Estados Unidos) estaba buscando un sistema para reemplazar sus viejas máquinas de cómputo en estado de obsolescencia y la posibilidad de reconectar unas con otras con el mismo sistema operativo, cosa rara en la época. Además tenían que hacer portable el código del software de investigación a ese nuevo hardware. No podían adquirir un mismo hardware para todos los centros de investigación ya que las necesidades y capacidades del hardware variaban mucho. Y allí fue donde Unix sale a la palestra para unir a todo el hardware a través de un solo sistema operativo. Fue la propia Berkeley la que propuso utilizar el recientemente publicado 3BSD como versión de Unix, sin embargo, tuvieron que mejorar el sistema para adaptarse a las necesidades del proyecto de DARPA que requería la friolera de 500 copias y por tanto, 500 equipos que mantener y para los que desarrollar mejoras. Esto llevó a la creación del CSRG (la formalización del grupo que trabajaba en BSD) y el desarrollo de 4BSD, el cual fue el primer encontrón entre Berkeley y AT&T. En esta época surge el protocolo TCP/IP, y 4.2BSD es de los primeros sistemas en presentar una implementación del mismo. La necesidad estaba en que DARPA, con todos los centros de investigación a lo largo y ancho de los Estados Unidos. Esta versión que sería finalmente muy esperada, se publicó en agosto de 1983 luego de varias versiones de prueba. También incluía un detalle no menor, un nuevo sistema de archivos, conocido como el FFS, que todavía se usa en BSD. Poco antes, Bill Joy dejaba el CSRG para fundar junto a otros desarrolladores e inventores la Sun Microsystems. 4.2BSD fue muy popular, doblando las licencias otorgadas de la versión anterior dadas sus capacidades de red y rapidez esperada en el sistema de archivos. Para 1985 se incluyen mejoras en la implementación de red y se comienza a trabajar en el porte de Unix a otras plataformas como Power 6/32 llamada Tahoe o la inclusión de un mejor sistema de memoria virtual en la versión Reno. Hay que tener en cuenta que hasta este momento todas las versiones de BSD contenían código de Unix, o sea, de AT&T, que era un sistema comercial y esto presentaba un problema legal evidente. Esto llevó a que por un lado, se tuviera que ofrecer el código de red (que no era de AT&T) por separado (y asi no obligarles a adquirir una licencia de AT&T) y también llevó al desarrollo de la licencia BSD. ## Los sucesores En este momento surge una empresa que buscaba popularizar BSD y comercializarlo abiertamente, se llamaba BSDI o Berkeley Software Design Inc. Su marketing apuntaba mucho a la ventaja en adquirir un Unix a una fracción del costo, lo que llamó inmediatamente la atención de AT&T y aunque terminó en un acuerdo judicial en 1994, frenó y complicó el desarrollo comercial, no solo de Unix sino de todos los "Unix like" Esta popularidad de BSD también llevó a que surgieran comunidades a su alrededor: Como se necesitaba una versión libre de código de AT&T, el CSRG avanzó bastante pero les quedaban por reemplazar 6 archivos del código fuente original. En ese mismo momento, un tal Bill Jolitz estaba portando el código de BSD a la arquitectura 386. Lo que logró fue doble, limpiar definitivamente BSD de código de AT&T y crear 386/BSD, una versión de BSD para lo que hoy llamaríamos la arquitectura de PC. El problema con Bill Jolitz fue que su modelo de trabajo era muy cerrado y el desarrollo demasiado lento para lo que se esperaba, lo que creó en conjunto el germen de lo que será en adelante la comunidad de NetBSD cuya primera versión se publicó en abril de 1993 (la primera versión estable salió en 1994) y no se enfoca solamente en la arquitectura PC sino en todas las arquitecturas disponibles en el mercado, incluso las que van quedando obsoletas. Poco después surgió otra comunidad más enfocada en la arquitectura PC en específico, buscando más bien lograr una aceptación masiva y usuarios no tan técnicos. Fue el inicio de FreeBSD donde también había gente disconforme con el centralizado desarrollo de 386/BSD. Poco después hubo problemas con el desarrollo de NetBSD y Theo de Raadt, parte de los fundadores del proyecto fue expulsado y creó su propio proyecto, el cual tiene un enfoque en la seguridad del sistema y también en la facilidad de instalación, así como en la documentación exhaustiva. No es tan "desktop-friendly" Las tres comunidades de desarrollo de BSD que mencioné siguen activas hasta hoy. En Texto-Plano nuestro sistema principal funciona gracias a OpenBSD hace cinco años sin parar y podemos dar testimonio de su fiabilidad. La comunidad BSD también puede sentirse orgullosa de que es heredera del Unix original, aunque sea quizás una hija no reconocida, superó a su padre sin lugar a dudas. ## Referencias - Twenty Years of Berkeley Unix From AT&T-Owned to Freely Redistributable Marshall Kirk McKusick - The History of BSD Systems Rune Slettebakken https://runslett.com/the-history-of-the-bsd-systems/ ~ffuentes