Está en la página 1de 10

Historia de Unix.

Unix Unix (registrado oficialmente como UNIX) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy. Hasta 2009, el propietario de la marca UNIX fue The Open Group, un consorcio de normalizacin industrial. A partir de marzo de 2010 y tras una larga batalla legal, esta ha pasado nuevamente a ser propiedad de Novell, Inc. Slo los sistemas totalmente compatibles y que se encuentran certificados por la especificacin Single UNIX Specification pueden ser denominados "UNIX" (otros reciben la denominacin "similar a un sistema Unix" o "similar a Unix"). En ocasiones, suele usarse el trmino "Unix tradicional" para referirse a Unix o a un sistema operativo que cuenta con las caractersticas de UNIX Versin 7 o UNIX System V. Contenido 1 Historia 2 Familias 3 Familias UNIX ms significativas Historia A finales de 1960, el Instituto Tecnolgico de Massachusetts, los Laboratorios Bell de AT&T y General Electric trabajaban en un sistema operativo experimental llamado Multics ( Multiplexed Information and Computing System), desarrollado para ejecutarse en una computadora central (mainframe) modelo GE-645. El objetivo del proyecto era desarrollar un gran sistema operativo interactivo que contase con muchas innovaciones, entre ellas mejoras en las polticas de seguridad. El proyecto consigui dar a luz versiones para produccin, pero las primeras versiones contaban con un pobre rendimiento. Los laboratorios Bell de AT&T decidieron desvincularse y dedicar sus recursos a otros proyectos. Uno de los programadores de los laboratorios Bell, Ken Thompson, sigui trabajando para la computadora GE-635 y escribi un juego llamado Space Travel, (Viaje espacial). Sin embargo, descubri que el juego era lento en la mquina de General Electric y resultaba realmente caro, algo as como 75 dlares de EE.UU. por cada partida. De este modo, Thompson escribi nuevamente el programa, con ayuda de Dennis Ritchie, en lenguaje ensamblador, para que se ejecutase en una computadora DEC PDP-7. Esta experiencia, junto al trabajo que desarroll para el proyecto Multics, condujo a Thompson a iniciar la creacin de un nuevo sistema operativo para la DEC PDP-7. Thompson y Ritchie lideraron un grupo de programadores, entre ellos a Rudd Canaday, en los laboratorios Bell, para desarrollar tanto el sistema de ficheros como el sistema operativo multitarea en s. A lo anterior, agregaron un intrprete de rdenes (o intrprete de comandos) y un pequeo conjunto de programas. El proyecto fue bautizado UNICS, como acrnimo Uniplexed Information and Computing System, pues slo prestaba servicios a dos usuarios (de acuerdo con Andrew Tanenbaum, era slo a un usuario). La autora de esta sigla se le atribuye a Brian Kernighan, ya que era un hack de Multics. Dada la popularidad que tuvo un juego de palabras que consideraba a UNICS un sistema MULTICS castrado (pues eunuchs, en ingls, es un homfono de UNICS), se cambi el nombre a UNIX, dando origen al legado que llega hasta nuestros das. Hasta ese instante, no haba existido apoyo econmico por parte de los laboratorios Bell, pero eso cambi cuando el Grupo de Investigacin en Ciencias de la Computacin decidi utilizar UNIX en una mquina superior a la PDP-7. Thompson y Ritchie lograron cumplir con la solicitud de agregar herramientas que permitieran el procesamiento de textos a UNIX en una mquina PDP-11/20, y como consecuencia de ello consiguieron el apoyo econmico de los laboratorios Bell. Fue as como por vez primera, en 1970, se habla oficialmente del sistema operativo UNIX ejecutado en una PDP-11/20. Se inclua en l un programa para dar formato a textos (runoff) y un editor de texto. Tanto el sistema operativo como los programas fueron escritos en el lenguaje ensamblador de la PDP-11/20. Este "sistema de procesamiento de texto" inicial, compuesto tanto por el sistema operativo como de runoff y el editor de texto, fue utilizado en los laboratorios Bell para procesar las solicitudes de patentes que ellos reciban. Pronto, runoff evolucion hasta convertirse en troff, el primer programa de edicin electrnica que permita realizar composicin tipogrfica. El 3 de noviembre de 1971 Thomson y Ritchie publicaron un manual de programacin de UNIX (ttulo original en ingls: "UNIX Programmer's Manual"). En 1972 se tom la decisin de escribir nuevamente UNIX, pero esta vez en el lenguaje de programacin C. Este cambio significaba que UNIX podra ser fcilmente modificado para funcionar en otras computadoras (de esta manera, se volva portable) y as otras variaciones podan ser desarrolladas por otros programadores. Ahora, el cdigo era ms conciso y compacto, lo que se tradujo en un aumento en la velocidad de desarrollo de UNIX. AT&T puso a UNIX a disposicin de universidades y compaas, tambin al gobierno de los Estados Unidos, a travs de licencias. 13 Una de estas licencias fue otorgada al Departamento de Computacin de la Universidad de California, con sede en Berkeley. En 1975 esta institucin desarroll y public su propio sucedneo de UNIX, conocida como Berkeley Software Distribution (BSD), que se convirti en una fuerte competencia para la familia UNIX de AT&T.

