Introducci´On Al Software Libre
Total Page:16
File Type:pdf, Size:1020Kb
Introduccion´ al software libre Jesus´ Gonzalez´ Barahona Joaqu´ın Seoane Pascual Gregorio Robles 21 de septiembre de 2003 Historial de revisiones Revision´ 1.1 2003-09-21 joaquin Version´ con planificacion´ Revision´ 1.0 2003-09-16 jgb Version´ para revision´ de la UOC Revision´ 0.9 2003-09-01 jgb Quinto borrador enviado a la UOC Revision´ 0.6 2003-08-22 jgb Cuarto borrador enviado a la UOC Revision´ 0.5 2003-07-30 joaquin Tercer borrador enviado a la UOC Revision´ 0.4 2003-07-17 jgb Segundo borrador enviado a la UOC Revision´ 0.3 2003-07-02 jgb Primer borrador enviado a la UOC Revision´ 0.2 2003-06-18 jgb Primer esqueleto del capıtulo´ de historia Revision´ 0.1 2003-05-27 joaquin Esqueleto de documento Copyright c 2003 Joaqu´ın Seoane Pascual, Jesus Gonzalez´ Barahona y Gregorio Robles Aviso Legal Se garantiza paremiso para copiar, distribuir y modificar este documento segun´ los terminos´ de la GNU Free Documentation License, Version 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delantera o trasera. Se dispone de una copia de la licencia en el Apendice´ A, junto con una traduccion´ no oficial en el Apendice´ B. Puede encontrarse una version´ transparente de la ultima´ version´ de este documento en http://curso-sobre.berlios. de/introsobre. c Jesus´ M. Gonzalez,´ Joaqu´ın Seoane, Gregorio Robles • Modulo´ 0• 3 Introduccion´ al software libre Prologo´ . La primera version´ de estos apuntes fue escrita por Jesus´ M. Gonzalez´ Barahona, Joaqu´ın Seoane Pascual y Gre- gorio Robles entre los meses de abril y septiembre de 2003. Aunque llevabamos´ tiempo hablando sobre preparar un material de este tipo para la asignatura Software Libre que Joaqu´ın y Jesus´ impartimos en los programas de doctorado de nuestros respectivos departamentos, fue´ la iniciativa de la Universitat Oberta de Catalunya (UOC) de encargarnos un material para la asignatura de introduccion´ a su master´ de software libre lo que nos decidio´ final- mente a ponernos manos a la obra. En este encargo fue fundamental la labor de Jordi Mas, coordinador academico´ del master,´ que no solo´ nos propuso para este trabajo y nos puso en contacto con la UOC, sino que nos acompan˜o´ en la relaciones con ellos durante toda la duracion´ del proyecto. Materiales previos Algunos textos de estos apuntes estan´ basados en materiales previos, normalmente de los propios autores, en algunos casos de terceras personas (utilizados con permiso, cuando no han sido completamente reelaborados). Entre ellos podemos mencionar los siguientes (a riesgo de olvidar alguno importante): Hay algunos fragmentos (sobre todo en los cap´ıtulos de historia y econom´ıa) inspirados en el documento “Free Software / Open Source: Information Society Opportunities for Europe?” [111], que Jesus´ Gonzalez´ Barahona coedito´ para la Comision´ Europea. Sin embargo, los fragmentos en cuestion´ han sido ampliados, retocados y actualizados, tanto que en muchos casos pueden ser dif´ıcil de reconocer. El apartado sobre los monopolios y el software libre (Seccion´ 5.4.) esta´ reelaborado sobre el art´ıculo “Software libre, monopolios y otras yerbas” [66], de Jesus´ M. Gonzalez´ Barahona. Los apartados sobre iniciativas legislativas e iniciativas de administraciones publicas´ en relacion´ con el software libre esta en parte basados en “Iniciativas de las administraciones publicas´ en relacion´ al Software Libre” [84] (gracias a Pedro de las Heras por permitirnos utilizar ese material, del que es coautor). Parte del apartado sobre los motivos para usar software libre en las administraciones publicas´ (Seccion´ 6.2. ) esta´ basado en el art´ıculo [67], de Jesus´ M. Gonzalez´ Barahona. La traduccion´ de la Licencia de Documentacion´ Libre de GNU es una actualizacion´ adaptada de la realizada por Igor Tamara´ y Pablo Reyes para la version´ 1.1, a los que agradecemos el haberla realizado y su permiso para modificarla. El cap´ıtulo de ingenier´ıa del software libre es una adaptacion´ de un art´ıculo sobre el estado del arte de la ingenier´ıa del software aplicada al software libre de Jesus´ M. Gonzalez´ Barahona y Gregorio Robles para la revista Novatica.´ En el cap´ıtulo de estudios de casos, la parte dedicada al desarrollo de Linux se basa en una presentacion´ que realizo´ Juan-Mariano de Goyeneche durante el curso de doctorado “Programas Libres” de la Universidad Politecnica´ de Madrid durante el curso 2002-03. La parte historica´ del estudio pormenorizado de GNOME ha sido tomada de la introduccion´ historica´ incluida en el libro sobre “Desarrollo de aplicaciones en GNOME2” elaborado por GNOME Hispano y realizada por uno de los autores de este libro. El caso de estudio de FreeBSD se basa en parte en la ponencia presentada por Jesus´ Rodr´ıguez en el III Congreso HispaLinux celebrado en Madrid en el ano˜ 2000. Los casos de estudio de Debian y Red Hat parten del trabajo previo de Gonzalez´ Barahona et al. que han plasmado en varios art´ıculos los resultados del analisis´ cuantitativo de estas dos distribuciones. c Jesus´ M. Gonzalez,´ Joaqu´ın Seoane, Gregorio Robles • Modulo´ 0• 4 Introduccion´ al software libre Agradecimientos Los autores agradecen a la Fundacion´ para la Universitat Oberta de Catalunya1 la financiacion´ de la primera edicion´ de esta obra, enmarcada en el Master´ Internacional en Software Libre ofrecido por la citada institucion.´ 1 http://www.uoc.edu c Jesus´ M. Gonzalez,´ Joaqu´ın Seoane, Gregorio Robles • Modulo´ 1• 5 Introduccion´ al software libre 1. Introduccion´ al software libre . ¿Que´ es el software libre? ¿Que´ es y que´ implicaciones tiene la licencia de un programa libre? ¿Como´ se esta´ de- sarrollando el software libre? ¿Como´ se financian los proyectos de software libre, que´ modelos de negocio se estan´ experimentando relacionados con ellos? ¿Que´ motiva a los desarrolladores, especialmente a los que son volunta- rios, a involucrarse en proyectos de software libre? ¿Como´ son estos desarrolladores? ¿Como´ se coordinan en sus proyectos, y como´ es el software que producen? En resumen, ¿cual´ es la panoramica´ general del software libre? Este es el tipo de preguntas que trataremos de responder en este texto. Porque aunque el software libre esta´ cada vez mas´ en los medios de comunicacion,´ en las conversaciones de los profesionales de la informatica,´ e incluso empieza a estar en boca de los ciudadanos en general, aun´ es un desconocido para muchos. Y los que lo conocen muchas veces no saben mas´ que de algunos de sus aspectos, desconociendo completamente otros. Para empezar, en este cap´ıtulo vamos a presentar los aspectos espec´ıficos del software libre, centrandonos´ funda- mentalmente en explicar sus bases para los que se aproximen al tema por primera vez, y en motivar su importancia. Entre estas bases nos detendremos en la definicion´ del termino´ (para saber de que´ vamos a hablar) y en las conse- cuencias principales del uso (y la mera existencia) del software libre. Tambien´ presentaremos otros recursos libres distintos del software y que han ido apareciendo, en parte, bajo el impulso y ejemplo de aquel.´ 1.1.. El concepto de libertad en el software Desde hace mas´ de 30 anos˜ nos hemos acostumbrado a que quien me vende un programa me imponga las con- diciones bajo las que yo puedo usarlo, prohibiendome,´ por ejemplo, que se lo pase a un amigo. A pesar de ser software, no puedo adaptarlo a mis necesidades, ni siquiera corregir errores, debiendo esperar a que el fabricante los arregle. Esto no tiene por que´ ser as´ı, y es precisamente el software libre el que me concede las libertades que el software propietario me niega. 1.1.1.. Definicion´ As´ı pues el termino´ software libre (o programas libres) se refiere a libertad, tal como fue concebido por Richard Stallman en su definicion[´ 98]. En concreto se refiere a cuatro libertades: 1. Libertad para ejecutar el programa en cualquier sitio, con cualquier proposito´ y para siempre. 2. Libertad para estudiarlo y adaptarlo a nuestras necesidades. Esto exige el acceso al codigo´ fuente. 3. Libertad de redistribucion,´ de modo que se nos permita colaborar con vecinos y amigos. 4. Libertad para mejorar el programa y publicar las mejoras. Tambien´ exige el codigo´ fuente. Estas libertades se pueden garantizar, de acuerdo con la legalidad vigente, por medio de una licencia, como veremos en el Cap´ıtulo 3, Aspectos legales. En ella se plasman las libertades, pero tambien´ restricciones compatibles con ellas, como dar credito´ a los autores originales si redistribuimos. Incluso puede obligarnos a que los programas ajenos mejorados por nosotros tambien´ sean libres, promoviendo as´ı la creacion´ de mas´ software libre (ver Seccion´ 3.2.2.). c Jesus´ M. Gonzalez,´ Joaqu´ın Seoane, Gregorio Robles • Modulo´ 1• 6 Introduccion´ al software libre LA AMBIGUEDAD¨ DE “free” El termino´ original en ingles´ para programas libres es free software. Sin embar- go ingles´ el termino´ free, ademas´ de libre significa gratis, lo que genera gran confusion.´ Por ello a menudo en ingles´ se toman prestadas palabras espanolas˜ y se habla de libre software, en contraposicion´ a gratis software, al igual que nosotros tomamos prestada la palabra software. As´ı pues no estamos hablando de software gratuito, y el software libre se puede vender si se desea. Pero debido a la tercera libertad, cualquiera puede redistribuirlo sin pedir dinero a cambio ni permiso a nadie, lo que hace practicamente´ imposible obtener dinero por distribuirlo, salvo la pequena˜ cantidad que se pueda cargar por grabarlo en un soporte f´ısico y enviarlo, algo raramente demandado excepto para grandes volumenes,´ como es el caso de las distribuciones. Se han formalizado definiciones mas´ precisas de software libre, como es el caso notable de las directrices de la distribucion´ Debian[85].