Mientras tanto, AT&T cre una divisin comercial denominada Unix Systems Laboratories para la explotacin comercial del sistema operativo. El desarrollo prosigui, con la entrega de las versiones 4, 5 y 6 en el transcurso de 1975. Estas versiones incluan los pipes o tuberas, lo que permiti dar al desarrollo una orientacin modular respecto a la base del cdigo, consiguiendo aumentar an ms la velocidad de desarrollo. Ya en 1978, cerca de 600 o ms mquinas estaban ejecutndose con alguna de las distintas encarnaciones de UNIX. La versin 7, la ltima versin del UNIX original con amplia distribucin, entr en circulacin en 1979. Las versiones 8, 9 y 10 se desarrollaron durante la dcada de 1980, pero su circulacin se limit a unas cuantas universidades, a pesar de que se publicaron los informes que describan el nuevo trabajo. Los resultados de esta investigacin sirvieron de base para la creacin de Plan 9 from Bell Labs, un nuevo sistema operativo portable y distribuido, diseado para ser el sucesor de UNIX en investigacin por los Laboratorios Bell. AT&T entonces inici el desarrollo de UNIX System III, basado en la versin 7, como una variante de tinte comercial y as venda el producto de manera directa. La primera versin se lanz en 1981. A pesar de lo anterior, la empresa subsidiaria Western Electric segua vendiendo versiones antiguas de Unix basadas en las distintas versiones hasta la sptima. Para finalizar con la confusin con todas las versiones divergentes, AT&T decidi combinar varias versiones desarrolladas en distintas universidades y empresas, dando origen en 1983 al Unix System V Release 1. Esta versin present caractersticas tales como el editor Vi y la biblioteca curses, desarrolladas por Berkeley Software Distribution en la Universidad de California, Berkeley. Tambin contaba con compatibilidad con las mquinas VAX de la compaa DEC. Hacia 1991, un estudiante de ciencias de la computacin de la Universidad de Helsinki, llamado Linus Torvalds desarroll un ncleo para computadoras con arquitectura x86 de Intel que emulaba muchas de las funcionalidades de UNIX y lo lanz en forma de cdigo abierto en 1991, bajo el nombre de Linux. En 1992, el Proyecto GNU comenz a utilizar el ncleo Linux junto a sus programas. En 1993, la compaa Novell adquiri la divisin Unix Systems Laboratories de AT&T junto con su propiedad intelectual. Esto ocurri en un momento delicado en el que Unix Systems Laboratories disputaba una demanda en los tribunales contra BSD por infraccin de los derechos de copyright, revelacin de secretos y violacin de marca de mercado. Aunque BSD gan el juicio, Novell descubri que gran parte del cdigo de BSD fue copiada ilegalmente en UNIX System V. En realidad, la propiedad intelectual de Novell se reduca a unos cuantos archivos fuente. La correspondiente contra-demanda acab en un acuerdo extrajudicial cuyos trminos permanecen bajo secreto a peticin de Novell. En 1995, Novell vendi su divisin UNIX comercial (es decir, la antigua Unix Systems Laboratories) a Santa Cruz Operation (SCO) reservndose, aparentemente, algunos derechos de propiedad intelectual sobre el software. SCO contina la comercializacin de System V en su producto UnixWare, que durante cierto tiempo pas a denominarse OpenUnix, aunque ha retomado de nuevo el nombre de UnixWare. Familias Como se puede deducir de esta breve resea histrica, existen varias familias del sistema operativo UNIX, que han evolucionado de manera independiente a lo largo de los aos. Cada familia se distingue no tanto por sus diferencias tcnicas como por sus diferencias en propiedad intelectual. Se observa que todas las familias se han visto contaminadas, directa o indirectamente, por otras familias.

Familias UNIX ms significativas AT&T: la familia que tuvo su origen en el UNIX de AT&T. Considerada la familia UNIX "pura" y original. Sus sistemas operativos ms significativos son UNIX System III y UNIX System V. BSD: familia originada por el licenciamiento de UNIX a Berkely. BSD se reescribi para no incorporar propiedad intelectual originaria de AT&T en la versin 4. La primera implementacin de los protocolos TCP/IP que dieron origen a Internet son la pila (stack) TCP/IP BSD. AIX: Esta familia surge por el licenciamiento de UNIX System III a IBM. Xenix: familia derivada de la adquisicin de los derechos originales de AT&T primero por parte de Microsoft y de esta los vendi a SCO. GNU: En 1983, Richard Stallman anunci el Proyecto GNU, un ambicioso esfuerzo para crear un sistema similar a Unix, que pudiese ser distribuido libremente. El software desarrollado por este proyecto -por ejemplo, GNU Emacs y GCC - tambin han sido parte fundamental de otros sistemas UNIX. Linux: En 1991, cuando Linus Torvalds empez a proponer el ncleo Linux y a reunir colaboradores, las herramientas GNU eran la eleccin perfecta. Al combinarse ambos elementos, conformaron la base del sistema operativo (basado en POSIX) que hoy se conoce como GNU/Linux. Las distribuciones basadas en el ncleo, el software GNU y otros agregados entre las que se pueden mencionar a Slackware Linux, Red Hat Linux y Debian GNU/Linux se han hecho populares tanto entre los aficionados a la computacin como en el mundo empresarial. Obsrvese que Linux tiene un origen independiente, por lo que se considera un 'clnico' de UNIX y no un UNIX en el sentido histrico. Las interrelaciones entre estas familias son las siguientes, aproximadamente en orden cronolgico: La familia BSD surge del licenciamiento del UNIX original de AT&T. Xenix tambin surge por licenciamiento del UNIX original de AT&T, aunque an no era propiedad de SCO. AIX surge por licenciamiento de UNIX System III, pero tambin incorpora propiedad intelectual de BSD. La familia original AT&T incorpora ilegalmente propiedad intelectual de BSD en UNIX System III r3.

o o o o

La familia AIX vuelve a incorporar propiedad intelectual de la familia AT&T, esta vez procedente de UNIX System V. Linux incorpora propiedad intelectual de BSD, gracias a que ste tambin se libera con una licencia de cdigo abierto denominada Open-source BSD. Segn SCO Group, Linux incorpora propiedad intelectual procedente de AIX, gracias a la colaboracin de IBM en la versin 2.4, mas an no est demostrado, hay un proceso judicial al respecto: Disputas de SCO sobre Linux. Historia de Linux El ncleo Linux, ha sido marcado por un crecimiento constante en cada momento de su historia. Desde la primera publicacin de su cdigo fuente en 1991, nacido desde un pequeo nmero de archivos en lenguaje C bajo una licencia que prohbe la distribucin comercial a su estado actual de cerca de 296 MiBs de fuente bajo la Licencia pblica general de GNU. El nombre Linux ha generado gran controversia y nuevas alternativas no han tardado en aparecer para hacerle competencia. Contenido 1 Antecedentes 2 Aparicin de Linux 2.1 Desarrollo del ncleo Linux 2.2 El nombre 2.3 Linux bajo la GNU GPL 2.4 GNU/Linux Antecedentes En 1983 Richard Stallman inici el Proyecto GNU, con el propsito de crear un sistema operativo similar y compatible con UNIX y los estndares POSIX. Dos aos ms tarde, 1985, cre la Fundacin del Software Libre (FSF) y desarroll la Licencia pblica general de GNU (GNU GPL), para tener un marco legal que permitiera difundir libremente el software. De este modo el software de GNU fue desarrollado muy rpidamente, y por muchas personas. A corto plazo, se desarroll una multiplicidad de programas, de modo que a principios de los aos 1990 haba casi bastante software disponible como para crear un sistema operativo completo. Sin embargo, todava le faltaba un ncleo. Esto deba ser desarrollado en el proyecto GNU Hurd, pero Hurd demostr desarrollarse muy inactivamente, porque encontrar y reparar errores (eliminacin de fallos, debugging en ingls) era muy difcil, debido a las caractersticas tcnicas del diseo del microncleo. Otro proyecto de sistema operativo software libre, en los aos 1980 fue BSD. Este fue desarrollado en la Universidad de Berkeley desde la 6 edicin de Unix de AT&T. Puesto que el cdigo de AT&T Unix estaba contenido en BSD, AT&T present una demanda a principios de los aos 1990 contra la Universidad de Berkeley, la cual limit el desarrollo de BSD y redujo el desarrollo. As a principios de los aos 1990 no produjo ningn sistema completo libre. El futuro de BSD era incierto debido al pleito y detuvo el desarrollo. Adems, el Proyecto GNU gradualmente se desarrollaba pero, este careca de un bien formado ncleo UNIX. Esto dej un nicho crtico abierto, que Linux llenara muy pronto Aparicin de Linux Desarrollo del ncleo Linux En 1991 , en Helsinki, Linus Torvalds comenz un proyecto que ms tarde lleg a ser el ncleo Linux. Esto fue al principio un emulador terminal, al cual Torvalds sola tener acceso en los grandes servidores UNIX de la universidad. l escribi el programa expresamente para el hardware que usaba, e independiente de un sistema operativo, porque quiso usar las funciones de su nueva computadora personal con un procesador 80386. Este es an el estndar de hoy. El sistema operativo que l us durante el desarrollo fue Minix, y el compilador inicial fue el GNU C compiler, que an es la opcin principal para compilar Linux hoy (aunque Linux puede ser compilado bajo otros compiladores, tal como el Intel C Compiler escribi en su libro "Solamente por diversin", l tarde o temprano comprendi que haba escrito un ncleo de sistema operativo. El 25 de agosto de 1991, 20:57:08 GMT, anunci este sistema en un envo a la red Usenet, en el newsgroup (grupo de noticias): comp.os.minix.: Hello everybody out there using minix I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus Benedict Torvalds (torvalds@kruuna.helsinki.fi)

PS. Yes it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. Linus Torvalds Traduccin: Hola a todos aquellos que usan Minix Estoy haciendo un sistema operativo (gratuito) (solamente una aficin, no ser grande ni profesional como el GNU) para clones 386(486) AT. Este ha estado gestndose desde abril, y est comenzando a estar listo. Me gustara recibir cualquier comentario sobre las cosas que gustan/disgustan en minix, ya que mi SO (Sistema Operativo) se le parece un poco (la misma disposicin fsica del sistema de archivos, debido a motivos prcticos, entre otras cosas). Actualmente he portado bash(1.08) y gcc(1.40), y las cosas parecen funcionar. Esto implica que conseguir algo prctico dentro de unos meses, y me gustara saber qu caractersticas quiere la mayora de la gente. Cualquier sugerencia es bienvenida, pero no prometer que las pondr en prctica :-) Linus Benedict Torvalds (torvalds@kruuna.helsinki.fi)

PD. S es libre de cualquier cdigo de minix, y tiene un sistema de archivos multi-hilo. NO es portable (usa 386 una conmutacin de tarea etc.), y probablemente nunca ser soportada por nada ms que los discos duros AT, porque es todo lo que tengo :-(. Linus Torvalds El nombre Linus Torvalds haba querido llamar su invencin Freax, un portmanteau de freak (anormal o raro), free (libre), y "X", una alusin a Unix. Durante el inicio de su trabajo sobre el sistema, l almacen los archivos bajo el nombre "Freax" por aproximadamente medio ao. Torvalds ya haba considerado el nombre "Linux", pero al principio lo haba descartado por ser demasiado egocntrico o egosta. Para dar a otra gente la capacidad de cooperar en el sistema o sugerir mejoras, los archivos fueron colocados en el servidor ftp (ftp.funet.fi) de la Universidad de Tecnologa de Helsinki (Helsinki University of Technology) (HUT), en septiembre de 1991. Ari Lemmke, colega de Torvalds en la HUT, que en ese entonces era responsable de los servidores, no estuvo de acuerdo con el nombre Freax, prefiriendo el nombre Linux. l simplemente llam a los archivos colocados sobre el servidor "Linux" sin consultar a Torvalds. Ms tarde, sin embargo, Torvalds accedi a usar el nombre "Linux": " Despus de muchas discusiones, l finalmente admiti que Linux era simplemente el mejor nombre. En el cdigo original de la versin 0.01 de Linux, el nombre Freax fue, sin embargo, usado en el makefile. Slo despus fue usado el nombre Linux. As el nombre, en realidad, no planificado en absoluto se hizo generalmente aceptado por todo el mundo. " Linux bajo la GNU GPL Torvalds primero public el ncleo Linux bajo su propia licencia, la cual fue casi una licencia de cdigo fuente compartida (en ingls, share source) y que tena una restriccin contra la actividad comercial. En 1992, l sugiri cambiar a la GNU GPL. Primero anunci este cambio en las notas de lanzamiento de la versin 0.12. A mediados de diciembre de 1992 l public la versin 0.99 usando la GNU GPL. Ms tarde, Torvalds dijo en una entrevista, "registrar a Linux bajo la GPL fue definitivamente la mejor cosa que alguna vez hice".9 GNU/Linux La designacin "Linux" al principio fue usada por Torvalds slo para el ncleo. El ncleo fue, sin embargo, con frecuencia usado junto con otro software, especialmente con el del proyecto de GNU. Esta variante de GNU rpidamente se hizo la ms popular, ya que no haba ningn otro ncleo libre que funcionara en ese tiempo. Cuando la gente comenz a referirse hacia esta recopilacin como "Linux", Richard Stallman, el fundador del proyecto de GNU, solicit que se usara el nombre GNU/Linux, para reconocer el rol del software de GNU. En junio de 1994, en el boletn de GNU, Linux fue mencionado como un "clon libre de UNIX", y el Proyecto Debian comenz a llamar a su producto GNU/Linux. En mayo de 1996, Richard Stallman public al editor Emacs 19.31, en el cual el tipo de sistema fue renombrado de Linux a Lignux. Esta "escritura" fue pretendida para referirse expresamente a la combinacin de GNU y Linux, pero esto pronto fue abandonado en favor de "GNU/Linux". El producto terminado es ms a menudo denominado simplemente como "Linux", como el ms simple, el nombre original. Stallman anunci su demanda por un cambio de nombre slo despus de que el sistema ya se haba hecho popular. Software Libre y Open Source.-

Software

Libre

Open

Source

Bajo la idea de los movimientos (o filosofas) de Software Libre y Open Source [OSIc] [OSIb] (tambin llamado de cdigo abierto o software abierto), se encuentran varias formas de software, no todas del mismo tipo, pero s compartiendo muchas ideas comunes. La denominacin de un producto de software como de cdigo abierto conlleva como idea ms importante la posibilidad de acceder a su cdigo fuente, y la posibilidad de modificarlo y redistribuirlo de la manera que se considere conveniente, estando sujeto a una determinada licencia de cdigo abierto, que nos da el marco legal. Frente a un cdigo de tipo propietario, en el cual un fabricante (empresa de software) encierra su cdigo, ocultndolo y restringindose los derechos a s misma, sin dar posibilidad de realizar ninguna adaptacin ni cambios que no haya realizado previamente la empresa fabricante, el cdigo abierto ofrece, entre otras consideraciones: a) Acceso al cdigo fuente, ya sea para estudiarlo (ideal para educacin) o modificarlo, sea para corregir errores, adaptarlo o aadir ms prestaciones. b) Gratuidad: normalmente, el software, ya sea en forma binaria o en la forma de cdigo fuente, puede obtenerse libremente o por una mdica cantidad en concepto de gastos de empaquetamiento, distribucin y valores aadidos. c) Evitar monopolios de software propietario: no depender de una nica opcin o nico fabricante de nuestro software. Esto es ms importante cuando se trata de una gran organizacin, ya sea una empresa o estado, los cuales no pueden (o no deberan) ponerse en manos de una determinada nica solucin y pasar a depender exclusivamente de ella. d) Un modelo de avance, no basado en la ocultacin de informacin, sino en la comparticin del conocimiento (semejante al de la comunidad cientfica), para lograr progresos de forma ms rpida, con mejor calidad, ya que las elecciones tomadas estn basadas en el consenso de la comunidad, y no en los caprichos de empresas desarrolladoras de software propietario. Crear programas y distribuirlos junto al cdigo fuente no es nuevo. Ya desde los inicios de la informtica y en los inicios de la red Internet se haba hecho as. Sin embargo, el concepto de cdigo abierto como tal, la definicin y la redaccin de las condiciones que tena que cumplir datan de mediados de 1997. Eric Raymond y Bruce Perens fueron los que divulgaron la idea. Raymond [Ray98] era autor del ensayo titulado La catedral y el Bazar, que hablaba sobre las tcnicas de desarrollo de software utilizadas por la comunidad Linux, encabezada por Linus Torvalds, y la comunidad GNU de la Free Software Foundation (FSF), encabezada por Richard Stallman. Por su parte, Bruce Perens era en aquel momento el jefe del proyecto Debian, que trabajaba en la creacin de una distribucin de GNU/Linux integrada nicamente con software libre. Nota Dos de las comunidades ms importantes son la FSF, con su proyecto de software GNU, y la comunidad Open Source, cuyo mximo exponente de proyecto es Linux. GNU/Linux es el resultado de la unin de sus trabajos. Una distincin importante entre estas comunidades son las definiciones de cdigo abierto y software libre. [Deba] [PS02] El Software Libre (Free Software) [FSF] es un movimiento que parte de las ideas de Richard Stallman, que considera que hay que garantizar que los programas estuviesen al alcance de todo el mundo de forma gratuita, se tuviese acceso libre a stos y pudieran utilizarse al antojo de cada uno. Una distincin importante, que caus ciertas reticencias a las empresas, es el trmino free. En ingls, este trmino tiene el doble significado de gratuito y libre. La gente de la FSF buscaba las dos cosas, pero era difcil vender ambas cosas a las empresas; la pregunta tpica era: cmo se poda ganar dinero con esto? La respuesta vino de la comunidad Linux (con Linus Torvalds en cabeza), cuando consiguieron tener una cosa que todava no haba logrado la comunidad GNU y la FSF: tener un sistema operativo libre con cdigo fuente disponible. En este momento es cuando a la comunidad se le ocurri juntar las diversas actividades que haba en la filosofa del Software Libre bajo la nueva denominacin de cdigo abierto (open source). Open Source se registr como una marca de certificacin, a la que podan adherirse los productos software que respetasen sus especificaciones. Esto no gust a todo el mundo y suele haber cierta separacin y controversias entre los dos grupos del Open

Source

la

FSF

(con

GNU),

pero

son

ms

las

cosas

que

los

unen

que

las

que

los

separan.

En cierta manera, para los partidarios del software libre (como la FSF), el cdigo abierto (u open source) representa un paso en falso, ya que representa una cierta venta al mercado de sus ideales, y deja la puerta abierta a que se vaya haciendo propietario el software que era libre. Los partidarios de open source ven la oportunidad de promocionar el software que de otra manera estara en una utilizacin minoritaria, mientras que con la divulgacin y la puesta en comn para todo el mundo, incluidas empresas que quieran participar en cdigo abierto, entramos con suficiente fuerza para plantar cara al software propietario. Sin embargo, la idea que persiguen ambas filosofas es la de aumentar la utilidad del software libre, ofreciendo as una alternativa a las soluciones nicas que las grandes empresas quieren imponer. Las diferencias son ms que prcticas. Una vez establecidas las ideas bsicas de la comunidad del cdigo abierto, llegamos al punto en que haba que concretar de manera clara qu criterios tena que cumplir un producto de software para considerarse de cdigo abierto. Haba que contar con una definicin de cdigo abierto [OSIb], que inicialmente escribi Bruce Perens en junio de 1997 como resultado de comentarios de los desarrolladores de la distribucin Debian Linux, y que posteriormente fue reeditada (con modificaciones menores) por la organizacin OSI (Open Source Initiative). Esta organizacin est encargada de regular la definicin y controlar las licencias de cdigo abierto. Nota El cdigo abierto est regulado por una definicin pblica que se utiliza como base de la redaccin de sus licencias de software. Un pequeo resumen (interpretacin) de la definicin: Un open source software [OSIb], o software de cdigo fuente abierto, debe cumplir los requisitos si guientes: 1. Se puede copiar, regalar o vender a terceros el software, sin tener que pagar a nadie por ello. Se permite copiar el programa. 2. El programa debe incluir el cdigo fuente y tiene que permitir la distribucin tanto en forma compilada, como en fuente. O, en todo caso, hay que facilitar algn modo de obtener los cdigos fuente (por ejemplo, descarga desde Internet). No est permitido ocultar el cdigo o darlo en representaciones intermedias. Garantiza que se pueden hacer modificaciones. 3. La licencia del software tiene que permitir que se puedan realizar modificaciones y trabajos que se deriven, y que entonces se puedan distribuir bajo la misma licencia que la original. Permite reutilizar el cdigo original. 4. Puede requerirse la integridad del cdigo del autor, o sea, las modificaciones se pueden presentar en forma de parches al cdigo original, o se puede pedir que tengan nombres o nmeros distintos a los originales. Esto protege al autor de qu modificaciones puedan considerarse como suyas. Este punto depende de lo que diga la licencia del software. 5. La licencia no debe discriminar a ninguna persona o grupo. No se debe restringir el acceso al software. Un caso aparte son las restricciones por ley, como las de las exportaciones tecnolgicas fuera de USA a terceros pases. Si existen restricciones de este tipo, hay que mencionarlas. 6. No discriminar campos laborales. El software puede utilizarse en cualquier ambiente de trabajo, aunque no se haya pensado para l. Otra lectura es permitir fines comerciales, nadie puede impedir que el software se utilice con fines comerciales. 7. La licencia es aplicable a todo el mundo que reciba el programa.

8. Si el software forma parte de producto mayor, debe permanecer con la misma licencia. Esto controla que no se separen partes para formar software propietario (de forma no controlada). En el caso de software propietario, hay que informar que hay partes (y cules) de software de cdigo abierto. 9. La licencia no debe restringir ningn software incorporado o distribuido conjuntamente, o sea, incorporarlo no debe suponer ninguna barrera para otro producto de software distribuido conjuntamente. ste es un punto polmico, ya que parece contradecirse con el anterior, bsicamente dice que cualquiera puede coger software de cdigo abierto y aadirlo al suyo sin

que afecte a las condiciones de su licencia (por ejemplo propietaria), aunque s que, segn el punto anterior, tendra que informar de que existen partes de cdigo abierto. 10. La licencia tiene que ser tecnolgicamente neutra. No deben mencionarse medios de distribucin nicos, o excluirse posibilidades. Por ejemplo, no puede limitarse (por licencia) que se haga la distribucin en forma de CD, ftp o mediante web. Esta definicin de cdigo abierto no es por s misma una licencia de software, sino ms bien una especificacin de qu requisitos debera cumplir una licencia de software de cdigo abierto. La licencia que traiga el programa tiene que cumplir las especificaciones anteriores para que el programa se considere de cdigo abierto. La organizacin OSI se encarga de comprobar que las licencias cumplen las especificaciones. En la pgina web de Open Source Licenses se puede encontrar la lista de las licencias [OSIa], siendo una de las ms famosas y utilizadas, la GPL (GNU Public License). (Open Source Licences: http://www.opensource.org/ licenses/index.html). Bajo GPL, el software puede ser copiado y modificado, pero las modificaciones deben hacerse pblicas bajo la misma licencia, y se impide que el cdigo se mezcle con cdigo propietario, para evitar as que el cdigo propietario se haga con partes abiertas. Hay una licencia LGPL que es prcticamente igual, pero permite que software con esta licencia sea integrado en software propietario. Un ejemplo clsico es la biblioteca (library) C de Linux (con licencia LGPL); si sta fuera GPL, slo podra desarrollarse software libre, con la LGPL se permite usar para desarrollar software propietario. Muchos proyectos de software libre, o con parte de cdigo abierto y parte propietario, tienen su propia licencia: Apache (basada en BSD), Mozilla (MPL y NPL de Netscape), etc. Bsicamente, a la hora de poner el software como open source podemos poner nuestra propia licencia que cumpla la definicin anterior (de cdigo abierto), o podemos escoger licenciar bajo una licencia ya establecida, o como en el caso de la GPL, nos obliga a que nuestra licencia tambin sea GPL. Una vez vistos los conceptos de cdigo abierto y sus licencias, nos queda por tratar hasta qu punto es rentable para una empresa trabajar o producir cdigo abierto. Si no fuera atrayente para las empresas, perderamos a la vez tanto un potencial cliente como uno de los principales productores de software. El cdigo abierto es tambin atrayente para las empresas, con un modelo de negocio donde se prima el valor aadido al producto. En el cdigo abierto existen diferentes rentabilidades atrayentes de cara a las empresas: a) Para las empresas desarrolladoras de software, se crea un problema, cmo es posible ganar dinero sin vender un producto? Hay mucho dinero gastado en desarrollar un programa y despus es necesario obtener beneficios. Bien, la respuesta no es simple, no se puede conseguir con cualquier software, la rentabilidad se encuentra en el tipo de software que puede generar beneficios ms all de la simple venta. Normalmente, hay que hacer un estudio de si la aplicacin se tornar rentable al desarrollarla como software abierto (la mayora s que lo har), basndose en las premisas de que tendremos un descenso de gasto en desarrollo (la comunidad nos ayudar), reduccin de mantenimiento o correccin de errores (la comunidad puede ofrecer esto muy rpido), y tener en cuenta el aumento de nmero de usuarios que nos proporcionar el cdigo abierto, as como las necesidades que tendrn de nuestros servicios de apoyo o documentacin. Si la balanza es positiva, entonces ser viable prescindir de los ingresos generados por las ventas. b) Aumentar la cuota de usuarios. c) Obtener mayor flexibilidad de desarrollo, cuantas ms personas intervienen, ms gente habr para detectar errores. d) Los ingresos en su mayor parte vendrn por el lado del apoyo, formacin de usuarios y mantenimiento. e) En empresas que utilizan software, hay que considerar muchos parmetros a la hora de escoger el software para el desarrollo de las tareas, hay que tener en cuenta cosas como: rendimiento, fiabilidad, seguridad, escalabilidad y coste monetario. Y aunque parece que el cdigo abierto ya supone de por s una eleccin por el coste econmico, hay que decir que existe software abierto que puede competir con el propietario (o incluso superarlo) en cualquiera de los otros parmetros. Adems, hay que vigilar mucho con las opciones o sistemas propietarios de un nico fabricante, no podemos depender nicamente de ellos (podemos recordar casos, en otros mbitos, como los vdeos beta de Sony frente a VHS, o en los PC la arquitectura MicroChannel de IBM). Tenemos que evitar el uso de monopolios con lo que stos suponen: falta de

competencia en los precios, servicios caros, mantenimiento caro, poca (o nula) variedad de opciones, etc. f) Para los usuarios particulares ofrece gran variedad de software adaptado a tareas comunes, ya que mucho del software ha sido pensado e implementado por personas que queran hacer esas mismas tareas pero no encontraban el software adecuado. Normalmente, en el caso del usuario particular un parmetro muy importante es el coste del software, pero la paradoja es que en el usuario domstico es donde se hace ms uso de software propietario. Normalmente, los usuarios domsticos hacen uso de productos de software con copias ilegales, algunas estadsticas recientes indican ndices del 60-70% de copias ilegales domsticas. El usuario siente que slo por tener el ordenador domstico PC ya tiene derecho a disponer de software para usarlo. En estos casos estamos bajo situaciones ilegales que, aunque no han sido perseguidas, pueden serlo en su da, o bien se intentan controlar por sistemas de licencias (o activaciones de productos). Adems, esto tiene unos efectos perjudiciales indirectos sobre el software libre, debido a que si los usuarios hacen un uso amplio de software propietario, esto obliga a quien se quiera comunicar con ellos, ya sean bancos, empresas o administraciones pblicas, a hacer uso del mismo software propietario, y ellos s que abonan las licencias a los productos. Una de las batallas ms importantes para el software libre es la posibilidad de captar a los usuarios domsticos. g) Por ltimo, los estados, como caso particular, pueden obtener beneficios importantes del software de cdigo abierto, ya que pueden disponer de software de calidad a precios ridculos comparados con el enorme gasto de licencias de software propietario (miles o decenas de miles). Adems de que el software de cdigo abierto permite integrar fcilmente a las aplicaciones cuestiones culturales (de cada pas) como, por ejemplo, su lengua. Este ltimo caso es bastante problemtico, ya que en determinadas regiones, estados pequeos con lengua propia, los fabricantes de software propietario se niegan a adaptar sus aplicaciones, o instan a que se les pague por hacerlo. Contrato social de Debian Contrato social de Debian La versin 1.1 ratificada el 26 de abril de 2004 deroga la versin 1.0 ratificada el 5 de julio de 1997. El proyecto Debian, creador del sistema Debian, ha creado el contrato social de Debian. Este documento es una declaracin de intenciones por nuestra parte y un conjunto de principios que acatamos. La parte del contrato llamada directrices de software libre de Debian (Debian Free Software Guidelines, DFSG) diseada inicialmente como un conjunto de criterios para definir lo que es software libre, ha sido adoptada posteriormente por la comunidad de software libre como base para la definicin de Open Source. Contrato social con la comunidad de software libre Debian permanecer 100% libre Las directrices de software libre de Debian (DFSG) son el criterio que nosotros utilizamos para determinar si el software es libre o no. Prometemos mantener el sistema as como todos sus componentes completamente libres de acuerdo con este criterio. No obstante, daremos soporte tambin a aquellos usuarios que desarrollen y ejecuten software no libre en Debian pero nunca haremos que el sistema tenga que utilizar obligatoriamente un componente que no sea libre. Contribuiremos a la comunidad de software libre Cuando escribamos nuevos componentes del sistema Debian, los licenciaremos de forma consistente con nuestra definicin de software libre. Haremos el mejor sistema que podamos, de forma que el software libre tenga amplia difusin y uso. Enviaremos parches, mejoras, peticiones de los usuarios, etc. a los autores originales (esto se conoce en ingls como upstream, N. del T.) del software incluido en nuestro sistema. No ocultaremos los problemas Mantendremos nuestra base de datos de informes de error accesible al pblico en todo momento. Los informes de error que los usuarios enven sern visibles por el resto de usuarios de forma inmediata. Nuestra prioridad son nuestros usuarios y el software libre Nos guiaremos por las necesidades de nuestros usuarios y de la comunidad del software libre. Sus intereses sern una prioridad para nosotros. Daremos soporte a las necesidades de nuestros usuarios para que puedan trabajar en muchos tipos distintos de entornos de trabajo. No pondremos objeciones al software no libre que vaya a ejecutarse sobre Debian ni cobraremos a las personas que quieran desarrollar o usar ese tipo de software (no libre). Permitiremos a otros crear distribuciones de valor aadido basadas en Debian sin cobrarles nada por ello. Es ms, entregaremos un sistema integrado de alta calidad sin restricciones legales que pudieran prevenir este tipo de uso. Trabajos que no siguen nuestros estndares de software libre Reconocemos que algunos de nuestros usuarios necesitan usar trabajos que no sigan las directrices de software libre de Debian (DFSG). Por ello, hemos creado las secciones contrib y non-free en nuestro archivo para estos trabajos. Los paquetes en estas secciones no son parte del sistema Debian, aunque han sido configurados para usarse con Debian. Animamos a los distribuidores de CDs a que lean las licencias de los paquetes en estas secciones para poder determinar si

1.

2.

3.

4.

5.

pueden distribuir este software en sus CDs. As pues, aunque los trabajos que no sean libres no son parte de Debian, damos soporte para su uso, y proporcionamos infraestructura (como nuestro sistema de informe de errores y listas de distribucin) para paquetes no libres. Las directrices de software libre de Debian (DFSG) Libre redistribucin La licencia de un componente de Debian no puede restringir a un tercero el vender o entregar el programa como parte de una distribucin mayor que contiene programas de diferentes fuentes. La licencia no debe solicitar royalties u otras comisiones para su venta. 2. Cdigo fuente El programa debe incluir el cdigo fuente completo, y debe permitir la distribucin en forma de cdigo fuente y en forma compilada (binario). 3. Trabajos derivados La licencia debe permitir modificaciones y trabajos derivados y debe permitir que estos se distribuyan bajo los mismos trminos que la licencia del programa original. 4. Integridad del cdigo fuente del autor La licencia puede restringir la distribucin del cdigo fuente en forma modificada slo si la licencia permite la distribucin de parches (patch files) para poder modificar el cdigo fuente original del programa en el momento de compilarlo. La licencia debe permitir explcitamente la distribucin de software a partir de cdigo fuente modificado. La licencia puede obligar a los trabajos derivados a llevar un nombre o nmero de versin diferentes del programa original Esto es un compromiso. El grupo de Debian anima a todos los autores a no restringir ningn fichero, fuente o compilado, de ser modificado . 5. No discriminacin contra personas o grupos La licencia no debe discriminar a ninguna persona o grupo de personas. 6. No discriminacin en funcin de la finalidad perseguida La licencia no puede restringir el uso del programa para una finalidad determinada. Por ejemplo, no puede restringir el uso del programa a empresas con fines comerciales, o en investigacin gentica. 7. Distribucin de la licencia Los derechos y libertades de uso asociados al programa deben aplicarse en la misma forma a todos aquellos a los que se redistribuya el programa, sin necesidad de pedir una licencia adicional para estas terceras partes. 8. La licencia no ha de ser especfica para Debian Los derechos asociados al programa no deben depender de que el programa sea parte o no del sistema Debian. Si el programa es extrado de Debian y usado o distribuido sin Debian, pero manteniendo el resto de las condiciones de la licencia, todos aquellos a los que el programa se redistribuya deben tener los mismos derechos que los dados cuando forma parte de Debian. 9. La licencia no debe contaminar a otros programas La licencia no debe poner restricciones sobre otros programas que se distribuyan junto con el programa licenciado. Por ejemplo, la licencia no puede insistir que todos los dems programas distribuidos sobre el mismo medio deben ser software libre. 10. Ejemplos de licencias Las licencias GPL, BSD, y Artstica son ejemplos de licencias que nosotros consideramos libres. La expresin contrato social con la comunidad de software libre fue sugerida por Ean Schuessler. El primer borrador de este documento fue escrito por Bruce Perens, fue modificado por los dems desarrolladores de Debian durante una conferencia por correo electrnico que dur un mes (junio de 1997) y finalmente aceptado como la normativa pblica del proyecto Debian. Posteriormente, Bruce Perens elimin las referencias especficas a Debian en las directrices de Debian para el Software Libre (DFSG), creando la definicin de Open Source. Cualquier otra organizacin puede llevar a cabo trabajos derivados a partir de este documento. Por favor, haga referencia al proyecto Debian en tal caso. Fuente: http://www.debian.org/social_contract.es.html 1.