Sei sulla pagina 1di 157

Software Libre y GNU/Linux Apunte Te orico

Universidad Nacional de La Matanza


Ingenier a Inform atica Taller de GNU/Linux Recopilaci on y edici on realizada por Diego J. Brengi 7 de mayo de 2009

Prefacio
El taller de GNU/Linux 1 naci o en el a no 2001 como un curso optativo para los alumnos de ingenier a en inform atica de la Universidad Nacional de La Matanza 2 . Su objetivo principal es el de iniciar a los alumnos en la utilizaci on del sistema operativo, fomentar su uso y ense nar la losof a que ha hecho posible su nacimiento y evoluci on. El taller comienza con una introducci on al mundo del software libre y complementa esto con clases pr acticas frente a la computadora. Desde sus inicios comenc e una tarea de recolecci on de material did actico y a apartir del a no 2006 debo agradecer la importante colaboraci on de Alejandro Casas para llevar adelante el curso. Tratando de mantener cierta coherencia seg un los objetivos y tiempos del taller hemos tenido que complementar y editar los art culos, donde el autor original lo permite. En este apunte, que se ha convertido casi en un libro, se ha condensado todo el material asociado a los aspectos hist oricos, los ocos y estructurales necesarios para comenzar a comprender el software libre y el sistema operativo GNU/Linux, sin entrar en detalles demasiado t ecnicos. Cabe aclarar que muchos de los art culos aqu expuestos expresan opiniones propias de cada autor, las cuales podr an agradar o no al lector. Su inclusi on responde a la relevancia hist orica de estos art culos y la gran difusi on que tienen dentro del mundo del software libre. Los ap endices se brindan como lectura complementaria, pero pr acticamente obligatoria para quienes cursan el taller. La mayor parte de este apunte est a compuesta por textos e im agenes obtenidos de la red, con permiso expreso de reproducci on por parte de sus autores. Se aclara al nal de cada cap tulo el origen de cada secci on. A principios de 2008 se han migrado todos los apuntes desde OpenOce A a L TEX por cuestiones pr acticas a la hora de actualizar el material. Por supuesto esto hace que aparezcan nuevos errores y se sumen a los viejos. Sepa el lector comprender y disculpar esta situaci on. Ing.Diego J. Brengi
1 2

http://tallergnulinux.sf.net http://www.unlm.edu.ar

Indice general
Indice general Indice de guras 1. El sistema operativo UNIX 1.1. Introducci on . . . . . . . . . . . . . . . . . 1.2. Historia . . . . . . . . . . . . . . . . . . . 1.3. El laboratorio de inteligencia de Berkeley 1.4. Breve biograf a de Kenneth Thompson . . 1.5. Breve biograf a de Dennis M. Ritchie . . . 1.6. Arbol de familias UNIX . . . . . . . . . . 1.7. Autores del cap tulo . . . . . . . . . . . . 5 11 13 13 14 18 20 20 21 22 25 25 25 25 26 26 26 28 28 29 30 32 33 33 34 34 36 37 38 38

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

2. Historia del Proyecto GNU 2.1. El proyecto GNU . . . . . . . . . . . . . . 2.1.1. El t ermino GNU . . . . . . . . . . . 2.1.2. Compatibilidad con UNIX . . . . . . 2.1.3. Licencia . . . . . . . . . . . . . . . . 2.1.4. Financiamiento . . . . . . . . . . . . 2.1.5. Avances . . . . . . . . . . . . . . . . 2.1.6. Herramientas GNU . . . . . . . . . . 2.1.7. Desarrollos . . . . . . . . . . . . . . 2.2. La Free Software Foundation . . . . . . . . 2.3. Actividades principales de la FSF . . . . . . 2.4. Biograf a breve de Richard M. Stallman . . 2.5. Nacimiento del proyecto GNU . . . . . . . . 2.6. El Proyecto GNU por Richard Stallman . . 2.6.1. La primera comunidad que comparte 2.6.2. El colapso de la comunidad . . . . . 2.6.3. Una elecci on moral severa . . . . . . 2.6.4. Libre como en libertad . . . . . . . . 2.6.5. Software GNU y el sistema GNU . . 2.6.6. El inicio del proyecto . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . el software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

INDICE GENERAL 2.6.7. Los primeros pasos . . . . . . . . . . . . . . . 2.6.8. GNU Emacs . . . . . . . . . . . . . . . . . . 2.6.9. Es libre el programa para cualquier usuario? 2.6.10. Copyleft y la GNU GPL . . . . . . . . . . . . 2.6.11. La Fundaci on para el Software Libre . . . . . 2.6.12. Asistencia para el Software Libre . . . . . . . 2.6.13. Metas t ecnicas . . . . . . . . . . . . . . . . . 2.6.14. Computadoras donadas . . . . . . . . . . . . 2.6.15. La lista de tareas de GNU . . . . . . . . . . . 2.6.16. La GPL para Bibliotecas de GNU . . . . . . 2.6.17. Rascarse una comez on? . . . . . . . . . . . . 2.6.18. Desarrollos inesperados . . . . . . . . . . . . 2.6.19. El GNU Hurd . . . . . . . . . . . . . . . . . . 2.6.20. Alix . . . . . . . . . . . . . . . . . . . . . . . 2.6.21. Linux y GNU/Linux . . . . . . . . . . . . . . 2.6.22. Desaf os en nuestro futuro . . . . . . . . . . . 2.6.23. Hardware secreto . . . . . . . . . . . . . . . . 2.6.24. Bibliotecas no libres . . . . . . . . . . . . . . 2.6.25. Patentes de software . . . . . . . . . . . . . . 2.6.26. Documentaci on libre . . . . . . . . . . . . . . 2.6.27. Debemos hablar acerca de la libertad . . . . 2.6.28. ((Open Source)) . . . . . . . . . . . . . . . . . 2.6.29. Pru ebelo! . . . . . . . . . . . . . . . . . . . . 2.7. Autores del cap tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 39 40 41 42 42 43 43 44 44 45 46 46 47 47 48 48 48 49 50 51 52 52 53 55 55 55 57 58 58 59 60 61 63 64 65 65 65 66 66 67 67 67

3. El kernel Linux 3.1. Kernel . . . . . . . . . . . . . . . . . . . . . . 3.2. Nacimiento del kernel Linux . . . . . . . . . . 3.3. Licencia . . . . . . . . . . . . . . . . . . . . . 3.4. Avances . . . . . . . . . . . . . . . . . . . . . 3.5. Linux y el proyecto GNU . . . . . . . . . . . 3.6. La lista de desarrollo . . . . . . . . . . . . . . 3.7. Desarrolladores . . . . . . . . . . . . . . . . . 3.8. Identicaci on de versiones antiguas del kernel 3.9. Identicaci on de versiones actuales del kernel 3.10. Estructura monol tica . . . . . . . . . . . . . 3.11. Arquitecturas de hardware . . . . . . . . . . . 3.12. El c odigo fuente . . . . . . . . . . . . . . . . . 3.13. Cambiando el kernel . . . . . . . . . . . . . . 3.14. Kernels precompilados . . . . . . . . . . . . . 3.15. Instalando un kernel compilado a medida . . 3.15.1. Obteniendo el c odigo fuente . . . . . . 3.15.2. Aplicar parches . . . . . . . . . . . . . 3.15.3. Conguraci on . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

INDICE GENERAL 3.15.4. Compilaci on . . . 3.15.5. Instalaci on . . . . 3.15.6. Otras variantes . . 3.16. El arranque . . . . . . . . 3.17. Los m odulos . . . . . . . . 3.18. Logo . . . . . . . . . . . . 3.19. Lecturas complementarias 3.20. Autores del cap tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 68 69 69 69 69 71 71 72 73 73 73 73 73 74 74 74 75 75 76 76 76 77 77 77 78 78 78 78 78 79 79 80 80 80 82 83 84 89 89

4. Distribuciones GNU/LINUX 4.1. Qu e es una distribuci on de GNU/Linux? . . . . . . . . . . 4.2. Que partes componen una distribuci on? . . . . . . . . . . . 4.2.1. Programa de instalaci on . . . . . . . . . . . . . . . . 4.2.2. Kernel Linux . . . . . . . . . . . . . . . . . . . . . . 4.2.3. Herramientas GNU y sistema base . . . . . . . . . . 4.2.4. Programas de aplicaci on con licencias libres . . . . . 4.2.5. Programas de aplicaci on privativos . . . . . . . . . 4.2.6. Conguraciones por defecto . . . . . . . . . . . . . . 4.2.7. Herramientas de conguraci on y administraci on . . . 4.2.8. Documentaci on . . . . . . . . . . . . . . . . . . . . . 4.2.9. Actualizaciones de seguridad y correcciones de bugs 4.2.10. Integraci on de todo el sistema . . . . . . . . . . . . . 4.2.11. Soporte para el usuario . . . . . . . . . . . . . . . . 4.2.12. Motivaci on y objetivos . . . . . . . . . . . . . . . . . 4.3. Clasicaci on de distribuciones . . . . . . . . . . . . . . . . . 4.3.1. Activas e inactivas . . . . . . . . . . . . . . . . . . . 4.3.2. Dependencia de otra distribuci on . . . . . . . . . . . 4.3.3. Pa s de origen y desarrollo . . . . . . . . . . . . . . . 4.3.4. Popularidad . . . . . . . . . . . . . . . . . . . . . . . 4.3.5. Precio . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.6. Licencias involucradas . . . . . . . . . . . . . . . . . 4.3.7. Manejo de paquetes de software . . . . . . . . . . . . 4.3.8. Tipo de uso . . . . . . . . . . . . . . . . . . . . . . . 4.3.9. Soporte principal . . . . . . . . . . . . . . . . . . . . 4.3.10. Arquitecturas de hardware . . . . . . . . . . . . . . 4.4. En qu e basar la elecci on? . . . . . . . . . . . . . . . . . . . 4.5. C omo obtener una distribuci on? . . . . . . . . . . . . . . . 4.6. Qu e distribuciones existen? . . . . . . . . . . . . . . . . . . 4.7. L nea de tiempo de distribuciones . . . . . . . . . . . . . . . 4.8. Autores del cap tulo . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 5. Categor as de software libre y no libre 5.1. Software libre . . . . . . . . . . . . . . . . 5.2. Software de c odigo abierto (Open source) 5.3. Software de dominio p ublico . . . . . . . . 5.4. Software protegido con copyleft . . . . . . 5.5. Software libre no protegido con copyleft . 5.6. Software cubierto por la GPL . . . . . . . 5.7. El sistema GNU . . . . . . . . . . . . . . 5.8. Programas GNU . . . . . . . . . . . . . . 5.9. Software de GNU . . . . . . . . . . . . . . 5.10. Software no libre . . . . . . . . . . . . . . 5.11. Software semilibre . . . . . . . . . . . . . 5.12. Software privativo . . . . . . . . . . . . . 5.13. Freeware . . . . . . . . . . . . . . . . . . . 5.14. Shareware . . . . . . . . . . . . . . . . . . 5.15. Software privado . . . . . . . . . . . . . . 5.16. Software comercial . . . . . . . . . . . . . 5.17. Autores del cap tulo . . . . . . . . . . . . 6. Licencia de este libro A. Conceptos de sistemas operativos A.1. Qu e es el Sistema Operativo? . . . . . . A.2. Funciones b asicas de un sistema operativo A.3. Caracter sticas . . . . . . . . . . . . . . . A.3.1. Administraci on de tareas . . . . . A.3.2. Administraci on de usuarios . . . . A.3.3. Manejo de recursos . . . . . . . . . A.4. Historia de los Sistemas Operativos . . . . A.4.1. A nos 40 . . . . . . . . . . . . . . . A.4.2. A nos 50 . . . . . . . . . . . . . . . A.4.3. A nos 60 . . . . . . . . . . . . . . . A.4.4. A nos 70 . . . . . . . . . . . . . . . A.5. Autores del cap tulo . . . . . . . . . . . .

INDICE GENERAL 93 93 95 95 96 96 97 97 98 98 98 98 99 100 100 100 101 101 103 105 . 105 . 105 . 106 . 106 . 106 . 107 . 107 . 107 . 107 . 108 . 110 . 111

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

B. Licencia P ublica GNU 113 B.1. Traducci on al castellano . . . . . . . . . . . . . . . . . . . . . 113 B.2. Pre ambulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 B.3. T erminos y condiciones para la copia, distribuci on y modicaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 B.4. Ap endice: C omo aplicar estos t erminos a sus nuevos programas120 C. El t ermino Open Source 123 C.0.1. Denici on de Open Source . . . . . . . . . . . . . . . . 123

INDICE GENERAL D. Trampa en el Cyberespacio D.1. Armario con cajones y lavado de cerebros . . . . D.2. El impuesto a la informaci on . . . . . . . . . . . D.3. El car acter espec co del software . . . . . . . . . D.4. Los fabricantes atrapados en la trampa . . . . . . D.5. El pa s de los tecnocretinos... . . . . . . . . . . . D.6. ...no est a muy lejos . . . . . . . . . . . . . . . . . D.7. Pr acticas dudosas . . . . . . . . . . . . . . . . . . D.8. Bordeando la ley . . . . . . . . . . . . . . . . . . D.9. Una mirada al posible futuro de la educaci on . . D.10.Lo que esta en juego: el control de la informaci on D.11.Una oportunidad para Europa y el empleo . . . . D.12.Una posible alternativa: los programas libres . . D.13.Para concluir . . . . . . . . . . . . . . . . . . . . D.14.Agradecimientos . . . . . . . . . . . . . . . . . . D.15.Copyright . . . . . . . . . . . . . . . . . . . . . . D.16.References . . . . . . . . . . . . . . . . . . . . . . D.17.About this document... . . . . . . . . . . . . . . .

9 127 . 129 . 132 . 132 . 135 . 136 . 137 . 139 . 140 . 142 . 143 . 145 . 146 . 147 . 148 . 148 . 148 . 150 . . . . . . . . . . . 151 151 153 153 154 155 156 156 156 157 157 157

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

E. GNU Free Documentation License 1. APPLICABILITY AND DEFINITIONS . . . . . . . . . 2. VERBATIM COPYING . . . . . . . . . . . . . . . . . . 3. COPYING IN QUANTITY . . . . . . . . . . . . . . . . 4. MODIFICATIONS . . . . . . . . . . . . . . . . . . . . . 5. COMBINING DOCUMENTS . . . . . . . . . . . . . . . 6. COLLECTIONS OF DOCUMENTS . . . . . . . . . . . 7. AGGREGATION WITH INDEPENDENT WORKS . . 8. TRANSLATION . . . . . . . . . . . . . . . . . . . . . . . 9. TERMINATION . . . . . . . . . . . . . . . . . . . . . . . 10. FUTURE REVISIONS OF THIS LICENSE . . . . . . . ADDENDUM: How to use this License for your documents

10

INDICE GENERAL

Indice de guras
1.1. Uno de los logos de la empresa Bell. . . . . . . . . . . . . . . 1.2. Computadora de la serie GE600 utilizada en el desarrollo de MULTICS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Ken Thompson y Dennis Ritchie. . . . . . . . . . . . . . . . . 1.4. Dennis Ritchie, Ken Thompson y la PDP-11 [UNIX 1972]. . . 1.5. Logo del BSD UNIX. . . . . . . . . . . . . . . . . . . . . . . . 1.6. Kenneth Thompson. . . . . . . . . . . . . . . . . . . . . . . . 1.7. Dennis M. Ritchie. . . . . . . . . . . . . . . . . . . . . . . . . 1.8. L nea de tiempo simplicada de versiones UNIX. . . . . . . . 1.9. Versiones UNIX y su evoluci on de c odigo. . . . . . . . . . . . 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. Logo del proyecto GNU. . . . . . . . . . . . . . . . . . . . . . Richard M. Stallman en la actualidad. . . . . . . . . . . . . . Logo Web de la Free Software Foundation. . . . . . . . . . . . Logos de las licencias GPLv3, LGPLv3 y AGPLv3. . . . . . . Richard M. Stallman hace tiempo. . . . . . . . . . . . . . . . En esta imagen, dos pancartas envuelven a un n u, una de ellas muestra ((Whats GNU?)) (Qu e es GNU?) y la otra ((GNUs Not Unix!)) (GNU No es Unix!). En el centro de la imagen una cara similar a la cabeza de un n u reposa orgullosamente. Damos las gracias a Etienne Suvasa por dibujar esta imagen de ((Whats GNU)). . . . . . . . . . . . . . . . . . . . . . . . . 14 15 16 17 19 21 22 23 24 26 27 30 31 32

33

3.1. Arquitectura general del Kernel Linux. Obtenido de Anatomy of the Linux kernel por M. Tim Jones. . . . . . . . . . . . . 56 3.2. Diagrama conceptual y simplicado de las capas de un sistema operativo GNU/Linux. . . . . . . . . . . . . . . . . . . . . 56 3.3. Arquitectura general del S.O. GNU/linux. Obtenido de Anatomy of the Linux kernel por M. Tim Jones. . . . . . . . . . . . . 57 3.4. Linus Torvalds. . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.5. Peque na historia de las releases m as importantes. Obtenido de Anatomy of the Linux kernel por M. Tim Jones). . . . . 59 3.6. Alan Cox, desarrollador del Kernel Linux. . . . . . . . . . . . 60

12

INDICE DE FIGURAS 3.7. Diagrama conceptual de la jerarqu a de desarrolladores. . . 3.8. N umero de desarrolladores y empresas involucradas. . . . . 3.9. Aporte de desarrolladores y empresas. . . . . . . . . . . . . 3.10. Ciclo de desarrollo del kernel. . . . . . . . . . . . . . . . . . 3.11. Conguraci on del kernel con la opci on make menucong. 3.12. Conguraci on del soporte para carga de m odulos. . . . . . . 3.13. Tux, logo del Kernel Linux creado por Larry Ewing. . . . . . . . . . . . 61 62 63 64 68 70 72 79 90 91 94

4.1. Distribuciones que se ofrecen a la venta en cajas estampadas. 4.2. GNU/Linux Distro Timeline. Versi on 7.6 by Lundqvist. Obtenida de http://futurist.se/gldt/. Parte1 . . . . . . . . . . 4.3. GNU/Linux Distro Timeline. Versi on 7.6 by Lundqvist. Obtenida de http://futurist.se/gldt/. Parte2 . . . . . . . . . . 5.1. Diagrama dise nado por Chao-Kuei para explicar las diferentes categor as de software. . . . . . . . . . . . . . . . . . . . . . .

D.1. Roberto Di Cosmo. http://www.pps.jussieu.fr/ dicosmo/Library/Images/dicosmo.gif128

Cap tulo 1

El sistema operativo UNIX


1.1. Introducci on

Luego casi cuatro d ecadas de uso, el sistema operativo UNIX y sus derivados son considerados como los sistemas operativos m as potentes, vers atiles y exibles dentro del mundo de la computaci on. Su popularidad se debe a muchos factores, incluyendo su habilidad para correr sobre una gran variedad de computadoras, desde micros hasta supercomputadoras, y por su portabilidad. UNIX nace de las cenizas del proyecto MULTICS, el objetivo del proyecto era desarrollar un sistema operativo interactivo y multiusuario que contase con muchas innovaciones, entre ellas mejoras en las pol ticas de seguridad. Este esfuerzo de varias compa n as no fue exitoso, pero los u ltimos sobrevivientes de este proyecto en los laboratorios Bell volvieron a intentarlo y obtuvieron un sistema operativo que ofrec a a sus usuarios un entorno de trabajo sencillo, poderoso y elegante para su epoca. El sistema tambi en propici o una visi on distinta al dise no del software: Solucionar un problema interconectando herramientas sencillas en vez de crear grandes programas monol ticos. Hoy d a, la palabra UNIX se utiliza para denotar diferentes conceptos dependiendo del contexto en que es usada. Esto suele dar lugar a confusiones: La familia UNIX: Desde el punto de vista t ecnico, UNIX se reere a una familia de sistemas operativos que comparten unos criterios de dise no e interoperabilidad en com un. Esta familia incluye m as de 100 sistemas operativos desarrollados a lo largo de 20 a nos. No obstante, es importante se nalar que esta denici on no implica necesariamente que dichos sistemas operativos compartan c odigo o cualquier propiedad intelectual.

14

El sistema operativo UNIX El sistema operativo UNIX original: Desde el punto de vista hist orico, UNIX se reere a la subfamilia de sistemas operativos que descienden de la primera implementaci on original de AT&T. El t ermino descendencia ha de interpretarse como trabajos derivativos que comparten propiedad intelectual con la implementaci on original. La marca UNIX: Desde el punto de vista legal, Unix es una marca de mercado. Dicha marca es propiedad de The Open Group (http:// es.wikipedia.org/wiki/The_Open_Group), una organizaci on de estandarizaci on que permite el uso de dicha marca a cualquier sistema operativo que cumpla con sus est andares publicados en Single Unix Specication (http://es.wikipedia.org/wiki/Single_Unix_Specification). Todo ello independientemente de que el sistema operativo en cuesti on sea descendiente o cl onico del Unix original. Resumiendo, la marca Unix no es propiedad de ninguna compa n a.

1.2.

Historia

Algunos de los puntos m as importantes en la historia del UNIX son los siguientes: A no 1965 En 1965 los Laboratorios Bell de At&T se une con el MIT (Massachusetts Institute of Technology) y General Electric para el desarrollo de un sistema operativo nuevo llamado MULTICS, que proveer a soporte multiusuario, multi-procesador, y sistema de archivos jer arquico, entre muchas de sus caracter sticas.

Figura 1.1: Uno de los logos de la empresa Bell.

A no 1969 En 1969 AT&T abandona el proyecto Multics por estar disconformes con los adelantos del mismo. Cuando Bell Labs abandon o el proyecto, sus investigadores, (K. Thompson, Ritchie, M. D. McIlroy, J. F. Ossanna), dise naron

1.2 Historia

15

Figura 1.2: Computadora de la serie GE600 utilizada en el desarrollo de MULTICS. en papel un sistema de archivos que luego evolucion o hasta una versi on primitiva del sistema de archivos de UNIX. Thompson escribi o un programa llamado Space Travel para un sistema GECOS (el cual corr a en una Honeywell 635), pero era dif cil controlar la nave espacial y muy costoso para correr en esa m aquina. Entonces Thompson trat o de pasar su juego a una PDP-7 (Programmed Data Processor con 4K de memoria para programas), y con el n de tener un mejor ambiente para el desarrollo de programas, reescribi o MULTICS en ensamblador, junto con su sistema de archivos, el subsistema de procesos y unas cuantas librer as. A no 1970 Brian Kernighan llam o al nuevo sistema UNICS (UNiplexed Information and Computing Service) por referencia a MULTICS, aunque despu es se cambi o por UNIX. A no 1971 El primer uso real de UNIX fue como una herramienta de procesamiento de textos para la secci on de patentes de los Laboratorios Bell. Esto justic o que el grupo de programadores continuaran su investigaci on y desarrollo. UNIX fue acogido entre los programadores porque se dise n o con estas caracter sticas: Ambiente para programadores

16 Interfaz simple para el usuario

El sistema operativo UNIX

Utilidades simples que pueden combinarse para ejecutar funciones poderosas. Sistema de archivos jer arquico Interfaz de perif ericos simple y consistente con el formato de los archivos Sistema multi-usuario y multi-proceso Arquitectura independiente y transparente al usuario. Se traslad o el sistema a una PDP-11/20 y despu es a la PDP-11/45 y PDP-11/75. Como el pasar el sistema de una m aquina a otra implicaba reescribirlo, Thompson decidi o reescribir UNIX en un lenguaje de alto nivel de su propio dise no, llamado B. B era una forma simplicada de BCPL, el cual era una forma simplicada de CPL. Debido a ciertas debilidades, B no tuvo exito, pero ser a la base de un lenguaje mucho m as poderoso. La primera edici on de UNIX PROGRAMMERS MANUAL por K. Thompson y D. M. Ritchie tiene fecha del 3 de Noviembre de 1971. Inclu a cerca de 60 comandos como: b (compilar un programa B); boot (reiniciar el sistema); cat (concatenar archivos); chdir (cambiar directorio de trabajo); chmod (cambiar permisos de acceso); chown (cambiar propietario); cp (copiar archivos); ls (listar contenido de directorios); mv (mover o renombrar archivos); wc (contar palabras); who (usuarios en el sistema). La carencia principal era el mecanismo de pipes.

Figura 1.3: Ken Thompson y Dennis Ritchie.

1.2 Historia A no 1972

17

Ritchie reescribe el B y llama al nuevo lenguaje C. Thompson crea el pipe: un mecanismo uniforme para conectar la salida de un programa a la entrada de otro. Esto establece las bases para la losof a de las herramientas UNIX: Escribir programas que hagan s olo una cosa y que la hagan bien. Escribir programas para que trabajen juntos. Escribir programas que manejen ujos de texto porque son una interfaz universal. Aparece la segunda edici on de UNIX.

Figura 1.4: Dennis Ritchie, Ken Thompson y la PDP-11 [UNIX 1972].

A no 1973 En 1973, se reescribi o UNIX en C (lenguaje desarrollado por Dennis Ritchie) para facilitar la labor de implementar el Unix en las nuevas computadoras. Salen la tercera y la cuarta edici on de UNIX. A no 1974 En 1974 Thompson y Ritchie publicaron un art culo en The Communications of the ACM en el que describieron el nuevo Sistema Operativo Unix.

18

El sistema operativo UNIX

Este art culo genera entusiasmo en la comunidad acad emica que ve en el una poderosa herramienta de ense nanza en el estudio del desarrollo de los sistemas de programaci on. Por problemas legales con el decreto de Concesi on de 1956 a la compa n a AT&T se le prohibe comercializar el Unix. Debido a esto AT&T cede el Unix a las Universidades para prop ositos educativos y a otras entidades comerciales. Aparece la quinta edici on de UNIX. El Departamento de Computaci on Cient ca de Berkeley comienza a utilizar UNIX. Mas tarde aparecen muchas variantes del sistema UNIX. Una de las m as importantes es la BSD (Berkeley Software Distribution ) que le incorpora soporte para memoria virtual y el stack TCP/IP para comunicaci on en red.

1.3.

El laboratorio de inteligencia de Berkeley

El inter es de la comunidad universitaria por el sistema Unix cristaliza particularmente en la Universidad de Berkeley, California. En 1974 un grupo de investigadores y estudiantes de Inform atica adquiere el Unix de AT&T. La empresa les ha cedido por una cantidad razonable el c odigo fuente del sistema. Pero el sistema AT&T requiere para funcionar correctamente en las m aquinas de Berkeley algunas mejoras y adaptaciones que aportar an en particular dos j ovenes estudiantes de Inform atica, Chuck Halley y Bill Joy, con la ayuda del mismo Ken Thompson. De este trabajo (estructurado en torno a a un peque no equipo de pioneros) saldr a, a principios de 1977, la Berkeley Software Distribution (BSD), una versi on del sistema Unix mejorada por los hackers de la Universidad de Berkeley. El sistema BSD, que conoce un verdadero exito entre los equipos universitarios de todo el mundo, se pondr a al d a regularmente durante los a nos siguientes gracias a las m ultiples contribuciones y aportaciones de los mismos usuarios. En seguida dos versiones Unix, pero sobre todo dos culturas Unix, corren paralelamente para luego enfrentarse. La de Unix System Labs de AT&T por un lado y la de Computers Systems Research Group (CSRG) de Berkeley por el otro; por un lado los mecanismos de innovaci on de empresa, por otro un proceso cooperativo de innovaci on en el seno de una comunidad (si bien restringida). El exito de BSD plantea un problema en seguida a AT&T, que en 1992 lleva al CSRG a los tribunales por haber sobrepasado los t erminos de la licencia acordada y haber hecho p ublicos secretos industriales. Ser a el comienzo de una larga batalla jur dica que no acabar a hasta 1994, con la venta por parte de AT&T de los Unix System Blacks a la empresa Novell, que se apresura a llegar a un acuerdo. El proyecto BSD no sobrevive sin embargo a la aventura judicial. El acuerdo al que se lleg o entonces permite de todos modos sacar una u ltima versi on del sistema BSD llamada 4.4

1.3 El laboratorio de inteligencia de Berkeley

19

BSD Lite, bajo licencia libre y desembarazada de toda huella de c odigo perteneciente a AT&T.

Figura 1.5: Logo del BSD UNIX. El nal del desarrollo del Unix BSD, a causa de la epopeya judicial del copyright, pone n a una epoca. La inform atica pasa de la era de los pioneros a la de la producci on industrial de mercado. Numerosos hackers hist oricos abandonan los laboratorios para formar su propia empresa o se integran en los mayoristas del sector. La empresa Sun, por ejemplo, surge directamente del vivero de la Universidad de Berkeley donde fue concebida la versi on BSD de Unix. Esta situaci on tiene dos consecuencias principales. En primer lugar, la de conducir a una verdadera balcanizacion de los diferentes sistemas basados en Unix, hasta las diferentes tentativas de relanzar el proyecto BSD fuera del marco universitario (NetBSD, FreeBSD, OpenBSD). Cada una desarrolla sus propia variantes, sus propias implementaciones en detrimento la mayor parte de las veces de la compatibilidad. Y, en segundo lugar, encierra al desarrollo inform atico en lo que ser a llamado sistema propietario, es decir, la aplicaci on estricta por parte de las empresas del principio de propiedad privada a toda producci on de software, excluyendo as toda publicidad del c odigo y por lo tanto toda participaci on de los usuarios en su desarrollo. Lo que, en otros t erminos, lleva a impedir cualquier innovaci on en el seno de un producto terminado.

20

El sistema operativo UNIX

1.4.

Breve biograf a de Kenneth Thompson

1943 Nace en New Orleans, Louisiana. 1965-66 Se grad ua en Ingenier a El ectrica en la Universidad de California en Berkeley. 1966 Se incorpora al Departamento de Investigaci on Computacional en los Laboratorios Bell para trabajar en el proyecto MULTICS. 1969 Desarrolla el sistema operativo UNIX. 1970 Escribe el lenguaje B, precursor del lenguaje C de Dennis Ritchie. 1971 Porta UNIX desde una PDP-7 a una PDP-11. 1973 Reescribe UNIX en el lenguaje C de Ritchie. 1973 Reescribe partes del UNIX para incluir el concepto de pipes de Doug McIlroy. 1975-6 Profesor invitado en la Universidad de California, Berkeley. 1980 Belle, una computadora que juega ajedrez que desarrolla junto a Joe H. Condon, gana el Campeonato (mundial y de U.S.) de Ajedrez con computadora. 1980 Elegido para la U.S. National Academy of Engineering. 1983 Recibe junto con Dennis Ritchie el premio ACM Turing. 1980 Elegido para la U.S. National Academy of Science. 1988 Profesor en la Universidad de Sydney, Australia 1998 Recibe junto con Dennis Ritchie la Medalla Nacional de Tecnolog a por el desarrollo del sistema UNIX. 2000 Se retira de los laboratorios Bell.

1.5.

Breve biograf a de Dennis M. Ritchie

1941 Nace en Bronxville, N.Y. 1963 Se grad ua en F sica en la Universidad de Harvard. 1968 Obtiene en Harvard un Ph.D. en matem aticas.

1.6 Arbol de familias UNIX

21

Figura 1.6: Kenneth Thompson. 1967 Se une a los Laboratorios Bell, siguiendo a su padre Alistair E. Ritchie que pose a una larga carrera all . 1968 Se une al grupo del proyecto MULTICS en los Laboratorios Bell. 1972 Crea el lenguaje C. 1989 Recibe con Ken Thompson el premio NEC C&C por su importante contribuci on a la computaci on. 1988 Elegido para la U.S. National Academy of Engineering. 1995 Encabeza el esfuerzo para crear el sistema operativo Plan 9. 1996 Encabeza el esfuerzo para crear el sistema operativo Inferno(TM). 1998 Recibe junto con Kenneth Thompson la Medalla Nacional de Tecnolog a por el desarrollo del sistema UNIX.

1.6.

Arbol de familias UNIX

Para entender en forma general las relaciones entre versiones UNIX y su fragmentaci on se exponen distintos gr acos. Las guras 1.8 y 1.9 fueron obtenidas de http://en.wikipedia.org/wiki/Unix

22

El sistema operativo UNIX

Figura 1.7: Dennis M. Ritchie.

1.7.

Autores del cap tulo

Apunte compilado por Diego J. Brengi. Posee partes originales y material obtenido de la red. La aclaraci on inicial sobre el t ermino UNIX realizada por Rub en Alejandro Casas. P arrafo: El laboratorio de inteligencia de Berkeley extra do del art culo Cooperaci on y producci on inmaterial en el software libre. por Laurent Moineau y Aris Papath eodorou. http://www.sindominio.net/biblioweb/ telematica/cooperacion.html. Los arboles de versiones UNIX fueron obtenidos de http://en.wikipedia. org/wiki/Unix Los derechos de las im agenes obtenidas de la red pertenecen a sus respectivos autores.

1.7 Autores del cap tulo

23

Figura 1.8: L nea de tiempo simplicada de versiones UNIX.

24

El sistema operativo UNIX

Figura 1.9: Versiones UNIX y su evoluci on de c odigo.

Cap tulo 2

Historia del Proyecto GNU


2.1. El proyecto GNU

El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completo libre: El sistema GNU . El 27 de septiembre de 1983 se anunci o p ublicamente el proyecto por primera vez en el grupo de noticias net.unix-wizards. Al anuncio original, siguieron otros ensayos escritos por Richard Stallman como el Maniesto GNU, que establecieron sus motivaciones para realizar el proyecto GNU, entre las que destaca: Retornar al esp ritu de cooperaci on que prevaleci o en los tiempos iniciales de la comunidad de usuarios de computadoras.

2.1.1.

El t ermino GNU

GNU es un acr onimo recursivo que signica GNU No es Unix. Stallman sugiere que se pronuncie, en ingl es, como guh-noo (se puede observar que el logo es un n u) para evitar confusi on con new (nuevo). En espa nol, GNU se pronuncia fon eticamente o simplemente mencionando las letras.

2.1.2.

Compatibilidad con UNIX

UNIX es un sistema operativo no libre muy popular, porque est a basado en una arquitectura que ha demostrado ser t ecnicamente estable. El sistema GNU fue dise nado para ser totalmente compatible con UNIX. El hecho de ser compatible con la arquitectura de UNIX implica que GNU est e compuesto de peque nas piezas individuales de software, muchos de los cuales ya estaban disponibles, como el sistema de edici on de textos TeX y el sistema gr aco X Window, que pudieron ser adaptados y reutilizados; otros en cambio tuvieron que ser reescritos.

26

Historia del Proyecto GNU

2.1.3.

Licencia

Para asegurar que el software GNU permaneciera libre para que todos los usuarios pudieran ejecutarlo, copiarlo, modicarlo y distribuirlo, el proyecto deb a ser liberado bajo una licencia dise nada para garantizar esos derechos al tiempo que evitase restricciones posteriores de los mismos. La idea se conoce en Ingl es como copyleft (en clara oposici on a copyright), y est a contenida en la Licencia General P ublica de GNU (GPL).

2.1.4.

Financiamiento

En 1985, Stallman cre o la Free Software Foundation (FSF o Fundaci on para el Software Libre) para proveer soportes log sticos, legales y nancieros al proyecto GNU. La FSF tambi en contrat o programadores para contribuir a GNU, aunque una porci on sustancial del desarrollo fue (y continua siendo) producida por voluntarios. A medida que GNU ganaba renombre, negocios interesados comenzaron a contribuir al desarrollo o comercializaci on de productos GNU y el correspondiente soporte t ecnico. El m as prominente y exitoso de ellos fue Cygnus Solutions, ahora parte de Red Hat.

2.1.5.

Avances

En 1990, el sistema GNU ya ten a un editor de texto llamado Emacs, un exitoso compilador (GCC), y la mayor parte de las librer as y utilidades que componen un sistema operativo UNIX t pico. Pero faltaba el componente

Figura 2.1: Logo del proyecto GNU.

2.1 El proyecto GNU

27

primario llamado n ucleo (kernel en ingl es). En el manifest o GNU, Stallman mencion o que un n ucleo inicial existe, se refer pero se necesitan muchos otros programas para emular Unix. El a a TRIX, que es un n ucleo de llamadas remotas a procedimientos, desarrollado por el MIT y cuyos autores decidieron que fuera libremente distribuido; Trix era totalmente compatible con UNIX versi on 7. En Diciembre de 1986 ya se hab a trabajado para modicar este n ucleo. Sin embargo, los programadores decidieron que no era inicialmente utilizable, debido a que solamente funcionaba en algunos equipos sumamente complicados y caros raz on por la cual deber a ser portado a otras arquitecturas antes de que se pudiera utilizar. Finalmente, en 1988, se decidi o utilizar como base el n ucleo Mach desarrollado en la CMU. Inicialmente, el n ucleo recibi o el nombre de Alix (as se llamaba una novia de Stallman), pero por decisi on del programador Michael Bushnell fue renombrado a Hurd. Desafortunadamente, debido a razones t ecnicas y conictos personales entre los programadores originales, el desarrollo de Hurd acab o estanc andose.

Figura 2.2: Richard M. Stallman en la actualidad. En 1991, Linus Torvalds empez o a escribir el n ucleo Linux y decidi o distribuirlo bajo la GPL. R apidamente, m ultiples programadores se unieron a Linus en el desarrollo, colaborando a trav es de Internet y consiguiendo paulatinamente que Linux llegase a ser un n ucleo compatible con UNIX. En 1992, el n ucleo Linux fue combinado con el sistema GNU, resultando en un sistema operativo libre y completamente funcional. El sistema operativo formado por esta combinaci on es usualmente conocido como GNU/Linux o como una distribuci on Linux y existen diversas variantes. (Ver tambi en:

28

Historia del Proyecto GNU

Controversia por la denominaci on GNU/Linux en Wikipedia). En la actualidad (2004), Hurd contin ua en activo desarrollo y ya es posible obtener versiones experimentales del sistema GNU que lo emplean como n ucleo.

2.1.6.

Herramientas GNU

Es frecuente hallar componentes de GNU instalados en un sistema UNIX no libre, en lugar de los programas originales para UNIX. Esto se debe a que muchos de los programas escritos por el proyecto GNU han demostrado ser de mayor calidad que sus versiones equivalentes de UNIX. A menudo, estos componentes se conocen colectivamente como herramientas GNU. Muchos de los programas GNU han sido tambi en portados a otras plataformas como Microsoft Windows y Mac OS X.

2.1.7.

Desarrollos

Algunos de los programas desarrollados por el proyecto GNU son: Bison: Generador parser dise nado para substituir a yacc Bash: Int erprete de comandos BFD: Archivos de bibliotecas Binutils: Ensamblador GNU, Enlazador GNU, y herramientas relacionadas Classpath: Librer as para Java DotGNU: Substituto de .NET Emacs: Editor de texto extensible y autodocumentado GCC: Compilador optimizado para varios lenguajes, particularmente C GDB: Depurador de aplicaciones GIMP: Programa de edici on fotogr aca glibc: Biblioteca para lenguaje C GMP: Programa para calculos arbitrarios GNOME: Ambiente de escritorio gr aco Sistema de construcci on para GNU GNUnet: Red descentralizada de comunicaciones personales, dise nada para resistir interferencias no autorizadas

2.2 La Free Software Foundation

29

GNUstep: Implementaci on del conjunto de bibliotecas OpenStep, as como herramientas para programar aplicaciones gr acas GSL: Biblioteca Cient ca para GNU Gzip: Aplicaciones y bibliotecas para compresi on de datos Hurd: Un microkernel y un conjunto de servidores que funcionan del mismo modo que el n ucleo UNIX Maxima: Un sistema para c alculos algebr aicos Octave: Un programa para c omputo num erico similar a MATLAB GNU MDK: Un conjunto de herramientas para la programaci on en MIX Texinfo: Sistema de documentaci on El proyecto GNU tambi en ayuda con el desarrollo de otros paquetes, como: CVS - sistema de control de versiones para c odigo fuente DDD - herramientas gr acas para detecci on y depuraci on de errores

2.2.

La Free Software Foundation

Organizaci on creada en Octubre de 1985 a partir del esfuerzo de Richard Stallman y otros entusiastas del software libre con el prop osito de difundir este movimiento. La Fundaci on para el Software Libre (FSF) est a dedicada a eliminar las restricciones sobre la copia, redistribuci on, entendimiento, y modicaci on de programas de computadoras. Hacemos esto, promocionando el desarrollo y uso del software libre en todas las areas de la computaci on, pero muy particularmente, ayudando a desarrollar el sistema operativo GNU. Muchas organizaciones distribuyen cualquier software libre que est e disponible. En cambio, la Fundaci on para el Software Libre se concentra en desarrollar nuevo software libre, y en hacer de este software un sistema coherente, el cual puede eliminar la necesidad de uso del software privativo o no libre. Adem as de desarrollar GNU, FSF distribuye copias de software GNU y manuales por un costo de distribuci on, y acepta donaciones deducibles de impuestos (en los Estados Unidos), para apoyar el desarrollo de software GNU. Muchos de los fondos de la FSF provienen de los servicios de dis tribuci on. Esta es la raz on por la que pedimos que compren CD-ROMs y manuales (pero especialmente CD-ROMs) de la FSF cuando pueda.

30

Historia del Proyecto GNU

Copyright c 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved. (Se permite la distribuci on y la copia literal de este art culo en su totalidad, sin regal as y por cualquier medio siempre y cuando se conserve esta nota.)

Figura 2.3: Logo Web de la Free Software Foundation.

2.3.

Actividades principales de la FSF

El Proyecto GNU El prop osito original de la FSF1 fue promover los ideales del software libre; pero la organizaci on tambi en ten a a cargo el desarrollo del sistema operativo GNU. Ejecuci on GPL La FSF dispone de los recursos y la voluntad para hacer cumplir la licencia GPL y otras licencias GNU, pero solo para el software que del cual posee los derechos de autor; software GPL administrado por otros, deben de ser defendidos por su propios due nos, ya que la FSF no tiene autoridad legal para hacer valer la GPL para ellos. FSF maneja alrededor 50 violaciones GPL por a no e intenta traer a la otra parte a cumplimiento sin intervenci on de la corte. Licencias GNU La licencia GNU GPL es la m as utilizada para proyectos de software libre. La FSF se encarga de mantener actualizada la licencia GPL acorde las nuevas necesidades del software libre. Actualmente la GPL est a en su versi on 3, publicada en Junio de 2007. La FSF ha publicado tambi en la licencia GNU Lesser General Public License (LGPL), la GNU Free Documentation License (GFDL) y la Aero GPL.
1

Free Software Foundation

2.3 Actividades principales de la FSF

31

Figura 2.4: Logos de las licencias GPLv3, LGPLv3 y AGPLv3. Guardian de los derechos de autor La FSF Posee los derechos de autor para la mayor a del software GNU y algunos no-GNU Free Software. Esto requiere documentos de cesi on de derechos de autor de cada contribuyente para los paquetes GNU desarrollados, de esa manera FSF puede defender el software en los tribunales si surge alguna controversia, por lo que si existiera la necesidad de cambiar la licencia de un trabajo, puede ser cambiada sin tener que contactar a todos los contribuyentes que han trabajado en el software. Prensa GNU El departamento de publicaci on de la FSF es responsable de la publicaci on de los libros en ciencia de la computaci on usando licencias libremente distribuibles. El directorio de Software Libre Este es un listado de los paquetes de software que han sido vericados como software libre. Cada paquete contiene 47 piezas de informaci on tales como la p agina del proyecto, desarrolladores, lenguaje de programaci on, etc. Los objetivos son proveer un motor de b usqueda para el software libre, y proveer una referencia cruzada para que los usuarios veriquen si un paquete fue comprobado como software libre. La FSF ha recibido una peque na cantidad de nanciaci on de la UNESCO para este proyecto. Se espera que el directorio pueda ser traducido en varios lenguajes en el futuro. Mantenimiento de la denici on de Software Libre La FSF mantiene varios de los documentos que denen el movimiento del Free Software. Educaci on Legal La FSF realiza seminarios sobre aspectos legales utilizando la GPL, y ofrece un servicio de consultor a para abogados.

32 Hosting de Proyecyos

Historia del Proyecto GNU

La FSF provee Hosting de proyectos a trav ez del sitio web Savannah.

2.4.

Biograf a breve de Richard M. Stallman

Richard Stallman es el fundador del Proyecto GNU, iniciado en 1984 para desarrollar el sistema operativo libre GNU (un acr onimo de GNU is Not Unix) y, por lo tanto, dar a los usuarios de computadoras la libertad que la mayor a de ellos han perdido. GNU es software libre: todos tienen libertad para copiarlo y redistribuirlo, as como para hacerle cambios grandes o peque nos.

Figura 2.5: Richard M. Stallman hace tiempo. En la actualidad se usan ampliamente diversas variantes del sistema GNU combinadas con el n ucleo Linux desarrollado por Linus Torvalds. Se estima que hoy en d a existen m as de 10 millones de usuarios de sistemas GNU/Linux. Autor principal del Compilador C de GNU, un compilador optimizador transportable que fue dise nado para apoyar diversas arquitecturas y m ultiples lenguajes. El compilador ahora apoya m as de 30 arquitecturas distintas de computadoras y 7 lenguajes de programaci on. Escribi o el depurador simb olico GNU (GDB), GNU Emacs y algunos otros programas GNU. Recibi o el Premio Grace Hopper de la Association for Computing Machinery de 1991 por el desarrollo del primer editor Emacs en la d ecada de los setenta.

2.5 Nacimiento del proyecto GNU

33

En 1990 fue premiado con una beca de la MacArthur Foundation y en 1996 se le concedi o un doctorado honorario del Royal Institute of Technology de Suecia. En 1998 recibi o el Pioneer Award de la Electronic Frontier Foundation conjuntamente con Linus Torvalds. En 1999 recibi o el Premio Yuri Rubinski. En 2002 se publica el libro Free as in Freedom Richard Stallmans Crusade for Free Software realizado por Sam Williams. Este libro se publica bajo licencia FDL y puede obtenerse libremente en internet.

2.5.

Nacimiento del proyecto GNU

Nadie mejor que el propio RMS para explicar el porqu e del proyecto GNU y la FSF, su origen y la losof a asociada. Esta historia se encuentra relatada en: http://www.gnu.org/gnu/thegnuproject.es.html y se copia adem as en la siguiente secci on. Adem as del relato hist orico el texto posee opiniones, pareceres e ideales de su autor, lo que ayuda a comprender el concepto de free software aunque el lector pueda compartir o no su losof a.

2.6.

El Proyecto GNU por Richard Stallman

Art culo publicado originalmente en el libro ((Open Sources)) y extra do de http://www.gnu.org/gnu/thegnuproject.es.html. Se publica este t exto por su car acter hist orico y para comprender las losof a que ha dado lugar al software libre. Algunos de los datos mencionados han quedado desactualizados.

Figura 2.6: En esta imagen, dos pancartas envuelven a un n u, una de ellas muestra ((Whats GNU?)) (Qu e es GNU?) y la otra ((GNUs Not Unix!)) (GNU No es Unix!). En el centro de la imagen una cara similar a la cabeza de un n u reposa orgullosamente. Damos las gracias a Etienne Suvasa por dibujar esta imagen de ((Whats GNU)).

34

Historia del Proyecto GNU

2.6.1.

La primera comunidad que comparte el software

Cuando comenc e a trabajar en el Laboratorio de Inteligencia Articial del MIT en 1971, me incorpor e a una comunidad que compart a el software que ya ten a varios a nos de existencia. El acto de compartir software no estaba limitado a nuestra comunidad en particular; es tan antiguo como las computadoras, de la misma manera que compartir recetas es tan antiguo como cocinar. Pero nosotros lo hac amos en mayor grado que la mayor a de los otros. El Laboratorio de IA usaba un sistema operativo denominado ITS (Incompatible Timesharing System) [Sistema incompatible de tiempo compartido] que los hackers 2 del sta hab an dise nado y escrito en lenguaje ensamblador para la PDP-10 de Digital, una de las m as grandes computadoras de la epoca. Mi trabajo como miembro de esta comunidad, como hacker de sistema en el sta del laboratorio de IA, era mejorar este sistema. No denomin abamos ((software libre)) a nuestro software porque dicho t ermino no exist a; pero eso es lo que era. Cuando alguien de otra universidad o compa n a deseaba portar y usar un programa, lo permit amos con gusto. Si usted ve a a alguien usando un programa interesante y poco conocido, siempre se pod a pedir el c odigo fuente para verlo, de manera que uno pod a leerlo, cambiarlo, o canibalizar ciertas partes del mismo para hacer un nuevo programa.

2.6.2.

El colapso de la comunidad

La situaci on cambi o dr asticamente durante la primera parte de los 1980s cuando Digital discontinu o la serie PDP-10. Su arquitectura, elegante y poderosa en los 60s, no se pudo extender naturalmente a los espacios de direccionamiento m as grandes que se hicieron factibles en los 80s. Esto signic o que pr acticamente todos los programas que compon an a ITS se volvieron obsoletos. La comunidad de hackers del laboratorio de IA ya se hab a colapsado, cierto tiempo antes. En 1981, la compa n a derivada Symbolics hab a contratado a casi todos los hackers del laboratorio de IA, y la despoblada comunidad ya no era capaz de mantenerse a s misma. (El libro Hackers, de Steve Levy, describe estos eventos, y muestra un claro panorama de esta comunidad en sus comienzos.) Cuando el laboratorio de IA adquiere una nueva PDP-10 en 1982, sus administradores deciden utilizar el sistema no libre de tiempo compartido de Digital en lugar de ITS. Las computadoras modernas de esa epoca, como la VAX o el 68020, tienen sus propios sistemas operativos, pero ninguno de ellos es software libre:
2 El uso de ((hacker)) para referirse al ((quebrantador de la seguridad)) es una confusi on proveniente de los medios masivos. Nosotros los hackers nos negamos a reconocer dicho signicado, y continuamos utilizando la palabra para indicar a ((alguien apasionado por la programaci on y que disfruta al ser h abil e ingenioso)).

2.6 El Proyecto GNU por Richard Stallman

35

usted debe rmar un ((acuerdo de no revelar)) (nondisclosure agreement) a un para obtener una copia ejecutable. Esto quiere decir que el primer paso para poder utilizar una computadora era prometer que no ayudar a a su vecino. Se prohib a la existencia de una comunidad cooperativa. La regla hecha por los due nos de software propietario era: ((si usted comparte con su vecino, usted es un pirata. Si desea alg un cambio, ru eguenos para que lo hagamos nosotros)). La idea de que el sistema social del software propietario el sistema que dice que usted no tiene permitido compartir o cambiar el software es antisocial, que no es etico, que est a sencillamente equivocado, puede ser una sorpresa para algunos lectores. Pero qu e otra cosa podr amos decir sobre un sistema que se basa en dividir el p ublico e impide socorrer a los usuarios? Los lectores que se sorprendan por esta idea es porque han tomado el sistema social del software propietario tal como se lo han dado, o porque lo han juzgado en funci on de los t erminos sugeridos por las empresas que hacen software propietario. Los publicadores de software han trabajado duro y parejo para convencer a las personas de que solamente hay una manera de ver este tema. Cuando los publicadores de software habla de ((hacer valer)) sus ((derechos)) o de ((detener la pirater a)), lo que *dice* es secundario. El mensaje real de estas declaraciones est a en las presunciones no declaradas que ellos dan por sentado; se supone que el p ublico debe aceptarlas de manera acr tica. As que examin emoslas. Una de las presunciones es que las compa n as de software tienen un derecho natural incuestionable que las habilita para ser due nas de un software, y por lo tanto a disponer de poder sobre todos los usuarios del mismo. (Si este fuera un derecho natural, entonces sin importar cu anto da no le causare al p ublico, no podr amos objetarlo.) De manera muy interesante, la Constituci on de los Estados Unidos de Am erica y la tradici on legal rechazan esta visi on; el copyright no es un derecho natural, sino un monopolio articial impuesto por el gobierno que limita el natural derecho a copia de los usuarios. Otra presunci on no declarada es que la u nica cosa importante sobre del software es qu e trabajo le permite realizar a usted que a nosotros los usuarios de computadoras no nos debe importar qu e clase de sociedad nos permiten tener. Una tercera presunci on es que no tendr amos software utilizable (o, que nunca tendr amos un programa para hacer tal o cual trabajo en particular) si no le ofrecemos a una compa n a poder sobre los usuarios de dicho programa. Esta presunci on puede haber sonado plausible, antes de que el movimiento por el software libre demostrara que podemos hacer abundante software u til sin ponerle cadenas. Si nos resistimos a aceptar dichas presunciones, y juzgamos acerca de estos temas sobre la base moral que nos da el sentido com un ordinario y

36

Historia del Proyecto GNU

ponemos al usuario en primer lugar, arribaremos a conclusiones muy distintas. Los usuarios de computadoras deben tener libertad para modicar los programas para ajustarlos a sus necesidades, y libertad para compartir el software, porque la base de la sociedad est a en ayudar a las otras personas. No se dispone aqu del espacio necesario para explayarnos en el razonamiento que hay detr as de esta conclusi on, y por ese motivo pido al lector que vea la p agina web : http://www.gnu.org/philosophy/why-free.es.html.

2.6.3.

Una elecci on moral severa

Al desaparecer mi comunidad, se hizo imposible continuar como antes. En lugar de ello, me enfrent e a una elecci on moral severa. La elecci on f acil era unirme al mundo del software propietario, rmar los acuerdos de no revelar, y prometer que no ir a en ayuda de mi amigo hacker. Es muy probable que desarrollara software que se entregar a bajo acuerdos de no revelar y de esa manera incrementara tambi en las presiones sobre otra gente para que traicionen a sus compa neros. Podr a haber hecho dinero de esta manera, y tal vez me hubiese divertido escribiendo c odigo. Pero sab a que al nal de mi carrera, al mirar atr as a los a nos construyendo paredes para dividir a la gente, sentir a que us e mi vida para empeorar el mundo. Ya hab a estado del lado en que se reciben los acuerdos de no revelar, por experiencia propia, cuando alguien se neg o a entregarme, a m y al Laboratorio de IA del MIT, el c odigo fuente del programa de control de nuestra impresora. (La ausencia de ciertas caracter sticas en este programa hac a que el uso de la impresora fuera frustrante en extremo.) As que no pod a decirme a m mismo que los acuerdos de no revelar son inocentes. Me enoj o mucho cuando el se neg o a compartir con nosotros; no pod a ahora cambiarme de lugar y hacerle lo mismo a todos los dem as. Otra elecci on, f acil pero dolorosa, era abandonar el campo de la computaci on. De esta manera no se usar an mis habilidades para mal, pero a un as se desperdiciar an. Yo no ser a culpable por dividir y restringir a los usuarios de computadoras, pero ello suceder a igual. As que busqu e la manera en la cual un programador podr a hacer algo para bien. Me pregunt e: habr a alg un programa o programas que yo pueda escribir, de tal manera de otra vez hacer posible una comunidad? La respuesta era clara: lo primero que se necesitaba era un sistema operativo. Este es el software crucial para empezar a usar una computadora. Con un sistema operativo usted puede hacer muchas cosas; sin uno, ni siquiera puede funcionar la computadora. Con un sistema operativo libre, podr amos tener de nuevo una comunidad de hackers cooperandoe invitar a cualquiera a un rsenos. Y cualquiera ser a capaz de utilizar una computadora sin que de movida conspire a favor de la privaci on de sus amigas o amigos.

2.6 El Proyecto GNU por Richard Stallman

37

Como desarrollador de sistema operativo, tengo las habilidades apropiadas para esa tarea. As que a un cuando no ten a garant as de exito, me d cuenta que hab a sido elegido para hacer ese trabajo. Decid hacer que el sistema fuese compatible con Unix pues as ser a portable, y los usuarios de Unix podr an cambiarse a el con facilidad. El nombre GNU se eligi o siguiendo una tradici on hacker, como acr onimo recursivo para ((GNUs Not Unix)). Un sistema operativo es m as que un n ucleo, apenas suciente para hacer funcionar otros programas. En los 1970s, todo sistema operativo digno de llamarse as inclu a procesadores de ordenes, ensambladores, compiladores, int erpretes, depuradores, editores de texto, programas de correo, y muchos otros. ITS los ten a, Multics los ten a, VMS los ten a, Unix los ten a. El sistema operativo GNU tambi en los incluir a. M as adelante escuch e estas palabras, atribu das a Hillel 3 : Si yo no me preocupo por m mismo, qui en lo har a por m ? Si s olo me preocupo por m mismo, qu e es lo que soy? Si no lo hago ahora, cu ando? La decisi on de iniciar el proyecto GNU se bas o en un esp ritu similar.

2.6.4.

Libre como en libertad

El t ermino ((free software)) 4 se malinterpreta a veces no tiene nada que ver con el precio. El tema es la libertad. Aqu , por lo tanto, est a la denici on de software libre: un programa es software libre, para usted, un usuario en particular, si: 1) Usted tiene libertad para ejecutar el programa, con cualquier prop osito. 2) Usted tiene la libertad para modicar el programa para adaptarlo a sus necesidades. (Para que esta libertad sea efectiva en la pr actica, usted debe tener acceso al c odigo fuente, porque modicar un programa sin disponer del c odigo fuente es extraordinariamente dicultoso.) 3) Usted tiene la libertad para redistribuir copias, tanto gratis como por un c anon. 4) Usted tiene la libertad para distribuir versiones modicadas del programa, de tal manera que la comunidad pueda beneciarse con sus mejoras.
Como ateo que soy, no soy seguidor de ning un l der religioso, pero algunas veces encuentro que admiro alguna cosa que dijo uno de ellos. 4 N. del T.: en ingl es free = libre o gratis
3

38

Historia del Proyecto GNU

Como ((free)) [libre] se reere a libertad y no a precio, no existe contradicci on entre la venta de copias y el software libre. De hecho, la libertad para vender copias es crucial: las colecciones de software libre que se venden en CD-ROM son importantes para la comunidad, y la venta de las mismas es una manera importante de obtener fondos para el desarrollo de software libre. Por lo tanto, si la gente no puede incluir un programa en dichas colecciones, dicho programa no es software libre. A causa de la ambig uedad de ((free)), la gente ha estado buscando alternativas, pero nadie ha encontrado una alternativa apropiada. El idioma ingl es tiene m as palabras y matices que ning un otro, pero carece de una palabra simple, no ambig ua que signique ((libre)), como en libertad ((unfettered)) [sin cadenas] es la palabra que m as se acerca en signicado. Otras alternativas como liberated [liberado], freedom [libertad] y open [abierto] tienen el signicado equivocado o alguna otra desventaja.

2.6.5.

Software GNU y el sistema GNU

El desarrollo de un sistema complejo es un proyecto de gran envergadura. Para ponerlo dentro de mi alcance, decid adaptar y usar las piezas existentes de software libre siempre que fuera posible. Por ejemplo, en los mismos comienzos decid que TeX ser a el principal compaginador de texto; unos pocos a nos m as tarde, decid que usar a el sistema X Window, en lugar de escribir otro sistema de ventanas para GNU. A causa de esta decisi on, el sistema GNU no coincide con la suma de todo el software GNU. El sistema GNU incluye programas que no son software GNU, programas que fueron desarrollados por otras personas y proyectos para sus propios prop ositos, pero que nosotros podemos utilizar porque constituyen software libre.

2.6.6.

El inicio del proyecto

En enero de 1984 renunci e a mi trabajo en el MIT y comenc e a escribir software GNU. Era necesario abandonar el MIT, para que el MIT no interriera con la distribuci on de GNU como software libre. Si hubiese continuado como parte del sta, el MIT podr a haber reclamado propiedad sobre el trabajo, y podr a haber impuesto sus propios t erminos de distribuci on, o incluso podr a haberlo transformado en un paquete de software propietario. Yo no ten a la intenci on de hacer un trabajo enorme s olo para ver que perd a la utilidad para la cual se hab a realizado: crear una nueva comunidad para compartir software. Sin embargo, el Profesor Winston, por entonces a cargo del Laboratorio de IA del MIT, me invit o amablemente a que contin ue utilizando las instalaciones del Laboratorio.

2.6 El Proyecto GNU por Richard Stallman

39

2.6.7.

Los primeros pasos

Poco despu es de comenzar en el proyecto GNU, escuch e acerca del Free University Compiler Kit [Kit de Compilador de la Universidad Libre], tambi en conocido como VUCK. (La palabra alemana para free comienza con una V.) Se trataba de un compilador dise nado para manejar m ultiples lenguajes, C y Pascal entre ellos, y para admitir m ultiples m aquinas destino. Le escrib a su autor para consultarle si GNU lo podr a usar. me respondi El o burlonamente, dejando en claro que la universidad era libre, pero el compilador no. Por lo tanto, decid que mi primer programa para el proyecto GNU ser a un compilador multilenguaje, multiplataforma. Con la esperanza de evitar tener que escribir todo el compilador por m mismo, obtuve el c odigo fuente del compilador Pastel, que era un compilador multiplataforma desarrollado en el ((Lawrence Livermore Lab)). Admit a, y estaba escrito en una versi on extendida de Pascal, dise nada para usarse como lenguaje de programaci on a nivel de sistema. Le agregu e un front end para C, y comenc e a transportarlo a la computadora Motorola 68000. Pero tuve que abandonar la idea al descubrir que el compilador necesitaba varios megabytes de espacio en la pila, y los sistemas Unix basados en 68000 s olo permit an 64 kbytes. Fue entonces cuando me d cuenta que el compilador Pastel funcionaba analizando el chero de entrada completo y transform andolo en un arbol sint actico, luego convert a todo el arbol sint actico en una cadena de ((instrucciones)) y luego generaba el chero entero de salida, y en ning un momento liberaba el espacio ocupado. En ese momento llegu e a la conclusi on de que deber a escribir un nuevo compilador partiendo desde cero. Ese nuevo compilador se conoce ahora como GCC; no hay nada del compilador Pastel en el, pero me las arregl e para adaptar y usar el front end que hab a hecho para C. Pero eso pas o unos a nos m as tarde; primero, trabaj e sobre GNU Emacs.

2.6.8.

GNU Emacs

Comenc e a trabajar sobre GNU Emacs en setiembre de 1984, y al principio de 1985 ya empezaba a ser usable. Esto me permiti o usar sistemas Unix para las tareas de edici on; como no ten a ning un inter es en aprender a usar vi o ed, hab a realizado mis tareas de edici on en otras clases de m aquinas hasta ese momento. A estas alturas, la gente comenz o a querer usar Emacs, con lo que apareci o el tema de c omo distribuirlo. Por supuesto, lo puse en el servidor de FTP an onimo de la computadora del MIT que usaba. (Esta computadora, prep.ai.mit.edu, se transform o a causa de ello en la sede principal de distribuci on a trav es de FTP de GNU; cuando fue decomisada unos a nos despu es, transferimos el nombre a nuestro nuevo servidor FTP.) Pero en

40

Historia del Proyecto GNU

aquella epoca, mucha gente interesada no estaba en Internet y no pod a obtener una copia por FTP. As que la pregunta era: qu e tendr a que decirles a ellos? Podr a haber dicho, ((Busque un amigo que est e en la red y que haga una copia para usted)). O podr a haber hecho lo que hice con el Emacs para PDP-10 original, decirles: ((Env eme por correo una cinta y un sobre con su direcci on y los sellos de correo necesarios, y yo le devolver e la cinta con Emacs dentro)). Pero no ten a trabajo, y estaba buscando de qu e manera pod a hacer dinero con el software libre. Entonces anunci e que le enviar a la cinta a quien me la pidiera, mediante el pago de un c anon de $150. De esta manera, inici e un negocio de distribuci on de software libre, el precursor de las compa n as que en la actualidad distribuyen completos sistemas GNU basados en Linux.

2.6.9.

Es libre el programa para cualquier usuario?

Si un programa es software libre cuando abandona las manos de su autor, esto no signica que ser a software libre para todos los que tienen una copia de el. Por ejemplo, el software de dominio p ublico (software que no est a sujeto al copyright de nadie) es software libre; pero cualquiera puede hacer una versi on modicada propietaria a partir de el. En ese mismo sentido, muchos programas libres est an sujetos a copyright pero se distribuyen mediante sencillas licencias permisivas que admiten las versiones modicadas propietarias. El ejemplo paradigm atico de este problema es el X Window System. Desarrollado en el MIT, y entregado como software libre con un licencia permisiva, fue r apidamente adoptado por varias compa n as de computaci on. Estas agregaron X a sus sistemas Unix propietarios, s olo en formato binario, y lo cubrieron con el mismo acuerdo de no revelar. Estas copias de X eran tanto (software) libres en cuanto lo era el Unix. Los desarrolladores del X Window System no consideraban que esto fuese un problema esperaban y buscaban que esto sucediese. Su meta no era la libertad, s olo el (( exito)), denido como ((tener muchos usuarios)). No les preocupaba si esos usuarios ten an libertad, s olo que sean numerosos. Esto nos lleva a una situaci on parad ojica en la cual dos maneras distintas de contabilizar la cantidad de libertad dan por resultado dos respuestas distintas a la pregunta ((Es libre este programa?)). Si usted juzga en base a la libertad que se proporcionaba con los t erminos de distribuci on de la entrega del MIT, dir a que X es software libre. Pero si usted mide la libertad del usuario promedio de X, dir a que X es software propietario. La mayor a de los usuarios de X usan las versiones propietarias que vienen con los sistemas Unix, no la versi on libre.

2.6 El Proyecto GNU por Richard Stallman

41

2.6.10.

Copyleft y la GNU GPL

La meta de GNU era dar libertad a los usuarios, no s olo ser popular. Por lo tanto, deb amos usar t erminos de distribuci on que impidieran que el software GNU se transformara en software propietario. El m etodo que 5 utilizamos se denomina ((copyleft)) . El copyleft usa la ley de copyright, pero la da vuelta para servir a lo opuesto de su prop osito usual: en lugar de ser un medio de privatizar el software, se transforma en un medio de mantener libre al software. La idea central del copyleft es que le damos a cualquiera el permiso para correr el programa, copiar el programa, modicar el programa y redistribuir versiones modicadas pero no le damos permiso para agregar restricciones propias. De esta manera, las libertades cruciales que denen al ((software libre)) quedan garantizadas para cualquiera que tenga una copia; se transforman en derechos inalienables. Para que el copyleft sea efectivo, las versiones modicadas deben ser tambi en libres. Esto asegura que todo trabajo basado en el nuestro quedar a disponible para nuestra comunidad si se publica. Cuando los programadores que tienen trabajo como programadores se ofrecen como voluntarios para mejorar un software GNU, es el copyleft lo que impide que sus empleadores digan: ((no puede compartir esos cambios, porque los queremos usar para hacer nuestra versi on propietaria del programa)). El requerimiento de que los cambios deben ser libres es esencial si queremos asegurar la libertad para cada usuario del programa. Las compa n as que privatizaron el X Window System en general realizaron algunos cambios para transportarlo a sus sistemas y hardware. Estos cambios fueron peque nos comparados con el gran tama no de X, pero no fueron triviales. Si el hacer cambios fuera una excusa para negar libertad a los usuarios, ser a f acil para cualquiera tomar ventaja de la excusa. Un tema relacionado trata la combinaci on de un programa libre con c odigo no libre. Tal combinaci on ser a inevitablemente no-libre; cualesquiera libertades que falten a la parte no-libre, le faltar an tambi en al todo. Si se permiten tales combinaciones se abrir a un agujero lo sucientemente grande como para hundir el barco. Por ello, un requerimiento crucial para el copyleft es que se tape este hoyo: cualquier cosa agregada a o combinada con un programa bajo copyleft debe ser tal que la versi on combinada total sea tambi en libre y bajo copyleft. La implementaci on espec ca de copyleft que usamos para la mayor a del software GNU es la Licencia P ublica General de GNU (GNU General Public License) o GPL GNU para abreviar. Tenemos otras clases de copyleft
5 En 1984 o 1985, Don Hopkins (un compa nero muy imaginativo) me env o una carta por correo. En el sobre, escribi o varios dichos divertidos, entre ellos este: ((Copyleft all rights reversed)) [Copyleft todos los derechos reversados]. Utilic e la palabra ((copyleft)) para denominar al concepto de distribuci on que estaba desarrollando en esa epoca.

42

Historia del Proyecto GNU

que se usan en circunstancias espec cas. Los manuales GNU tambi en est an bajo copyleft, pero utilizamos un copyleft mucho m as simple, porque no es necesaria la complejidad de la GPL GNU para los manuales.

2.6.11.

La Fundaci on para el Software Libre

A medida que el inter es en el uso de Emacs crec a, otras personas se involucraron en el proyecto GNU, y decicimos que era el momento de buscar fondos nuevamente. Por ello en 1985 creamos la ((Free Software Foundation)) [Fundaci on para el Software Libre FSL], una organizaci on de caridad libre de impuestos para el desarrollo del software libre. La FSL tambi en acapar o el negocio de distribuci on en cinta de Emacs; m as adelante lo extendi o al agregar otros productos de software libre (tanto GNU como no-GNU) a la cinta, y con la venta de manuales libres. La FSL acepta donaciones, pero la mayor a de sus ingresos han provenido siempre de las ventas de copias de software libre, y otros servicios relacionados. En la actualidad vende CD-ROMs de c odigo fuente, CD-ROMs con binarios, manuales agradablemente impresos (todos con libertad para redistribuir y modicar), y las Distribuciones De Lujo (en las cuales incorporamos toda la colecci on de software lista para usar en la plataforma de su elecci on). Los empleados de la Fundaci on para el Software Libre han escrito y mantenido una cantidad de paquetes de software GNU. Dos notables casos son la biblioteca C y el shell. La biblioteca C de GNU es lo que usa todo programa que corre en un sistema GNU/Linux para comunicarse con Linux. Fue desarrollada por un miembro del sta de la Fundaci on para el Software Libre, Roland McGrath. El shell que se usa en la mayor a de los sistemas GNU/Linux es BASH, el Bourne Again SHell 6 , que fue desarrollado por Brian Fox, empleado de la FSL. Hemos provisto los fondos para el desarrollo de esos programas porque el proyecto GNU no se queda solamente en herramientas o un entorno de desarrollo. Nuestra meta era tener un sistema operativo completo, y esos programas eran necesarios para esa meta.

2.6.12.

Asistencia para el Software Libre

La losof a del software libre rechaza una pr actica espec ca de negocio ampliamente difundida, pero no est a contra el negocio. Cuando los negocios respetan la libertad de los usuarios, les deseamos exito. La venta de copias de Emacs demostr o una clase de negocio con software libre. Cuando la FSL se apropi o de ese negocio, necesit e de otro medio de vida. Lo encontr e en la venta de servicios relacionados con el software libre
((Bourne again shell)) es una broma sobre el nombre ((Bourne Shell)), que era el shell usual en Unix.
6

2.6 El Proyecto GNU por Richard Stallman

43

que hab a desarrollado. Esto inclu a la ense nanza, sobre temas tales como c omo programar GNU Emacs, y c omo personalizar GCC, y desarrollo de software, en la mayor parte transportar GCC a otras plataformas. En la actualidad cada una de esas clases de negocios con software libre est a puesta en pr actica por una cantidad de corporaciones. Algunas distribuyen colecciones de software libre en CD-ROM; otras venden asistencia en niveles que van desde responder preguntas de usuarios, reparaci on de errores, hasta el agregado de nuevas caracter sticas mayores. Incluso estamos viendo compa n as de software libre basadas en el lanzamiento de nuevos productos de software libre. Aunque, tenga cuidado una cantidad de compa n as que se asocian a s mismas con el t ermino ((open source)) en realidad basan su negocio en software no-libre que trabaja con software libre. Ellas no son compa n as de software libre, sino compa n as de software propietario cuyos productos tientan a los usuarios a abandonar su libertad. Ellas usan la denominaci on ((valor agregado)) lo que reeja los valores que desear an que adoptemos: conveniencia por encima de libertad. Si valoramos m as la libertad, deber amos denominarlos productos con ((libertades sustra das)).

2.6.13.

Metas t ecnicas

La meta principal de GNU era el software libre. A un en el caso que GNU no tuviese ventajas t ecnicas sobre Unix, tendr a una ventaja social, al permitir cooperar a los usuarios, y una ventaja etica, al respetar la libertad de los usuarios. Pero era natural que se apliquen los est andares conocidos de buenas pr acticas al trabajo por ejemplo, reservar din amicamente las estructuras de datos para evitar l mites de tama no jo arbitrarios, y manejar todos lo posibles c odigos de 8 bits cuando tuviese sentido. Adem as, rechazamos el enfoque de Unix para peque nos tama nos de memoria, al decidir que no trabajar amos para m aquinas de 16 bits (era claro que las m aquinas de 32 bits ser an la norma para cuando el sistema GNU estuviese terminado), y al no hacer ning un esfuerzo para reducir el uso de memoria, a menos que excediera el megabyte. En los programas para los cuales no era crucial el manejo de cheros muy grandes, incentivamos a los programadores a leer el chero completo en memoria, y luego explorar su contenido, sin tener que preocuparse por la E/S. Estas decisiones permitieron que muchos programas GNU sobrepasaran a sus contrapartidas UNIX en conabilidad y velocidad.

2.6.14.

Computadoras donadas

A medida que la reputaci on del proyecto GNU crec a, la gente comenz oa ofrecer al proyecto donaciones de m aquinas con UNIX corriendo. Fueron muy

44

Historia del Proyecto GNU

u tiles porque la manera m as f acil de desarrollar componentes de GNU era hacerlo en un sistema UNIX, y luego ir reemplazando los componentes del sistema uno a uno. Pero ellas trajeron una cuesti on etica: si era correcto para nosotros siquiera tener una copia de UNIX. UNIX era (y es) software propietario, y la losof a del proyecto GNU dice que no debemos usar software propietario. Pero, aplicando el mismo razonamiento que lleva a la conclusi on que la violencia en defensa propia est a justicada, conclu que era leg timo usar un paquete propietario cuando ello era crucial para desarrollar un reemplazo libre que ayudar a a otros a dejar de usar el paquete propietario. Pero, a un cuando esto era un mal justicable, era todav a un mal. En la actualidad ya no tenemos m as copias de Unix, porque las hemos reemplazado por sistemas operativos libres. En los casos en que no pudimos reemplazar el sistema operativo de una m aquina por uno libre, se procedi o al reemplazo de la m aquina.

2.6.15.

La lista de tareas de GNU

A medida que prosegu a el proyecto GNU, se desarrollaron o encontraron una cantidad creciente de componentes, y eventualmente se vio la utilidad de hacer una lista con los huecos faltantes. La usamos para reclutar desarrolladores para escribir las piezas faltantes. Esta lista comenz o a conocerse como la lista de tareas de GNU. Adem as de los componentes Unix faltantes, agregamos a la lista otros u tiles proyectos de software y documentaci on que, de acuerdo a nuestra visi on, debe tener un sistema verdaderamente completo. En la actualidad, casi ning un componente Unix queda en la lista de tareas GNU esos trabajos ya han sido terminados, fuera de algunos no esenciales. Pero la lista est a llena de proyectos que algunos pueden denominar ((aplicaciones)). Cualquier programa q ue sea atrayente a m as de una estrecha franja de usuarios ser a una cosa u til para a nadir a un sistema operativo. A un los juegos est an inclu dos en la lista de tareas y han estado desde el principio. Unix inclu a juegos, as que GNU deb a incluirlos tambi en. Pero la compatibilidad no es un problema para los juegos, as que no seguimos la lista de juegos que Unix ten a. En lugar de ello, listamos un espectro de diferentes clases de juegos que les podr an gustar a los usuarios.

2.6.16.

La GPL para Bibliotecas de GNU

La biblioteca C de GNU usa una clase especial de copyleft denominada ((GNU Library General Public License)) [Licencia P ublica General para Bibliotecas de GNU] que da permiso para enlazar software propietario con la biblioteca. Porqu e hacer esta excepci on?

2.6 El Proyecto GNU por Richard Stallman

45

No es una cuesti on de principios; no hay ning un principio que diga que debemos incluir c odigo de los productos de software propietario. (Porqu e contribuir con un proyecto que se rehusa a compartir con nosotros?) El uso de la LGPL para la biblioteca C, o para cualquier otra biblioteca, es un tema de estrategia. La biblioteca C hace un trabajo gen erico; todo sistema propietario o compilador viene con una biblioteca C. Por lo tanto, el hacer que nuestra biblioteca est e s olo disponible para el software libre, no le dar a al software libre ninguna ventaja s olo hubiera desalentado el uso de nuestra biblioteca. Hay un sistema que es una excepci on a esto: en un sistema GNU (y esto incluye los sistemas GNU/Linux), la biblioteca C de GNU es la u nica biblioteca C. As que los t erminos de distribuci on de la biblioteca C de GNU determinan si es posible compilar un programa propietario para un sistema GNU. No hay ninguna raz on etica para permitir aplicaciones propietarias en un sistema GNU, pero estrat egicamente parece que si no se permite, ello har a m as para desalentar el uso del sistema GNU que para alentar el desarrollo de aplicaciones libres. Por estas razones es que el uso de la GPL para Bibliotecas es una buena estrategia para la biblioteca C. Para otras bibliotecas, la decisi on estrat egica necesita considerarse en cada caso particular. Cuando una biblioteca hace un trabajo especial que puede ayudar a escribir cierta clase de programas, y luego entregarla bajo la GPL, limit andola s olo a programas libres, es una manera de ayudar a otros desarrolladores de software libre, al proporcionarles una ventaja contra el software propietario. Considere la GNU Readline, una biblioteca desarrollada para proporcionar la edici on en la l nea de ordenes para BASH. Readline se entrega bajo la GPL GNU ordinaria, no bajo la GPL para Bibliotecas. De esta manera probablemente se reduce la cantidad de uso de Readline, pero eso no signica p erdida para nosotros. Mientras tanto, al menos una u til aplicaci on se ha transformado en software libre espec camente para poder usar Readline, y esa es una ganancia real para nuestra comunidad. Los desarrolladores de software propietario tienen las ventajas que el dinero proporciona; los desarrolladores de software libre necesitan crear ventajas entre s . Tengo la esperanza de que alg un d a tendremos una gran colecci on de bibliotecas cubiertas por GPL que no tengan parang on entre el software propietario, que proporcionen u tiles m odulos que sirvan como bloques constructivos en nuevo software libre, y que sumen una mayor ventaja para adelantar el desarrollo de software libre.

2.6.17.

Rascarse una comez on?

Eric Raymond dice que ((Todo buen trabajo de software comienza con un desarrollador rasc andose una comez on personal)). Puede que ocurra algunas veces, pero muchas de las piezas esenciales de software GNU se desarrollaron

46

Historia del Proyecto GNU

a los nes de tener un sistema operativo libre completo. Vinieron desde una visi on y un plan, no desde el impulso. Por ejemplo, desarrollamos la biblioteca C de GNU porque un sistema del estilo Unix necesita una biblioteca C, el shell Bourne-Again (bash) porque un sistema del estilo Unix necesita un shell, y el tar GNU porque un sistema del estilo Unix necesita un programa tar. Lo mismo se aplica a mis propios progamas el compilador GNU C, GNU Emacs, GDB y GNU Make. Algunos de los programas GNU se desarrollaron para tratar amenazas espec cas a nuestra libertad. Por ello, desarrollamos gzip para reemplazar al programa Compress, perdido para nuestra comunidad a causa de las patentes LZW. Proporcionamos fondos para desarrollar LessTif, y m as recientemente iniciamos GNOME y Harmony, para lidiar con los problemas causados por cierta biblioteca propietaria (vea m as abajo). Estamos desarrollando el GNU Privacy Guard para reemplazar un software popular de cifrado no-libre, porque los usuarios no deben verse obligados a elegir entre privacidad y libertad. Por supuesto, la gente que escribe estos programas se interesa en el trabajo, y varias personas han agregado muchas caracter sticas para satisfacer sus propias necesidades e intereses. Pero ese no es el motivo por el cual existe el programa.

2.6.18.

Desarrollos inesperados

Al comienzo del proyecto GNU, imagin e que desarrollar amos el sistema GNU completo, y luego lo entregar amos completo. No es as como ha sucedido. Como cada componente de un sistema GNU se implement o en un sistema Unix, cada componente pod a correr en sistemas Unix, mucho antes de que existiera un sistema GNU completo. Algunos de esos programas se hicieron populares, y los usuarios comenzaron a extenderlos y transportarlos a las distintas versiones incompatibles de Unix, y algunas veces a otros sistemas tambi en. El proceso hizo que dichos programas sean m as potentes, y atrayeran tanto fondos como contribuyentes al proyecto GNU. Pero tambi en demor o el completamiento de un sistema m nimo en funciones por varios a nos, a medida que el tiempo de los desarrolladores GNU se usaba para mantener esos transportes y en agregar caracter sticas a los componentes existentes, en lugar de adelantar la escritura de los componentes faltantes.

2.6.19.

El GNU Hurd

En 1990, el sistema GNU estaba casi completo; el u nico componente importante faltante era el n ucleo. Decidimos implementar nuestro n ucleo como una colecci on de procesos servidores corriendo sobre Mach. Mach es un mi-

2.6 El Proyecto GNU por Richard Stallman

47

cron ucleo desarrollado en Carnegie Mellon University y luego en la University of Utah; el GNU HURD es una colecci on de servidores (o ((manada de n us))) que corren sobre Mach, y se ocupan de las tareas del n ucleo Unix. El inicio del desarrollo se demor o mientras esper abamos que Mach se entregue como software libre, tal como se hab a prometido. Una raz on para elegir este dise no hab a sido evitar lo parec a ser la parte m as dura del trabajo: depurar el n ucleo sin un depurador a nivel de c odigo fuente para utilizar. Esta parte del trabajo ya hab a sido hecha en Mach, y esper abamos depurar los servidores HURD como programas de usuario, con GDB. Pero llev o un largo tiempo hacer esto posible, y los servidores multihilo que se env an mensajes unos a otros han sido muy dif ciles de depurar. Hacer que HURD trabaje s olidamente se ha tardado varios a nos.

2.6.20.

Alix

El n ucleo GNU no se iba a llamar originalmente el HURD. Su nombre original era Alix denominado as a partir de una mujer que era mi amor de aquella epoca. Ella era administradora de sistema Unix y hab a hecho notar que su nombre segu a el patr on de nomenclatura com un a las versiones de sistema Unix; a modo de broma, le dijo a sus amigos, ((Alguien deber a darle mi nombre a un n ucleo)). Yo no dije nada, pero decid sorprenderla con un n ucleo llamado Alix. No se di o de esa manera. Michael Bushnell (ahora Thomas), el principal desarrollador del n ucleo, preri o el nombre HURD, y redeni o Alix para referirse a cierta parte del n ucleo la parte que captura las llamadas del sistema y las gestiona por medio del env o de mensajes a los servidores HURD. M as tarde, Alix y yo nos separamos, y ella cambi o su nombre; independientemente, el dise no de HURD se cambi o para que la biblioteca C env e los mensajes directamente a los servidores, y esto hizo que el componente Alix desapareciera del dise no. Pero antes que estas cosas sucedieran, un amigo de ella encontr o el nombre Alix en el c odigo fuente de HURD, y se lo mencion o. As que el nombre cumpli o su objetivo.

2.6.21.

Linux y GNU/Linux

El GNU HURD no est a listo para el uso en producci on. Afortunadamente, est a disponible otro n ucleo. En 1991, Linus Torvalds desarroll o un n ucleo compatible con Unix y lo denomin o Linux. Cerca de 1992, al combinar Linux con el sistema no tan completo de GNU, result o en un sistema operativo libre completo. (La combinaci on en s misma di o un considerable trabajo.) Es gracias a Linux que podemos ver funcionar un sistema GNU en la actualidad.

48

Historia del Proyecto GNU

Denominamos a esta versi on GNU/Linux, para expresar su composici on como combinaci on de un sistema GNU con Linux como n ucleo.

2.6.22.

Desaf os en nuestro futuro

Hemos probado nuestra capacidad para desarrollar un amplio espectro de software libre. Esto no signica que somos invencibles o que nada nos puede detener. Muchos desaf os hacen que el futuro del software libre sea incierto; estar a la altura de los mismos requerir a esfuerzos rmes y resistencia, algunas veces durante a nos. Requerir a la clase de determinaci on que la gente muestra cuando valora su libertad y no deja que nadie se la quite. Las siguientes cuatro secciones discuten dichos desaf os.

2.6.23.

Hardware secreto

Los fabricantes de hardware tienden cada vez m as a mantener las especicaciones de hardware secretas. Esto hace dif cil la escritura de controladores libres, y de esa manera, que Linux y XFree86 puedan admitir nuevo hardware. Tenemos sistemas libres completos por hoy, pero no los tendremos ma nana si no podemos usar las computadoras del ma nana. Existen dos maneras de lidiar con este problema. Los programadores pueden hacer ingenier a reversa para darse cuenta como usar el hardware. El resto de nosotros puede elegir el hardware que admite software libre; a medida que nuestro n umero crezca, el secreto de las especicaciones se transformar a en una pol tica contraproducente. La ingenier a reversa es un trabajo enorme; tendremos los programadores con la suciente determinaci on para realizarla? S si hemos constru do un fuerte sentimiento de que el software libre es un tema de principio, y de que los controladores no libres son intolerables. Y una gran cantidad de nosotros estar a dispuesto a gastar dinero extra, o incluso tiempo extra, para que podamos usar controladores libres? S , si se difunde la determinaci on para tener libertad.

2.6.24.

Bibliotecas no libres

Una biblioteca no libre que corre sobre un sistema operativo act ua como una trampa para los desarrolladores de software libre. Las caracter sticas atractivas de la biblioteca son el cebo; si usted usa la biblioteca, cae en la trampa, porque su programa no puede ser parte u til de un sistema operativo libre. (Estrictamente hablando, podemos incluir su programa, pero no funcionar a sin la biblioteca faltante.) Peor a un, si el programa que usa la biblioteca se hace popular, puede hacer caer a otros programadores incautos dentro de la trampa. La primer instancia de este problema fue el kit de herramientas Motif, all a en los 80s. Aunque a un no hab a sistemas operativos libres, era claro el

2.6 El Proyecto GNU por Richard Stallman

49

problema que Motif iba a causarles m as adelante. El proyecto GNU respondi o de dos maneras: solicitando a los proyectos individuales de software libre que admitan tanto los widgets del kit libre de herramientas de X como el de Motif, y solicitando a alguien que escriba un reemplazo libre para Motif. El trabajo tom o varios a nos; LessTif, desarrollado por Hungry Programmers [Programadores hambrientos] tom o la potencia necesaria como para admitir la mayor a de las aplicaciones Motif reci en en 1997. Entre 1996 y 1998, otra biblioteca kit de herramientas GUI no libre, denominada Qt, se us o en una sustancial colecci on de software libre: el escritorio KDE. Los sistemas libres GNU/Linux no pod an usar KDE, porque no pod amos usar la biblioteca. Sin embargo, algunos distribuidores comerciales de sistemas GNU/Linux que no eran tan estrictos al adherirse al software libre, agregaron KDE a sus sistemas produciendo un sistema con m as capacidades, pero menos libertad. El grupo KDE instaba activamente a m as programadores a usar Qt, y millones de nuevos ((usuarios de Linux)) nunca escucharon la idea de que hab a un problema con esto. La situaci on se presentaba l ugubre. La comunidad del software libre respondi o a este problema de dos maneras: GNOME y Harmony. GNOME, el GNU Network Object Model Environment [Entorno Modelo de Objetos en Red de GNU], es el proyecto de escritorio de GNU. En 1997 Miguel de Icaza lo inici o, y se desarroll o con aporte de Red Hat Software, para proporcionar capacidades de escritorio similares, pero usando s olo software libre. Tiene tambi en ventajas t ecnicas, tales como admitir una variedad de lenguajes, no s olo C++. Pero su prop osito principal fue la libertad: evitar el uso de cualquier software no libre. Harmony es una biblioteca de reemplazo compatible, dise nada para poder hacer funcionar el software KDE sin usar Qt. En noviembre de 1998, los desarrolladores de Qt anunciaron un cambio de licencia, que cuando se lleve a cabo, har a que Qt sea software libre. No hay manera de estar seguro, pero pienso que esto ocurri o en parte debido a la rme respuesta de la comunidad frente al problema que presentaba Qt cuando no era libre. (La nueva licencia es inconveniente e injusta, as que a un es deseable evitar su uso.) C omo responderemos a la siguiente biblioteca no libre que nos tiente? Comprender a la totalidad de la comunidad la necesidad de mantenerse fuera de la trampa? Alguno de nosotros entregar a libertad por conveniencia, y generar a un importante problema? Nuestro futuro depende de nuestra losof a.

2.6.25.

Patentes de software

La peor amenaza que enfrentamos proviene de las patentes de software, que pueden colocar a algoritmos y caracter sticas fuera de los l mites del

50

Historia del Proyecto GNU

software libre hasta por veinte a nos. Las patentes del algoritmo de compresi on LZW se solicitaron en 1983, y hasta ahora no podemos entregar software libre que produzca GIFs adecuadamente comprimidos. En 1998, se tuvo que quitar de una distribuci on un programa libre para producir audio comprimido MP3 a causa de la amenaza de un juicio por patente. Existen maneras de tratar con las patentes: podemos buscar evidencia de que la patente no es v alida, y podemos buscar maneras alternativas de realizar el trabajo. Pero cada uno de estos m etodos trabaja s olo ciertas veces; cuando ambos fallan, una patente puede forzar a que todo software libre carezca de alguna caracter stica que los usuarios desean. Qu e haremos cuando esto suceda? Aquellos de nosotros que valoremos el software libre por la libertad nos apegaremos al software libre de cualquier manera. Nos las arreglaremos para tener nuestro trabajo realizado sin las caracter sticas patentadas. Pero aquellos que valoren el software libre porque esperan que sea t ecnicamente superior, cuando las patentes lo obliguen a mantenerse atr as, es m as probable que piensen que se trata de una falla. Por lo tanto, si bien es u til hablar acerca de la efectividad pr actica del modelo ((catedral)) de desarrollo, y de la conabilidad y potencia de cierto software libre, no debemos detenernos all . Debemos hablar acerca de libertad y principio.

2.6.26.

Documentaci on libre

La mayor deciencia en nuestro sistema operativo libre no est a en el software es la falta de buenos manuales libres que podamos incluir en nuestros sistemas. La documentaci on es una parte esencial de cualquier paquete de software; cuando un paquete importante de software libre no viene con un buen manual libre, ese es un hueco importante. Tenemos muchos de esos huecos en la actualidad. La documentaci on libre, como el software, es un tema de libertad, no de precio. El criterio para un manual libre es muy parecido al del software libre: es una cuesti on de otorgar a los usuarios ciertas libertades. La redistribuci on (incluso la venta comercial) debe estar permitida, en l nea y en papel, de tal manera que el manual pueda acompa nar a cada copia del programa. El permiso para modicarlo es tambi en crucial. Como regla general, no creo que sea esencial que las personas tengan permiso para modicar toda clase de art culos y libros. Por ejemplo, no creo que usted o yo estemos obligado a dar permiso para modicar art culos como este, que describe nuestras acciones y nuestra visi on. Pero existe una raz on particular debido a la cual la libertad para modicar la documentaci on es crucial para el software libre. Cuando la gente ejercita su derecho a modicar el software, y agrega o cambia caracter sticas, si son concientes tambi en cambiar an el manual as proporcionar an documentaci on precisa y u til con el programa modicado. Un manual que no

2.6 El Proyecto GNU por Richard Stallman

51

permite a los programadores ser concientes y terminar el trabajo, no satisface las necesidades de nuestra comunidad. La existencia de algunas clases de l mites acerca de c omo se deben hacer las modicaciones no implica problemas. Por ejemplo, el requerimiento de preservar el aviso de copyright del autor original, los t erminos de distribuci on, o la lista de autores, est an bien. Tampoco trae problemas requerir que la versi on modicada incluya un aviso de que fue modicada, e incluso que haya secciones completas que no puedan borrarse o cambiarse siempre y cuando dichas secciones traten temas que no sean de ndole t ecnica. Estas clases de restricciones no son un problema porque no impiden al programador conciente que adapte el manual para ajustarlo al programa modicado. En otras palabras, no impiden a la comunidad del software libre la completa utilizaci on del manual. Sin embargo, debe ser posible modicar todo el contenido *t ecnico* del manual, y luego distribuir el resultado en todos los medios usuales, a trav es de todos los canales usuales; si esto no es as , las restricciones obstruyen la comunidad, el manual no es libre, y necesitaremos otro maual. Ser a que loa desarrolladores de software libre tendr an la conciencia y determinaci on para producir un espectro completo de manuales? Una vez m as, nuestro futuro depende de nuestra losof a.

2.6.27.

Debemos hablar acerca de la libertad

En la actualidad se estima que hay unos diez millones de usuarios de sistemas GNU/Linux, tales como el Debian GNU/Linux y Red Hat Linux. El software libre ha desarrollado ciertas ventajas pr acticas que hacen que los usuarios est en congreg andose hacia all por razones puramente pr acticas. Las buenas consecuencias de esto son evidentes: mayor inter es en el desarrollo de software libre, m as clientes para empresas de software libre, y mayor capacidad para animar a las compa n as a que desarrollen productos de software libre, en lugar de productos de software propietario. Pero el inter es en el software crece m as r apido que la conciencia acerca de la losof a sobre la cual est a basado, y esto crea problemas. Nuestra capacidad de enfrentar los desaf os y amenazas que se describieron m as arriba depende de la voluntad de mantenerse rmes del lado de la libertad. Para asegurarnos de que nuestra comunidad tiene esta voluntad, necesitamos esparcir la idea entre los nuevos usuarios a medida que ellos llegan a nuestra comunidad. Pero estamos fracasando en esto: los esfuerzos realizados para atraer nuevos usuarios a nuestra comunidad sobrepasan por lejos a los esfuerzos dedicados a la ense nanza c vica acerca de nuestra comunidad. Necesitamos hacer ambas cosas, y es necesario que mantengamos ambos esfuerzos balanceados.

52

Historia del Proyecto GNU

2.6.28.

((Open Source))

La ense nanza acerca de la libertad a los nuevos usuarios se hizo m as dif cil en 1998, cuando una parte de la comunidad decidi o dejar de usar el t ermino ((software libre)) y usar ((open source software)) en su lugar. Algunos de los que favorecieron este t ermino ten an como objetivo evitar la confusi on de ((free)) con ((gratis)) una meta v alida. Otros, sin embargo, apuntaban a apartar el esp ritu de principio que ha motivado el movimiento por el software libre y el proyecto GNU, y resultar as atractivos a los ejecutivos y usuarios comerciales, muchos de los cuales sostienen una ideolog a que pone las ganancias por encima de la libertad, de la comunidad, y de los principios. Por lo tanto, la ret orica de ((open source)) se centra en el potencial de realizaci on de potente software de alta calidad, pero esquiva las ideas de libertad, comunidad y principio. Las revistas sobre ((Linux)) son un claro ejemplo de esto est an llenas de propagandas acerca de software propietario que funciona sobre GNU/Linux. Cuando aparezca la pr oxima Motif o Qt, incentivar an estas revistas a los programadores a apartarse de ellas, o pondr an propagandas de las mismas? El apoyo de las empresas puede contribuir a la comunidad de varias maneras; si todo lo dem as se mantiene igual, esto es u til. Pero si ganamos su apoyo mediante el recurso de hablar menos de libertad y principio esto puede ser desastroso; hace que empeore el desbalance previo entre el alcance y la educaci on c vica. ((Software libre)) y ((open source)) describen la misma categor a de software, m as o menos, pero dicen diferentes cosas acerca del software, y acerca de los valores. El proyecto GNU contin ua utilizando el t ermino ((free software)) [software libre] para expresar la idea de que la libertad, no solamente la tecnolog a, es lo importante.

2.6.29.

Pru ebelo!

La losof a de Yoda (((No hay para probar))) suena linda, pero no funciona conmigo. He realizado la mayor parte de mi trabajo con ansiedad por saber si podr a llevarlo a cabo, y con la inseguridad de que no ser a suciente alcanzar la meta si lo lograba. Pero lo intent e igual, porque no hab a otro entre el enemigo y mi ciudad. Para mi propia sorpresa, algunas veces he tenido exito. Algunas veces he fallado; algunas de mis ciudades han ca do. Luego he encontrado otra ciudad amenazada, y me prepar e para otra batalla. A lo largo del tiempo, aprend a buscar las amenazas y ponerme entre ellas y la ciudad, y llamar a otros hackers para que se unan a m . En la actualidad, con frecuencia no soy el u nico. Es un consuelo y un placer cuando veo un regimiento de hackers excavando para mantener la trinchera, y caigo en cuenta que esta ciudad sobrevivir a por ahora. Pero

2.7 Autores del cap tulo

53

los peligros son mayores cada a no que pasa, y ahora Microsoft tiene a nuestra comunidad como un blanco expl cito. No podemos dar por garantizado el futuro en libertad. No lo d e por garantizado! Si usted desea mantener su libertad, debe estar preparado para defenderla. Copyright c 1998 Richard Stallman. Est a permitida la copia textual y distribuci on de este art culo en su totalidad por cualquier medio, siempre y cuando esta nota se preserve. Actualizado:23 Mayo 1999 rms. Traducci on: C esar Ballardini (Argentina) cballard@ santafe. com. ar

2.7.

Autores del cap tulo

Recopilaci on, adaptaci on y agregados por Diego J. Brengi. Secci on El proyecto GNU obtenido de: http://es.wikipedia.org/. Secci on La Free Software Foundation obtenido de: http://es.wikipedia. org/, con Copyright c 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc. Secci on Actividades principales de la FSF obtenido de: http://en. wikipedia.org/. Traducci on al espa nol realizada por Rub en Alejandro Casas. Secci on El Proyecto GNU por Richard Stallman publicado originalmente en el libro ((Open Sources)) y extra do de http://www.gnu.org/gnu/ thegnuproject.es.html.

54

Historia del Proyecto GNU

Cap tulo 3

El kernel Linux
3.1. Kernel

El kernel o n ucleo se podr a denir como el coraz on del sistema operativo. Es el encargado de que el software y el hardware del ordenador puedan trabajar juntos. Las funciones mas importantes del mismo, aunque no las u nicas, son: Administraci on de la memoria, para todos los procesos en ejecuci on. Administraci on del tiempo de procesador. Es el encargado de que las aplicaciones puedan acceder a los perif ericos y dispositivos de nuestra computadora de una manera c omoda. Adem as de administrar los recursos de hardware, el kernel, se encarga de proporcionar m etodos normalizados para la utilizaci on de los mismos, permitiendo que las aplicaciones se abstraigan de las diferencias entre distintos tipos de hardware. En las guras 3.2, 3.3 y 3.1 se ilustra este concepto.

3.2.

Nacimiento del kernel Linux

Linux hace su aparici on a principios de la d ecada de los noventa. Era el a no 1991 y por aquel entonces un estudiante de inform atica de la Universidad de Helsinki (Finlandia), llamado Linus Torvalds (Fig. 3.4) empez oa programar para su tesis nal un n ucleo de sistema operativo. Luego se convirti o en un desarrollo de muchos programadores alrededor del mundo, que gracias a Internet pudieron continuar el proyecto. Este comienzo estuvo inspirado en Minix, un peque no sistema Unix desarrollado por el profesor Andrew Tanenbaum con nes educativos y explicado muy bien en su Libro Sistemas Operativos. Las primeras discusiones sobre Linux fueron en el grupo de noticias comp.os.minix, en estas discusiones se hablaba sobre todo del desarrollo

56

El kernel Linux

Figura 3.1: Arquitectura general del Kernel Linux. Obtenido de Anatomy of the Linux kernel por M. Tim Jones.

Figura 3.2: Diagrama conceptual y simplicado de las capas de un sistema operativo GNU/Linux.

de un peque no sistema Unix para usuarios de Minix que quer an m as. Disconforme con Minix, Linus comienza el desarrollo de un kernel que pudiera ejecutar en su PC.

3.3 Licencia

57

Figura 3.3: Arquitectura general del S.O. GNU/linux. Obtenido de Anatomy of the Linux kernel por M. Tim Jones.

Figura 3.4: Linus Torvalds.

3.3.

Licencia

El exito de Linux se debe en parte a que Linus decide liberar su c odigo bajo licencia GPL (creada por el proyecto GNU), lo que lo hace atractivo

58

El kernel Linux

para otros programadores deseosos de colaborar al proyecto. Esta licencia hizo muy r apido el desarrollo del nuevo kernel y permiti o su crecimiento sostenido sin derivar en productos propietarios.

3.4.

Avances

Linus nunca anunci o la versi on 0.01 de ((Linux)) (1991) porque no era ni siquiera ejecutable, solamente inclu a los principios del n ucleo; estaba escrito en lenguaje ensamblador y asum a que el usuario ten a acceso a un sistema Minix para su compilaci on. Aprovech o en sus comienzos las caracter sticas de conmutaci on de tareas con que contaba el amante Intel 386. Mas tarde durante 1991, Linus anunci o la primera versi on ((Ocial)) de Linux (versi on 0.02). Esta vez, Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C), pero no mucho m as funcionaba. En este estado de desarrollo ni siquiera se pensaba en t erminos de soporte, documentaci on, e incluso distribuci on. Despu es de la versi on 0.03, Linus salt o en la numeraci on hasta la 0.10. Desde entonces, m as y m as programadores a trav es de Internet empezaron a trabajar en el proyecto y, despu es de sucesivas revisiones, Linus increment o el n umero de versi on hasta la 0.95 en Marzo de 1992. M as de un a no despu es, en Diciembre de 1993, el n ucleo del sistema estaba en la versi on 0.99 y la versi on 1.0 no lleg o hasta marzo de 1994. A no 1991 1994 1995 1996 1999 2001 2004 Versi on del Kernel Linux 0.1 1.0 1.2 2.0 2.2 2.4 2.6

La versi on actual (Mayo de 2009) del n ucleo es la 2.6.29.2 y sigue avanzando d a a d a con la meta de perfeccionar, mejorar el sistema y mantenerlo actualizado con los u ltimos avances de la tecnolog a inform atica y el nuevo hardware existente. Los archivos hist oricos del kernel y sus fechas pueden encontrarse en: http://www.oldlinux.org/Linux.old/docs/history/1994.html

3.5.

Linux y el proyecto GNU

A pesar de ser 95 % similar en caracter sticas y funcionamiento a un sistema UNIX, el kernel de Linux no usa ni siquiera una l nea del UNIX de la empresa AT&T, due na original de los derechos de UNIX, ni de ning un

3.6 La lista de desarrollo

59

Figura 3.5: Peque na historia de las releases m as importantes. Obtenido de Anatomy of the Linux kernel por M. Tim Jones).

otro UNIX comercial. Por esto es que Linus pudo licenciarlo con la licencia GPL. Una vez que el n ucleo estuvo ((usable)), los programadores comenzaron a buscar aplicaciones y utilidades para agregar y hacer el sistema m as u til, ese es el momento en que entra el proyecto GNU, iniciado en 1984 por la Free Software Foundation (FSF), entidad creada por Richard M. Stallman (o simplemente RMS), con el n de hacer un sistema operativo libre. Dado que exist a ya mucho software en el proyecto GNU, los programadores comenzaron a unir el n ucleo Linux con dichas herramientas GNU, conformando lo que hoy conocemos como sistema GNU/Linux (o simplemente Linux, como se suele llamar equivocadamente). De estos aportes provenientes del proyecto GNU, los m as importantes y conocidos son: El compilador GNU GCC de lenguaje C con el cual se compila el mismo kernel y las aplicaciones; la librer a est andar de C del proyecto GNU glibc y el int erprete de comandos BASH entre otros.

3.6.

La lista de desarrollo

Los desarrolladores del kernel Linux utilizan para comunicarse una lista de correo electr onico en vger.kernel.org. A trav es de esta lista intercambian ideas, correcciones, problemas, etc. Esta lista es s olo recomendable para personas con conocimientos s olidos acerca del Kernel.

60

El kernel Linux

3.7.

Desarrolladores

Son muchos los desarrolladores que han realizados y realizan contribuciones al kernel de Linux. Algunos juegan un rol principal en el desarrollo y son l deres reconocidos dentro de la comunidad Linux. A la cabeza del desarrollo esta por supuesto Linus Torvalds, y es el quien, con ayuda de otros, decide que contribuciones se aportan al desarrollo del kernel ocial y cuales no. En casos de conictos, la decisi on nal la tiene siempre Linus. No existe ning un impedimento para modicar y cambiar el kernel Linux, sin embargo, solo existe un kernel Linux ocial. Adem as de Linus, otra personalidad importante es Alan Cox, que contribuy o mucho con el soporte para multiprocesadores y es quien recolecta una gran cantidad de nuevos parches para reenvi arselos luego a Linus.

Figura 3.6: Alan Cox, desarrollador del Kernel Linux. Existen varios desarrolladores responsables (Maintainers ) listados en la documentaci on del kernel actual. Un maintainer es un desarrollador que est a a la cabeza de algunas de las distintas areas o subsistemas del kernel de Linux. Adem as de las contribuciones propias, estos maintainers, reciben contribuciones de otros desarrolladores. Esta estructura de desarrollo con Linus a la cabeza, no est a establecida ni denida expl citamente. Simplemente se forma a medida que las personas se conocen a trav es de la red, se env an parches, reportes de bugs, etc. Pueden ser varios los motivos por los que un desarrollador decide invertir tiempo y esfuerzo en el desarrollo del kernel de Linux. Algunos pertenecen

3.8 Identicaci on de versiones antiguas del kernel

61

a empresas a las cuales les interesa aportar al kernel para incorporar o mantener determinada caracter stica. Ejemplos de estos casos son Suse, IBM y RedHat por mencionar algunas. Otros contribuyen, para obtener reputaci on, para demostrar nuevos conceptos, para impulsar los sistemas Linux, por creencias los ocas, como aprendizaje o simplemente por placer.

Figura 3.7: Diagrama conceptual de la jerarqu a de desarrolladores. En la gura 3.8 podemos ver el numero de desarrolladores y compan as involucradas estimados por cada versi on. En las gura 3.9 podemos ver los programadores y empresas que m as contribuyen con el desarrollo del kernel Linux.

3.8.

Identicaci on de versiones antiguas del kernel

Antiguamente exist an dos ramas ociales del Kernel Linux: Versi on de producci on: La versi on de producci on, era la versi on estable Esta versi on era el resultado nal de las versiones de desarrollo o experimentales. Cuando el equipo de desarrollo del kernel experimental, decid a que hab a conseguido un kernel estable y con la suciente calidad, se lanzaba una versi on de producci on o estable. Esta versi on es la que se deber a utilizar para un uso seguro del sistema, ya que son las versiones consideradas m as estables y libres de fallos en el momento de su lanzamiento. Las modicaciones hechas a una versi on estable

62

El kernel Linux

Figura 3.8: N umero de desarrolladores y empresas involucradas. del kernel eran s olo para corregir errores, fallos de seguridad, etc. Para mantener la cantidad de bugs al m nimo posible no se agregaban nuevas capacidades ni se hac an mejoras sustanciales. Versi on de desarrollo: Esta versi on era experimental y es la que utilizaban los desarrolladores para programar, comprobar y vericar nuevas caracter sticas, correcciones, agregados, etc. Estos n ucleos eran inestables y no se deb an usar sin conocer las consecuencias. Las versiones del kernel se marcaban con 3 n umeros (XX.YY.ZZ) de la siguiente forma: XX Numero Mayor: Indica la serie principal del kernel. Hasta el momento s olo existen la 1 y 2. Este n umero cambia cuando el c odigo del kernel ha sufrido un cambio muy importante. YY Numero Medio: Indica si la versi on es de desarrollo o de producci on. Un n umero impar, signica que es de desarrollo, uno par, que es de producci on. ZZ Numero Menor: Indicaba una nueva versi on del kernel, en las que lo u nico que se hab a modicado, son fallos de programaci on (bugs), correcciones y cambios menores. Algunos ejemplos: Ejemplo 1: versi on del kernel 2.0.0: Kernel de la serie 2, versi on de producci on 0 (0 par), primera versi on.

3.9 Identicaci on de versiones actuales del kernel

63

Figura 3.9: Aporte de desarrolladores y empresas. Ejemplo 2: versi on del kernel 2.0.1: Kernel de la serie 2, versi on 0, en el que se han corregido errores de programaci on presentes en la versi on 2.0.0 (ZZ=1) Ejemplo 3: versi on del kernel 2.2.17: versi on 17 del kernel estable 2.2. Ejemplo 4: versi on del kernel 2.5.3: versi on 3 del kernel inestable o de desarrollo 2.5. Ejemplo 5: versi on del kernel 2.6.8: versi on 8 del kernel estable 2.6.

3.9.

Identicaci on de versiones actuales del kernel

Actualmente se utilizan cuatro n umeros para las versiones del kernel Linux, de la siguiente forma: (AA.BB.CC.DD) AA y BB: Indican la serie principal del kernel. Actualmente existe la serie 2.6 y ser an n umeros que cambiar an s olo en largos periodos de tiempo.

64

El kernel Linux

CC: Es la versi on del kernel e ir a avanzando con cambios signicativos. DD: Indicar a cambios menores de correcci on de errores y soluci on de problemas de seguridad. En los casos donde DD sea del tipo -rc, se tratar a de una versi on del tipo release candidate y nos indica que se trata de una versi on de desarrollo. De esta manera no existen m as las ramas de desarrollo y estables por separado con la numeraci on par e impar que se utilizaban previamente. Un ejemplo de esta nomenclatura se puede observar en la gura 3.10.

Figura 3.10: Ciclo de desarrollo del kernel.

3.10.

Estructura monol tica

El kernel Linux posee muchos m odulos que implementan ciertas funcionalidades. Muchos de estos m odulos pueden insertarse o removerse del kernel en forma din amica (mientras est a funcionando) o pueden incorporarse en forma ja al momento de la compilaci on. Esto permite probar m odulos o quitarlos sin detener el sistema y armar kernels a medida solo con los m odulos indispensables para el funcionamiento de un sistema en particular.

3.11 Arquitecturas de hardware

65

A pesar de esto, el kernel de Linux es monol tico y la existencia de estos m odulos no debe confundirse con el concepto de microkernel.

3.11.

Arquitecturas de hardware

Linux se desarroll o originalmente para correr en computadoras tipo PC compatibles con Intel 386 y 486. Sin embargo gracias a la portabilidad del lenguaje C y a la colaboraci on de muchos desarrolladores, hoy en d a tambi en corre en procesadores ARM, DEC Aplha, SUN Sparcs, M68000, MIPS y PowerPC entre otros. Por esta raz on GNU/Linux es el el sistema operativo que m as plataformas de hardware soporta.

3.12.

El c odigo fuente

El c odigo fuente de un kernel Linux como el 2.6.29.1 utiliza aproximadamente 372 Mbytes para su almacenamiento y 54 Mbytes comprimido con tar y bzip2. Esto incluye c odigo fuente para todas las arquitecturas soportadas y la documentaci on asociada. Los archivos se encuentran organizados en directorios. En un kernel 2.6.8 el primer nivel de directorios es: Documentation, arch, crypto, drivers, fs, include, init, ipc, kernel, lib, block, mm, net, scripts, security, sound, usr, samples, virt, firmware.

3.13.

Cambiando el kernel

Toda distribuci on de GNU/Linux viene con por lo menos un kernel ya compilado (im agen) con la que se instala inicialmente. Sin embargo existen varios motivos por el cual podemos desear cambiarlo: Para utilizar un kernel optimizado espec camente para nuestro procesador. Para modicar algunas de las opciones. Para utilizar un kernel que posea s olo los m odulos necesarios. Para incorporar m odulos no ociales a nuestro kernel. Para utilizar una versi on mas nueva del kernel. Para aprender los pasos involucrados. A la hora de cambiar el kernel, existen dos grandes opciones:

66 1) Instalar un kernel ya compilado. 2) Instalar un kernel compilado por uno mismo.

El kernel Linux

3.14.

Kernels precompilados

Las distintas distribuciones de GNU/Linux por lo general ofrecen una variedad de kernels ya compilados con diferentes opciones. Estos kernels siguen siendo de prop osito general, pero optimizados por ejemplo para alg un modelo de procesador. En una distribuci on como Debian, existen los siguientes kernels ya compilados y listos para instalar:
bash> apt-cache search linux-image* linux-image-2.6.26-2-486 - Linux 2.6.26 image on x86 linux-image-2.6.26-2-686 - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4 linux-image-2.6.26-2-686-bigmem - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4 linux-image-2.6.26-2-amd64 - Linux 2.6.26 image on AMD64 linux-image-2.6.26-2-openvz-686 - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, linux-image-2.6.26-2-vserver-686 - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, linux-image-2.6.26-2-vserver-686-bigmem - Linux 2.6.26 image on PPro/Celeron/PII/P linux-image-2.6.26-2-xen-686 - Linux 2.6.26 image on i686, oldstyle Xen support [...]

Para utilizar estos kernel ya compilados, simplemente se deben instalar con las herramientas de administraci on de paquetes propias de cada distribuci on.

3.15.

Instalando un kernel compilado a medida

En cambio para cambiar por un kernel compilado por uno mismo, los pasos involucrados son los siguientes: 1) Obtener los fuentes del kernel y descomprimirlos (normalmente en /usr/src/). 2) Aplicar parches o modicaciones al c odigo(opcional). 3) Congurar las opciones de compilaci on. 4) Compilar el kernel. 5) Instalarlo en nuestro sistema. 6) Reiniciar la computadora si se desea probar el nuevo kernel. Se dar an aqu conceptos generales para introducir al lector en los pasos necesarios en la compilaci on de un kernel Linux, sin pretender ser una gu a paso a paso. Consultar la documentaci on pertinente antes de realizar el proceso de conguraci on, compilaci on e instalaci on del kernel.

3.15 Instalando un kernel compilado a medida

67

3.15.1.

Obteniendo el c odigo fuente

El kernel se puede bajar de un gran n umero de servidores en Internet. El servidor principal es: http://www.kernel.org. De este sitio puede bajarse el c odigo fuente del kernel, en formato .tar.gz. (tar y gzip) o tar.bz2 (tar y bzip2). Para utilizar el nuevo kernel bajado, se lo debe descomprimir, compilar e instalar en el sistema. Las fuentes completas del kernel poseen varios mega bytes y cada nueva versi on (n umero menor) involucra peque nos cambios en relaci on al c odigo completo. Por este motivo la distribuci on de las versiones tambi en se realiza con parches incrementales que se aplican a la versi on anterior. Las distribuciones por lo general brindan otra forma de obtener el c odigo fuente del kernel. Esta es instalando el paquete correspondiente a los fuentes del kernel que se utilizaron para construir los diferentes kernels incluidos en la distribuci on. Por ejemplo en la distribuci on Debian est an disponibles los siguientes paquetes que contienen el c odigo fuente del kernel:
$ apt-cache search linux-source* linux-patch-debian-2.6.26 - Debian patches to version 2.6.26 of the Linux kernel linux-source-2.6.26 - Linux kernel source for version 2.6.26 with Debian patches linux-tree-2.6.26 - Linux kernel source tree for building Debian kernel images

En todos los casos, los fuentes del kernel se encontrar an comprimidos por lo que se deber a proceder a su descompresi on con el comando tar. Dentro del subdirectorio Documentation de los fuentes se podr a encontrar gran cantidad de informaci on relacionada.

3.15.2.

Aplicar parches

Una vez que se dispone de los fuentes del kernel, pueden realizarse modicaciones al mismo aplicando parches no ociales. Para esto se utilizar a el comando patch. Tambi en pueden modicarse directamente los archivos fuente. Obviamente hay que poseer los conocimientos necesarios para modicar exit osamente el kernel.

3.15.3.

Conguraci on

Antes de compilar el kernel Linux, se pueden congurar una gran cantidad de opciones. Se puede elegir qu e m odulos ser an incorporados en forma ja, qu e m odulos podr an insertarse y cuales no. Para esto, el kernel posee un archivo de conguraci on. Este archivo de conguraci on puede crearse y editarse en forma manual, pero lo m as com un es hacerlo a trav es de una interfase amigable (preguntas en texto plano, ncurses, Qt, GTK). Para congurar el kernel mediante alguna de estas interfaces es necesario alguno de los siguientes comandos:

68

El kernel Linux

make menucong: Text based color menus, radiolists & dialogs. make xcong: X windows (Qt) based conguration tool. make gcong: X windows (Gtk) based conguration tool. make oldcong: Default all questions based on the contents of your existing cong le. Ejecutar make help para obtener la lista completa y su explicaci on. Para acceder a esta conguraci on interactiva es necesario tener instalado por lo menos el compilador de C, Make y la librer a correspondiente a la interface seleccionada.

Figura 3.11: Conguraci on del kernel con la opci on make menucong.

3.15.4.

Compilaci on

Una vez conguradas las opciones deseadas se procede a la compilaci on. Los archivos Makele permiten automatizar el proceso de compilaci on. Para compilar el kernel es necesario tener instalados el compilador de C, Make , binutils y otros componentes seg un se menciona en Documentation/Changes. El kernel se compila simplemente con el comando make o make all. Si todo es correcto se obtendr a un nuevo kernel compilado junto con sus

3.16 El arranque

69

m odulos listos para instalar. Ejecutar make help para obtener la lista completa de opciones de compilaci on y su explicaci on.

3.15.5.

Instalaci on

El proceso de instalaci on consiste b asicamente en colocar el archivo imagen obtenido (kernel compilado) en el lugar apropiado dentro del sistema de archivos (normalmente el directorio /boot/). Adem as se debe congurar adecuadamente al administrador de arranque (Grub, Lilo u otro) para que en el pr oximo arranque se utilice el nuevo kernel. Como mecanismo de seguridad siempre se deja disponible la opci on de arrancar con el kernel anterior para estar seguros que el sistema podr a utilizarse en caso que el nuevo kernel no funcione correctamente. La instalaci on del kernel puede hacerse con el comando make install que realiza autom aticamente las acciones mencionadas.

3.15.6.

Otras variantes

Los pasos explicados aqu son generales, sin embargo algunas distribuciones de GNU/Linux poseen mecanismos especiales que facilitan esta labor. Por ejemplo en un sistema Debian GNU/Linux existe la herramienta make-kpkg que se utiliza para compilar los fuentes del kernel y crear paquetes Debian (.deb) del kernel, listos para instalar en el sistema. Esto facilita la tarea de administraci on, instalaci on de nuevos kernels y su reemplazo.

3.16.

El arranque

El administrador de arranque transere el hilo de ejecuci on al kernel, quien comienza entre otras cosas con la detecci on del hardware del sistema. Durante este proceso de arranque el kernel nos brinda una gran cantidad de informaci on por pantalla. Adem as esta informaci on puede consultarse con el comando dmesg o consultando varios archivos de log en /var/log (syslog, kern.log, dmesg y otros).

3.17.

Los m odulos

Los m odulos son peque nas porciones de c odigo compilado que pueden insertarse y removerse del kernel durante su ejecuci on. Estas porciones de c odigo implementan una funcionalidad espec ca del kernel. Al momento de congurar el kernel podemos elegir algunas caracter sticas generales acerca de los m odulos: Habilitar la posibilidad de cargar m odulos durante la ejecuci on del kernel. Nos permitir a insertar m odulos dentro del kernel en ejecuci on

70 actual.

El kernel Linux

Posibilidad de descargar m odulos. Nos permitir a remover m odulos. Luego, para cada una de estas funcionalidades implementadas como m odulos podremos optar entre las siguientes opciones: La funcionalidad no estar a incluida ni podr a cargarse posteriormente como m odulo <>. Esto ahorra recursos al no incluir caracter sticas innecesarias y mejora la seguridad del sistema ya que es imposible cargar esa funcionalidad en el kernel. La funcionalidad estar a incluida en el kernel sin necesidad de cargarlo expl citamente como m odulo < >. No podr a removerse la funcionalidad. La funcionalidad estar a disponible como m odulo < M >. En caso de ser necesario se podr a insertar el m odulo en cuesti on. Tambi en podr a removerse.

Figura 3.12: Conguraci on del soporte para carga de m odulos. Las herramientas mas comunes para manejar m odulos del kernel son:

3.18 Logo modprobe: Inserta y remueve m odulos del kernel. lsmod: Lista los m odulos cargados. modinfo: Brinda informaci on sobre cada m odulo. insmod: Inserta m odulos rmmod: Remueve m odulos. Por ejemplo para obtener informaci on sobre el m odulo msdos:

71

shell> modinfo msdos filename: /lib/modules/2.6.12.4-djb/kernel/fs/msdos/msdos.ko license: GPL author: Werner Almesberger description: MS-DOS filesystem support vermagic: 2.6.12.4-djb preempt K7 gcc-3.3 depends: fat Para insertar el m odulo: shell> modprobe msdos Y para remover el modulo podemos usar modprobe o rmmod: shell> modprobe -r msdos

3.18.

Logo

El logo o mascota asociada al kernel Linux y en general al sistema operativo GNU/Linux es el ping uino llamado Tux creado por Larry Ewing. Los logos pueden obtenerse de la p agina http://www.isc.tamu.edu/~lewing/ linux/ Se puede encontrar la historia del porqu e de esta mascota en la siguiente direcci on: http://www.sjbaker.org/tux

3.19.

Lecturas complementarias

Un art culo muy interesante sobre el kernel Linux: Anatomy of the Linux kernel, History and architectural decomposition. Autor M. Tim Jones. http://www.ibm.com/developerworks/linux/library/l-linux-kernel/ Para conocer a fondo y agregar dispositivos al kernel: Linux Device Drivers. Por Jonathan Corbet, Alessandro Rubini y Greg Kroah-Hartman. http://lwn.net/Kernel/LDD3/ o tambi en http://www.xml.com/ldd/chapter/ book/

72

El kernel Linux

Figura 3.13: Tux, logo del Kernel Linux creado por Larry Ewing.

3.20.

Autores del cap tulo

Copyright c 2001-2009 Diego J. Brengi. Se otorga permiso para copiar, distribuir y/o modicar este cap tulo bajo los t erminos de la Licencia de Documentaci on Libre de GNU, Versi on 1.2 o cualquier otra versi on posterior publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de Cubierta Trasera. Una copia de la licencia est a incluida en la secci on titulada GNU Free Documentation License. Los derechos de copyright sobre las guras y logos pertenecen a sus autores y no son abarcados por esta licencia. Las primeras secciones donde se cuenta la historia del kernel se tomaron de investigaciones realizadas en la red. Es dif cil citar su or gen ya que se trata de textos que se encuentran replicados en una gran cantidad de sitios web, sin menci on del autor original. Las guras 3.8 , 3.9 y 3.10 se obtuvieron del art culo Linux Kernel Development (April 2008) en: http://www.linuxfoundation.org/publications/ linuxkerneldevelopment.php

Cap tulo 4

Distribuciones GNU/LINUX
4.1. Qu e es una distribuci on de GNU/Linux?

Una distribuci on GNU/Linux nos brinda la posibilidad de instalar, ejecutar y utilizar un sistema operativo GNU/Linux en nuestra computadora, adem as de una gran variedad de software de aplicaci on. Actualmente existen una gran variedad de distribuciones GNU/Linux en constante evoluci on. El principal objetivo de una distribuci on es ahorrarle al usuario gran parte del trabajo de instalaci on, conguraci on y actualizaci on del sistema operativo y sus aplicaciones.

4.2.

Que partes componen una distribuci on?

Para entender qu e es una distribuci on y que las diferencia es necesario comprender cuales son las partes que la componen y la denen. Veremos a continucaci on algunos de los componentes m as importantes dentro del concepto de una distribuci on.

4.2.1.

Programa de instalaci on

Es el programa que nos gu a a trav es del proceso de instalaci on. Durante la instalaci on se dene donde se instalar a el S.O, se seleccionan las aplicaciones deseadas y se denen algunas conguraciones de nuestro nuevo sistema. Los programas de instalaci on tratan de detectar nuestro hardware y generar las conguraciones correspondientes. El programa de instalaci on es la primer gran diferencia entre las distintas distribuciones que el usuario nota.

4.2.2.

Kernel Linux

Todas las distribuciones GNU/Linux traen el kernel Linux, sin embargo no todos traen la misma versi on y no todas lo compilan con las mismas

74

Distribuciones GNU/LINUX

opciones. Las distribuciones mas nuevas traer an una versi on mas nueva del kernel, que generalmente incorpora mejoras, correcciones y mayor hardware soportado. Un usuario avanzado siempre podr a recongurar y recompilar el kernel, reemplazarlo por uno mas nuevo o seleccionar el que mejor se adapte a sus necesidades si ninguno de los kernels precompilados que proporciona la distribuci on no lo satisfacen. El kernel posee una gran cantidad conguraciones para compilarlo. Cada distribuci on adopta sus propios criterios para generar el kernel que acompa nar a la distribuci on. Luego de una instalaci on exitosa siempre es conveniente vericar que el kernel del nuevo sistema sea el adecuado, sabiendo que una distribuci on actual trae varios kernels entre los cuales elegir, optimizados especialmente para cada arquitectura.

4.2.3.

Herramientas GNU y sistema base

Para completar el sistema operativo, junto con el kernel se distribuyen las herramientas del proyecto GNU y una gran recopilaci on de programas b asicos para el funcionamiento y la administraci on del sistema. Algunas de estas herramientas son: el compilador de C gcc, la librer a de C glibc, el interprete de comandos bash, editores de texto, herramientas de diagn ostico, herramientas de red y muchas otras. Todas estas herramientas sumadas conforman el sistema base y normalmente ser an instaladas sin consultar al usuario.

4.2.4.

Programas de aplicaci on con licencias libres

Adem as del kernel y las herramientas b asicas del sistema una distribuci on posee una gran cantidad de aplicaciones open source y free software (bajo licencias GPL, BSD, Artistic, public domain, etc). Dentro de estas aplicaciones pueden encontrarse programas para: administraci on, interfaz gr aca, escritorio, navegaci on, edici on de texto, reproducci on multimedia, lectura de correo, servidores, conectividad, etc. Dentro de esta categor a todas las distribuciones poseen generalmente las mismas aplicaciones, pero distintas versiones de las mismas dependiendo del desarrollo de cada una a la fecha de lanzamiento de la distribuci on. Al momento de escribir este documento (mayo de 2009), una distribuci on como Debian lenny 5.0 completamente open source posee aproximadamente 23.000 paquetes de software, distribuidos en 5 DVDs o 31 CDs.

4.2.5.

Programas de aplicaci on privativos

Muchas distribuciones actuales vienen con programas privativos (propietarios) adicionales para captar nuevos usuarios. Muchas veces los programas propietarios son el propio instalador y las herramientas de administraci on. Si

4.2 Que partes componen una distribuci on?

75

bien una distribuci on con estas caracter sticas puede parecer m as atractiva, lo hace a costa de quitar libertades a los usuarios y viola los principios del free software (software libre). Generalmente este tipo de distribuciones brinda en forma gratuita versiones de evaluaci on pero es necesario comprar la versi on funcional. A diferencia de una distribuci on pura GNU/Linux estas distribuciones con software propietario poseen algunas o todas de las siguientes limitaciones: No No No No se se se se puede copiar libremente. tiene acceso al c odigo fuente del 100 % de sus componentes. puede modicar y redistribuir la versi on modicada. puede vender.

4.2.6.

Conguraciones por defecto

Una de las caracter sticas principales de la mayor a de las aplicaciones Linux es la exibilidad y la gran cantidad de opciones de conguraci on. Esto se logra generalmente mediante archivos de conguraci on que permiten denir el comportamiento por defecto de una aplicaci on en particular. Si bien al momento de instalar un programa es probable que se pregunten ciertos par ametros de conguraci on al usuario, ser a impr actico y tedioso solicitar al usuario todas las posibles opciones. Para evitar esto es necesario adoptar conguraciones por defecto al momento de instalar una aplicaci on. En este punto encontramos grandes diferencias entre distribuciones. Algunos de los posibles criterios para adoptar una conguraci on por defecto pueden ser: m nima intervenci on del usuario, mayor seguridad del sistema, uso m as frecuente, uso m as eciente, menor consumo de recursos, mayor interoperabilidad, etc. Generalmente es imposible lograr todas estas caracter sticas y es necesario enfocar s olo en algunos de estos puntos. Cada distribuci on pondera diferentes criterios al momento de decidir la conguraci on por defecto. Para los usuarios avanzados esto no es un problema debido a que las conguraciones pueden cambiarse seg un los propios criterios y olvidarse de la conguraci on por defecto.

4.2.7.

Herramientas de conguraci on y administraci on

Si bien existen herramientas de administraci on de uso com un y generalizado cada distribuci on puede desarrollar y utilizar herramientas propias para la administraci on y conguraci on del sistema. Existen disponibles una gran variedad de este tipo de herramientas, raz on por la cual una distribuci on debe elegir cual de todas ellas usar por defecto. Muchas veces se desarrollan programas y herramientas particulares para una distribuci on. Estos programas pueden estar o no bajo una licencia open source. Cuando una distribuci on desarrolla una de estas herramientas y la brinda con una licencia open source, nada le impide a otra distribuci on

76

Distribuciones GNU/LINUX

adoptar esta nueva herramienta. Sin embargo, al igual que en el punto anterior aqu tambi en entran en juego las caracter sticas que cada distribuci on desea. Una de las grandes diferencias marcadas entre distribuciones es el sistema de manejo y administraci on de paquetes de software. Como ejemplo podemos mencionar el sistema de paquetes de RedHat (.RPM) y el de Debian (.DEB) y todas sus herramientas asociadas.

4.2.8.

Documentaci on

Cada distribuci on es responsable de generar documentaci on sobre el proceso de instalaci on, caracter sticas distintivas y cualquier otro tema que sea particular a la distribuci on. Como ejemplo podemos mencionar gu as de instalaci on, p aginas webs ociales, gu as de administraci on, etc.

4.2.9.

Actualizaciones de seguridad y correcciones de bugs

Las distribuciones brindan paquetes binarios de todas las aplicaciones que la componen para evitarle al usuario la tarea de compilaci on (Aunque algunas solo se manejan con los fuentes). Cuando se detectan errores o fallos de seguridad en las aplicaciones los encargados de la distribuci on son responsables de corregir esos errores, recompilar la aplicaci on y distribuir los paquetes actualizados. Una distribuci on es obsoleta cuando carece de esta caracter stica. Existen actualmente herramientas de administraci on que actualizan autom aticamente nuestro sistema a trav es de Internet (por ejemplo apt-get o aptitude). Algunas distribuciones cobran por este servicio automatizado. Otras lo brindan en forma gratuita.

4.2.10.

Integraci on de todo el sistema

Teniendo en cuenta todos los puntos anteriores, otra de las caracter sticas fundamentales de una distribuci on es su integraci on, pensada como un conjunto de elementos funcionando simult aneamente en forma organizada. Podemos mencionar como ejemplo: Garantizar el correcto funcionamiento de todo el software. Organizar y diferenciar las diferentes versiones de un mismo software. Decidir como se ubican y organizan las aplicaciones dentro del sistema de archivos. Evitar las colisiones entre diferentes programas. Manejar las dependencias de todos los paquetes de software. Completar la documentaci on faltante en los programas originales. Denir programas por defecto cuando hay m as de un programa para la misma tarea. Denir las herramientas y m etodos de administraci on y conguraci on del sistema.

4.3 Clasicaci on de distribuciones

77

4.2.11.

Soporte para el usuario

Una distribuci on debe brindar alg un tipo de soporte ocial para los usuarios. Este soporte puede ser gratuito o pago. Adem as existen normalmente listas de correos y foros donde los usuarios de una distribuci on intercambian consejos e informaci on.

4.2.12.

Motivaci on y objetivos

Adem as de todo el software y la documentaci on que posee, una distribuci on tiene un motivo o raz on para su existencia. Puede solamente perseguir nes comerciales o simplemente brindar un sistema operativo 100 % libre. Muchas distribuciones nacen sencillamente porque su creador tiene la necesidad de alguna caracter stica t ecnica en particular faltante en otras distribuciones. Algunas nacen por inquietudes personales o disconformidad con todas las distribuciones actuales. Un ejemplo de esto son las distribuciones regionales, donde la principal caracter stica es el soporte y la conguraci on de un idioma en particular por defecto. Cualquier empresa, persona particular o grupo de personas pueden crear una nueva distribuci on. La motivaci on de una distribuci on dene que objetivos se proponen sus creadores y hacia donde avanza su desarrollo. Debido a la gran cantidad de posibles aplicaciones y objetivos, existen numerosas distribuciones que se diferencias en: Lenguaje y regionalizaci on mejor soportado por defecto. Inclusi on o no de programas propietarios. Pensadas para instalaci on ja o para funcionamiento como live cd. Orientadas a alg un uso particular por ejemplo en ingenier a, medicina, juegos, multimedia, diagn ostico y reparaci on , etc. Orientadas a un tipo de usuario en especial por ejemplo para nivel principiante, normal, avanzado o alguna combinaci on de los anteriores.

4.3.

Clasicaci on de distribuciones

Debido a todas las diferencias existentes entre distribuciones, es muy dif cil intentar clasicarlas de alguna forma. Al momento de escribir este documento el sitio http://distrowatch.com/ tiene listadas aproximadamente 380 distribuciones GNU/linux activas, sin contar las distribuciones en discos oppy y las utilizadas para sistemas empotrados. Tomando como base las informaci on suministrada por distrowatch, mencionaremos algunos de estos criterios que separan a las distribuciones en distintas categor as.

78

Distribuciones GNU/LINUX

4.3.1.

Activas e inactivas

Una distribuci on est a hecha y mantenida por desarrolladores. Cuando por alg un motivo los desarrolladores dejan de mantener o actualizar el proyecto y ning un otro se encarga del mismo, la distribuci on pasa a estar desactualizada y sin mantenimiento. No es recomendable utilizar una distribuci on inactiva ya que no se tendr an actualizaciones de seguridad ni se dispondr a de los avances realizados en la comunidad del software libre.

4.3.2.

Dependencia de otra distribuci on

Muchas de las distribuciones existentes est an basadas en otras distribuciones. Esto genera normalmente (no siempre) una dependencia en la distribuci on ya que todo cambio o mejora en las distribuci on padre, se ver a reejada en las futuras versiones de la distribuci on hijo. Solo pocas distribuciones pueden considerarse independientes en este sentido. La gran mayor a de las distribuciones han nacido de Debian, RedHat (ahora Fedora) o Slackware.

4.3.3.

Pa s de origen y desarrollo

Como se ha mencionado antes, la regionalizaci on y el lenguaje dan lugar a la creaci on de una distribuci on. La gran mayor a de las distribuciones han tenido origen en Estados Unidos, Alemania, Francia, Espa na o Canad a. Algunas pocas, entre ellas la m as importante es Debian, pueden considerarse globales o internacionales, ya que gran parte de sus desarrolladores se encuentran distribuidos en todo el mundo.

4.3.4.

Popularidad

Otra forma de clasicaci on es observar hacia cuales distribuciones se vuelcan los usuarios de GNU/linux. Las m as populares (Mayo de 2009) seg un distrowatch son: Ubuntu, OpenSuse, Fedora, Debian, Mandriva, CentOS, Slackware, Knoppix, Gentoo y Damn Small.

4.3.5.

Precio

La Mayor a de las distribuciones son totalmente gratuitas y se pueden bajar de Internet sin ning un problema. Otras solo ofrecen en forma gratuitas versiones de evaluaci on (incompletas) o versiones ya desactualizadas, teniendo que pagar para conseguir la versi on completa o la m as actual. Algunos ejemplos de esta u ltima categor a son SUSE y Red-hat (despu es de la creaci on de Fedora). Tambi en se pueden conseguir distribuciones en negocios, donde se ofrecen los CDs o DVDs estampados, en bonitas cajas y a veces con impresiones de los manuales de instalaci on y uso.

4.3 Clasicaci on de distribuciones

79

4.3.6.

Licencias involucradas

Debido a que son varios los componentes de software que forman una distribuci on, no existe una sola licencia que se aplique a toda una distribuci on. Observando esta problem atica los desarrolladores de Debian comenzaron un trabajo llamado DFSG Debian Free Software Guidelines, que luego nalizar a con la denici on de open source, donde intentaron poner requisitos generales a cumplir por las licencias para que un sistema sea considerado libre y abierto. De esta forma se logra agrupar a un conjunto de licencias que tienen la caracter stica de ser libres (GPL, BSD, Artistic, Public Domain, etc). Considerando esto, podemos clasicar a las distribuciones en libres y no libres ,o en open source o no, dependiendo de todas las licencias de los programas que contiene. Si bien la mayor a de las distribuciones son libres, algunas traen componentes que no lo son. Este es el caso por ejemplo de SUSE.

4.3.7.

Manejo de paquetes de software

Toda distribuci on necesita de un sistema para manejar la gran cantidad de software existente dentro y fuera de la distribuci on. Cada componente de software se agrupa en paquetes que pueden ser instalados y desinstalados a trav es de las herramientas de administraci on propias de cada distribuci on. Los m as populares y utilizados por las distribuciones son: DEB: Creado por Debian. RPM: Creado por Red-Hat. TGZ: Creado por Slackware. Tambi en est an surgiendo las distribuciones que utilizan paquetes de c odigo fuente para instalar aplicaciones. De esta forma cuando el usuario decide instalar un paquete, la herramienta de manejo de paquetes obtiene el c odigo fuente, lo compila y lo instala. Una de las distribuciones que utiliza este sistema es Gentoo Linux con su sistema Portage.

Figura 4.1: Distribuciones que se ofrecen a la venta en cajas estampadas.

80

Distribuciones GNU/LINUX

4.3.8.

Tipo de uso

Muchas distribuciones est an pensadas y optimizadas para realizar tareas espec cas. Listaremos algunas a modo de ejemplo: F acil uso e instalaci on: Ejemplo : Ubuntu, Mandriva, Suse. Para estaciones servidor: Ejemplo : Red-Hat, CentOS, Sentry Firewall CD, etc. Para demostraci on o uso r apido: Ejemplo: por lo general se trata de distribuciones Live CDs como Knoppix, Morphix, Damm Small, etc. De amplio espectro: Ejemplo : Debian, Fedora, Mandriva, Slackware. Para uso especial: Ejemplo: Bioknoppix para biolog a molecular, BackTrack para seguridad, etc.

4.3.9.

Soporte principal

Adem as del origen de la iniciativa y su objetivo es importante conocer quienes son los desarrolladores que mantienen, actualizan y sostienen una distribuci on. Podemos encontrar distribuciones que detr as tienen una o varias empresa que las impulsan, otras est an creadas y sostenidas por asociaciones sin nes de lucro, grupos de usuarios, universidades e instituciones, etc.

4.3.10.

Arquitecturas de hardware

Existen distribuciones que soportan espec camente una sola arquitectura de hardware1 , mientras que otras soportan varias. Por ejemplo Debian Soporta 12 arquitecturas: 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12)
1

Alpha AMD64 ARM EABI ARM HP PA-RISC Intel x86 Intel IA-64 MIPS (big endian) MIPS (little endian) PowerPC IBM S/390 SPARC

El tipo de hardware y/o procesador para el cual est a compilado el kernel y las aplicaciones.

4.3 Clasicaci on de distribuciones

81

Mientras que por ejemplo Ubuntu soporta solo 6 de estas arquitecturas, y otras solamente soportan una o dos arquitecturas. Arquitecturas en PCs hogare nas Mencionaremos tres arquitecturas de procesador, sindo las dos primeras las m as comunes en PC hogare nas: x86-32, x86 o x386: Se reere a los procesadores Intel 80386 en adelante, incluyendo los de AMD. Todos los procesadores 386, 486, 586 (MMX), 686 (Pentiums, Celeron, Athlon, Duron) son compatibles con la arquitectura x86, incluso si poseen 64 bits funcionar an bien con aplicaciones compiladas para una arquitectura i386. x86-64, AMD64 o EM64T: La empresa AMD incorpor o registros de 64 bits en una forma compatible con los procesadores i386. A esta arquitectura se la llam o AMD64. Luego Intel hizo algo parecido y lo llam o EM64T. Ambas arquitecturas son similares y se las llama x8664 o AMD64. IA-64: Se trata de una arquitectura de procesador completamente diferente a los mencionados anteriormente, cuya implementaci on es el procesador Itanium de Intel. De altas prestaciones y para uso en servidores. No es com un en el mercado hogare no y se menciona simplemente para evitar confusiones a la hora de bajar una distribuci on para esta arquitectura. Antes de instalar una distribuci on, debemos conocer nuestra arquitectura de hardware, especialmente el procesador 2 , ya que esto denir a que juego de CDs/DVS o repositorios utilizaremos. Rendimiento Hoy en d a la arquitectura m as com un es la x86-64. Hay que hacer notar que en las arquitecturas de 64 bits podemos instalar y correr sin problemas una distribuci on de 32 bits. Utilizando una distribuci on de 64 bits en nuestro procesador de 64 bits podr a darnos un rendimiento apenas mayor que con una distribuci on de 32 bits, y en algunos casos incluso obtendremos un rendimiento menor. Esto depende mucho de si la aplicaci on esta pensada para aprovechar los 64 bits. Una aplicaci on que se escribe sin pensar en la arquitectura de 64 bits podr a compilarse para 64 bits pero no incrementar a su rendimiento, y en algunos casos ser a incluso peor que compilada para 32 bits. Por lo tanto no se debe esperar un rendimiento mucho mayor al pasar
Por ejemplo el procesador Core de Intel viene en dos tipos. El original Core Duo eran dos n ucleos de un procesador de 32 bits cada uno. El procesador Core2 Duo son dos n ucleos de un procesador de 64 bits cada uno.
2

82

Distribuciones GNU/LINUX

a una arquitectura de 64 bits salvo si utilizamos alguna aplicaci on particular que realmente los aproveche. El kernel Linux La primera componente de software importante que podemos pensar es el kernel del sistema operativo. En una distribuci on para arquitectura x8664 tendremos un kernel compilado para 64 bits. Luego todas las aplicaciones estar an compiladas para 64 bits, esten o no pensadas para aprovecharlos. En una distribuci on para arquitectura x86-32 tendremos un kernel compilado para 32 bits, pero generalmente podremos optar tambi en por instalar un kernel compilado para 64 bits en caso que dispongamos de un procesador con esa capacidad. Las dem as aplicaciones estar an todas compiladas para 32 bits. Esto nos permitir a, sin embargo, compilar, instalar y correr aplicaciones de 64 bits.

4.4.

En qu e basar la elecci on?

Actualmente existen una gran cantidad y variedad de distribuciones. Es muy importante al momento de elegir una distribuci on vericar que la misma se encuentre a un activa y que contin ue su desarrollo. Esto nos evitar a problemas a la hora de actualizarla y solucionar problemas. Algunos de los puntos que debemos tener en cuenta son: Uso Es importante saber que uso se la dar a al sistema operativo. Es muy diferentes un servidor de Internet que una estaci on de trabajo para ocina o programaci on, o si solo deseamos usar el sistema por un corto tiempo simplemente por curiosidad. Tiempo invertido Es necesario saber cuanto tiempo estamos dispuestos a invertir en conocer a fondo el sistema, congurarlo y adaptarlo a nuestras necesidades. Por ejemplo una distribuci on live cd nos permite comenzar a utilizar un sistema operativo Gnu/Linux en forma instant anea sin p erdida de tiempo en instalaci on y conguraci on. Sin embargo si se pretende profundizar en el conocimiento del sistema, adaptarlo a nuestras necesidades espec cas y utilizarlo de manera frecuente, ser a necesario utilizar una distribuci on con muchas mas opciones y paquetes disponibles.

4.5 C omo obtener una distribuci on? Asistencia y soporte

83

Adem as del soporte ocial de la distribuci on y las listas de correo es de mucha ayuda tener contactos cercanos que nos puedan ayudar en la utilizaci on del S.O. y la resoluci on de problemas. Debido a las diferencias entre distribuciones, siempre es preferible poseer la misma distribuci on que la persona que nos brindar a su ayuda. Filosof a de la distribuci on Para muchos de los integrantes de la comunidad GNU/Linux, la losof a del software libre y el compromiso con la comunidad que adopta la distribuci on son mucho mas importantes que cualquier caracter stica t ecnica. Calidad La calidad global de la distribuci on es otro factor para elegir una distribuci on. Podemos obtener este tipo de informaci on consultando a sus usuarios y escuchando sus opiniones.

4.5.

C omo obtener una distribuci on?

La forma m as com un en la que se presenta una distribuci on es en formato de CD-ROM. Generalmente est an compuestas por varios CDs o DVDs. Para instalar un sistema b asico s olo son necesarios los primeros CDs (normalmente uno a dos). Los dem as CDs traen una gran cantidad de aplicaciones complementarias que no son necesarias para el primer funcionamiento del sistema, pero s cuando utilicemos el sistema m as frecuentemente. Algunas distribuciones tienen adem as versiones en uno o dos y hasta 5 DVDs. En general podremos instalar solo con el primer CD y luego utilizando repositorios en Internet, obtener la lista completa de paquetes disponibles e instalarlos a gusto. Si no disponemos de internet todo el tiempo ennuestro sistema, siempre es aconsejable poseer en nuestro poder los Cds de la distribuci on que instalemos debido a que posteriormente ser a necesario instalar nuevos paquetes (aplicaciones) a medida que lo necesitemos. En general las distribuciones agrupan sus paquetes (programas) en CDS seg un un orden de popularidad, de forma tal que los paquetes m as importantes estar an contenidos en el primer CD/DVD, continuando en los siguientes y llegando al u ltimo donde estar an los paquetes menos usados y populares. Existen varias formas v alidas y legales de obtener una distribuci on de GNU/Linux que sea 100 % software libre: Bajar las im agenes (.iso) desde Internet y grabar los CDs. Pedir a alg un amigo que nos preste los CDs para copiarlos.

84

Distribuciones GNU/LINUX Pedir a alg un amigo que nos copie los CDs, puede cobrarnos o no seg un lo desee. Comprar alguna copia en un negocio. Comprar alguna distribuci on original en un negocio con caja original, CDs estampados, manuales impreos, etc.

Cuando la distribuci on no es 100 % software libre algunas o todas las formas anteriores no son v alidas, dependiendo del tipo de licencias de los programas propietarios involucrados. En este caso, si bien el kernel y la mayor a de los programas son open source, el CD, o medio f sico, posee programas propietarios con licencias no open source que restringen alguna de las libertades del software libre , por lo que el CD como conjunto queda limitado seg un esas pocas licencias. Para bajar una distribuci on desde Internet debemos buscar la informaci on en el sitio ocial de la distribuci on. Tambi en existen sitios que nos ayudan a encontrar las im agenes iso de la distribuci on que buscamos. Por ejemplo http://www.linuxiso.org.

4.6.

Qu e distribuciones existen?

Para nalizar el cap tulo presentaremos un breve listado, s olo a modo de ejemplo, de algunas de las distribuciones GNU/Linux existentes:

Nombre: Creadores Ian Murdock Sitio ocial:

Debian GNU/Linux
Inicio 1993 Pa s de origen USA Paquetes DEB http://www.debian.org

Comentarios: Debian es una organizaci on sin nes de lucro y est a soportada por miles de programadores y voluntarios distribuidos en todo el mundo. Soporta 12 arquitecturas de hardware y tiene repositorios de paquetes divididos en main, contrib y non-free. Posee tres ramas principales: Desarrollo, Testing y Estable. Es casi sin dudas el proyecto m as grande de software (de cualquier tipo) en todo el mundo.

4.6 Qu e distribuciones existen?

85

Nombre: Creadores Canonical Ltd.

Ubuntu
Inicio Septiembre de 2004 Pa s de origen Isla de Man. Paquetes DEB

Sitio ocial:

http://www.ubuntulinux.org Comentarios: Ubuntu es un emprendimiento de la empresa Canonical, basada en Debian. Soporta 6 arquitecturas. Posee versiones LTS (Long Term Support), Kubuntu (KDE), Edubuntu (orientada a educaci on) y Gobuntu (s olo software open source).

Nombre: Sitio ocial:

Knoppix
http://www.knopper.net Comentarios: Arranca completamente desde el CD sin instalaci on en el disco duro. Se trata de una distribuci on de origen aleman basada en Debian.

Nombre:

Fedora
Inicio Septiembre de 2003 Pa s de origen USA Paquetes RPM

Creadores Bob Young y Marc Ewing Sitio ocial:

http://fedora.redhat.com/ Comentarios: A partir de 2003 la empresa RedHat deja de brindar gratuitamente la distribuci on RedHat (ahora la vende) y crea el proyecto Fedora como una distribuci on open source abierta a la comunidad.

86

Distribuciones GNU/LINUX

Nombre:

Mandriva
Inicio Abril 2005 de Pa s de origen Francia Paquetes RPM

Creadores Mandrake y Conectiva Sitio ocial:

http://www.mandriva.com Comentarios: F acil instalaci on. Detecci on autom atica de perif ericos. En abril de 2005 Mandrake adquiere conectiva y cambia de nombre a Mandriva.

Nombre:

Slackware
Inicio 1993 Pa s de origen USA Paquetes TGZ http://www.slackware.org Comentarios: Una de las m as antiguas. Rudimentaria en su majeo de paquetes, pero evitando al mismo tiempo las complejidades de un sistema moderno.

Creadores Patrick Volkerding Sitio ocial:

Nombre: Creadores Daniel Robbins Sitio ocial:

Gentoo
Inicio 2002 Pa s de origen USA Paquetes SRC(Portage) http://www.gentoo.org Comentarios: Gentoo Linux tiene un sistema avanzado de administraci on de paquetes llamado Portage. Las aplicaciones se compilan optimizadas para el sistema.

4.6 Qu e distribuciones existen?

87

Nombre:

GnewSense
Inicio 2006 Pa s de origen N/A Paquetes DEB

Creadores Brian Brazil, Paul OMalley and FSF Sitio ocial:

http://www.gnewsense.org/ Comentarios: Se trata de una distribuci on basada en Ubuntu, pero enfocada en cumplir estrictamente la losof a del software libre, y por lo tanto se han removido drivers o rmware propietarios, logos con licencia no libre y los repositorios de software no libre que poseen otras distros como Ubuntu o Debian. Su desarrollo es apoyado actualmente por la FSF.

Nombre: Creadores Lance Davis otros Sitio ocial:

CentOS
y Inicio 2006 Pa s de origen N/A Paquetes RPM

http://www.centos.org/ Comentarios: Se trata de una distribuci on basada en Red-Hat Enterprise. Los desarrolladores de CentOS toman el c odigo libre y open source publicado por Red-Hat. Quitan adem as los logos y la marca de Redhat (que no pueden redistribuirse). De esta forma crean una distribuci on derivada sin componentes propietarios, pero compatible y muy similar a Red-Hat Enterprise.

88

Distribuciones GNU/LINUX

Nombre:

RedHat
Inicio 1994 Pa s de origen USA Paquetes RPM

Creadores Bob Young y Marc Ewing Sitio ocial:

http://www.redhat.com Comentarios: Es de las m as conocidas. A partir de 2003 la empresa RedHat deja de brindar gratuitamente la distribuci on RedHat (ahora la vende) y crea el proyecto Fedora como rama de desarrollo open source abierta a la comunidad.

Nombre: Sitio ocial:

LinEx
http://www.linex.org/ Comentarios: Distribuci on espa nola basada en Debian. Instalaci on sencilla. Creada para su aplicaci on en escuelas de la Junta de Extremadura, Espa na.

Nombre: Creadores

SuSe
Inicio 1998 Pa s de origen Alemania Paquetes RPM http://www.suse.com Comentarios: Ha sido muy criticada por poseer programas de instalaci on y aplicaciones propietarias. Existen versiones como OpenSuSe que se obtienen gratuitamente.

Sitio ocial:

4.7 L nea de tiempo de distribuciones

89

Nombre: Sitio ocial:

Ututo (Ututo-e)
http://www.ututo.org/ Comentarios: Arranca completamente desde el CD. Se puede instalar en un archivo sobre Windows. Desarrollo argentino (Provincia de Salta). Basada en Gentoo.

Nombre: Sitio ocial:

Morphix
http://morphix.sourceforge.net/ Comentarios: Arranca completamente desde el CD. Basada en Debian y Knoppix, pero con diferentes m odulos a elecci on lo que permite f acilmente crear Live CDs personalizadas.

Esta informaci on fue obtenida de los sitios ociales de cada distribuci on y de: http://www.distrowatch.com. Estos datos pueden estar desactualizados y se brindan s olo para uso comparativo. Es inmensa la cantidad de distribuciones que existen actualmente. Las distribuciones mencionadas aqu se han presentado por su relevancia, otras por su valor hist orico y algunas solamente como ejemplo. No se utiliz o ning un orden en particular para listar las distribuciones.

4.7. 4.8.

L nea de tiempo de distribuciones Autores del cap tulo

Copyright c 2001-2009 Diego J. Brengi. Se otorga permiso para copiar, distribuir y/o modicar este cap tulo bajo los t erminos de la Licencia de Documentaci on Libre de GNU, Versi on 1.2 o cualquier otra versi on posterior publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de Cubierta Trasera. Una copia de la licencia est a incluida en la secci on titulada GNU Free Documentation License. Los derechos de copyright sobre las guras y logos pertenecen a sus autores.

90

Distribuciones GNU/LINUX

Figura 4.2: GNU/Linux Distro Timeline. Versi on 7.6 by Lundqvist. Obtenida de http://futurist.se/gldt/. Parte1

4.8 Autores del cap tulo

91

Figura 4.3: GNU/Linux Distro Timeline. Versi on 7.6 by Lundqvist. Obtenida de http://futurist.se/gldt/. Parte2

92

Distribuciones GNU/LINUX

Cap tulo 5

Categor as de software libre y no libre

He aqu un glosario de varias de las categor as de software que se mencionan frecuentemente en discusiones sobre software libre. Se explica que categor as se traslapan y cuales son parte de otras categor as.

5.1.

Software libre

El software libre es software con autorizaci on para que cualquiera pueda usarlo, copiarlo y distribuirlo, ya sea con o sin modicaciones, gratuitamente o mediante una retribuci on. En particular, esto signica que el c odigo fuente debe estar disponible. ((Si no es fuente, no es software)). Esta es una denici on 1 simplicada; ver tambi en la denici on completa . Si un programa es libre, puede ser potencialmente incluido en un sistema operativo libre tal como GNU o los sistemas GNU/Linux libres. Hay muchas maneras diferentes de hacer libre un programa: numerosas cuestiones a decidir que en muchos casos son matices, y que pueden resolverse de varias formas sin que por ello el programa deje de ser libre. Algunas de las posibles variaciones son descritas abajo. Para obtener informaci on sobre
1

http://www.gnu.org/philosophy/free-sw.es.html

94

Categor as de software libre y no libre

licencias de software libre espec cas, puede consultar el listado de licencias2 . El calicativo ((libre)) del software libre se reere a libertad, no a gratuidad. Sin embargo, las compa n as de software privativo emplean en ocasiones el t ermino ((software libre)) para referirse al precio 3 . A veces utiliza este t ermino al hablar de la copia binaria que se puede adquirir sin cargo; y otras veces se usan para calicar la copia incluida en un ordenador reci en adquirido. Esto no tiene nada que ver con lo que queremos dar a entender por software libre en el proyecto GNU. Debido a esta potencial confusi on, cuando una compa n a de software dice que su producto es software libre, es conveniente vericar siempre los t erminos de esa distribuci on concreta para ver si los usuarios tienen todas las libertades que implica el software libre. Algunas veces es verdadero software libre; y otra veces no lo es. Muchos idiomas tienen dos palabras diferentes para ((free)) como libertad y ((free)) como precio cero. Por ejemplo, el franc es dispone de los t erminos ((libre)) y ((gratuit)) [en espa nol sucede exactamente lo mismo con los t erminos
http://www.gnu.org/licenses/license-list.es.html Nota del traductor: En ingl es ((software libre)), se escribe ((free software)), el t ermino ((free)) puede signicar ((gratis)) o ((libre))
3 2

Figura 5.1: Diagrama dise nado por Chao-Kuei para explicar las diferentes categor as de software.
Este diagrama ha sido dise nado por Chao-Kuei para explicar las diferentes categor as de software. Est a disponible como un archivo XFig, como una imagen JPEG y como una imagen PNG amplicada 1.5 veces; con los t erminos de la GPL de GNU versi on 2 o posterior, de la FDL de GNU versi on 1.2 o posterior o de la Creative Commons Reconocimiento Compartir bajo la misma licencia 2.0 o posterior.

5.2 Software de c odigo abierto (Open source)

95

((libre)) y ((gratuito))]. Esto no ocurre en ingl es, en ingl es existe la palabra ((gratis)), que se reere sin ambig uedad al precio, pero no dispone de un adjetivo com un que se reera sin ambig uedad a la libertad. Por lo tanto, si usted habla otro idioma que no sea el ingl es, le sugerimos que traduzca el t ermino ((free)) de ((free software)) a su idioma para hacerlo m as claro. Vea nuestra lista de traducciones de la expresi on ((free software)) a otros idiomas4 . El software libre es con frecuencia m as able que el software no libre.

5.2.

Software de c odigo abierto (Open source)

Mucha gente utiliza la expresi on software de ((c odigo abierto)) para referirse, m as o menos, a la misma categor a a la que pertenece el software libre. Sin embargo, no son exactamente el mismo tipo de software: ellos aceptan algunas licencias que nosotros consideramos demasiado restrictivas, y hay licencias de software libre que ellos no han aceptado. Sin embargo, las diferencias entre lo que abarcan ambas categor as son pocas: casi todo el software libre es de c odigo abierto, y casi todo el software de c odigo abierto es libre. Nosotros preferimos la expresi on ((software libre)) 5 porque se reere a libertad, algo que la expresi on ((c odigo abierto)) no hace.

5.3.

Software de dominio p ublico

El software de dominio p ublico es software que no est a protegido por derechos de autor. Es un caso especial de software libre no protegido con copyleft, lo que signica que algunas copias o versiones modicadas pueden no ser completamente libres. En algunos casos, un programa ejecutable puede ser de dominio p ublico sin que su c odigo fuente est e disponible. Este software no es software libre, porque para que lo sea es preciso que el c odigo fuente sea accesible. Por su parte, la mayor a del software libre no es software de dominio p ublico; est a protegido por derechos de autor, y los poseedores de estos han dado permiso legal para que cualquiera lo emplee libremente usando una licencia de software libre. Algunas veces se utiliza el t ermino ((dominio p ublico)) de una manera imprecisa queriendo decir ((libre)) o ((disponible gratuitamente)). Sin embargo, ((dominio p ublico)) es un t ermino legal y signica de manera precisa ((sin derechos de autor)). Para ser lo m as claro posible, recomendamos el uso de ((dominio p ublico)) para expresar solamente este signicado, y el uso de las otras expresiones para transmitir el suyo correspondiente.
4 5

http://www.gnu.org/philosophy/fs-translations.es.html http://www.gnu.org/philosophy/free-software-for-freedom.es.html

96

Categor as de software libre y no libre

Bajo la convenci on de Berna, que ha sido rmada por la mayor a de los pa ses, a cualquier escrito nuevo se le aplica autom aticamente derechos de autor. Esto incluye a los programas. Por lo tanto, si quiere que un programa que usted haya escrito sea de dominio p ublico, debe cumplir ciertos procedimientos legales para evitar que, de manera autom atica, le sean a nadidos los derechos de autor.

5.4.

Software protegido con copyleft

El software protegido con copyleft es software libre cuyos t erminos de distribuci on aseguran que todas las copias de todas las versiones son software libre. Esto signica, por ejemplo, que las licencias copyleft no permiten a terceros agregar ning un requisito adicional (a excepci on de un conjunto limitado de requisitos para aumentar su protecci on) y exige que que el c odigo fuente sea p ublico. Algunas licencias copyleft, como la tercera versi on de la GPL, impiden otras formas de convertir en privativo el software. En el Proyecto GNU, protegemos mediante copyleft casi todo el software que escribimos, porque nuestro objetivo es dar a cada usuario las libertades que el t ermino ((software libre)) implica. Vea Protegido con copyleft 6 para una m as amplia explicaci on de c omo funciona el copyleft y por qu e lo usamos. El copyleft es un concepto general; para proteger realmente un programa con copyleft, usted necesita usar un conjunto espec co de t erminos de distribuci on. Hay muchas maneras posibles de escribir t erminos de distribuci on copyleft, por lo que en principio pueden existir muchas licencias de software libre copyleft. Sin embargo, en la pr actica casi todo el software copyleft usa la Licencia P ublica General de GNU 7 . Generalmente, dos licencias copyleft diferentes son ((incompatibles)), lo que signica que es ilegal combinar c odigo que est e protegido por dichas licencias; por lo tanto, ser a bueno para la comunidad que todos utilizasen una u nica licencia copyleft.

5.5.

Software libre no protegido con copyleft

El software libre no protegido con copyleft, incluye la autorizaci on del autor para redistribuir y modicar el software, as como el permiso para a nadirle restricciones adicionales. El que un programa sea libre pero no est e protegido con copyleft, implica que algunas copias o versiones modicadas del mismo pueden no ser completamente libres. Una compa n a de software podr a compilar el programa, con o sin modicaciones, y distribuir el archivo ejecutable como un producto de software privativo.
6 7

http://www.gnu.org/copyleft/copyleft.es.html http://www.gnu.org/copyleft/gpl.es.html

5.6 Software cubierto por la GPL

97

El Sistema X Window 8 es un ejemplo de esto. El Consorcio X libera X11 con t erminos de distribuci on que lo hacen software libre no protegido con copyleft. Si usted lo desea, puede obtener una copia que tenga esos t erminos de distribuci on y que sea libre. Sin embargo, tambi en hay versiones no libres, y existen estaciones de trabajo populares y tarjetas gr acas para PC en las cuales solo funcionan versiones no libres. Si usted est a usando este hardware, para usted X11 no es software libre. Incluso los propios desarrolladores de X11 hicieron a X11 software no libre durante cierto tiempo 9 .

5.6.

Software cubierto por la GPL

La GPL (General Public License/Licencia P ublica General 10 ) de GNU es un conjunto espec co de t erminos de distribuci on empleados para proteger un programa con copyleft. El Proyecto GNU utiliza esta licencia para la distribuci on de la mayor a del software de GNU.

5.7.

El sistema GNU

El sistema GNU es el sistema operativo similar a Unix, constituido en su totalidad por software libre, que hemos desarrollado en el Proyecto GNU desde 1984. Un sistema operativo similar a Unix est a constituido por muchos programas. El sistema GNU incluye todo el software GNU, adem as de muchos otros paquetes, como el sistema X Window y TEX, los cuales no son software de GNU. La primera versi on de prueba del sistema GNU completo estaba dispo nible en 1996. Este inclu a el Hurd de GNU, nuestro n ucleo, desarrollado desde 1990. En 2001 el sistema GNU (incluyendo el Hurd de GNU) comenz o a funcionar con bastante abilidad, pero el Hurd todav a carec a de algunas caracter sticas importantes, por lo que no se usa ampliamente. Entretanto, el sistema GNU/Linux, un derivado del sistema GNU que utiliza Linux como n ucleo en vez del Hurd de GNU, tuvo un gran exito desde los a nos 1990. Ya que el prop osito de GNU es ser un sistema libre, cada una de las piezas que lo componen deben ser software libre. Sin embargo, no todas tienen por que estar protegidas por copyleft; legalmente se puede incluir cualquier tipo de software libre si este ayuda a alcanzar los objetivos t ecnicos propuestos. Y no es necesario que cada componente sea software GNU individualmente. El sistema GNU puede incluir, e incluye, software libre no protegido por
http://www.x.org/ http://www.gnu.org/philosophy/x.es.html 10 http://www.gnu.org/copyleft/gpl.html
9 8

98

Categor as de software libre y no libre

copyleft, como es el caso del Sistema X Window, que fue desarrollado en otros proyectos.

5.8.

Programas GNU

La expresi on ((programas GNU)) es equivalente a software de GNU. Un programa Y es un programa GNU si es software de GNU (software del Proyecto GNU). A veces nosotros decimos que es un ((paquete GNU)).

5.9.

Software de GNU

El software de GNU es el software liberado bajo el auspicio del Proyecto GNU. A un programa que sea software de GNU, tambi en lo denominamos programa GNU o paquete GNU. El archivo README o el manual del paquete GNU deber an indicar que lo es; adem as, el Directorio de Software Libre identica todos los paquetes GNU. La mayor a del software de GNU est a protegido por copyleft, pero no todo; sin embargo, todo el software GNU debe ser software libre. Parte del software GNU lo escribe personal 11 de la Fundaci on para el Software Libre, pero la mayor a del software lo aportan voluntarios. Del software aportado por voluntarios, a veces el titular de los derechos de autor es la Fundaci on para el Software Libre y en otras son los propios colaboradores que lo escribieron.

5.10.

Software no libre

El software no libre es cualquier software que no es libre. Esto incluye al software semilibre y el software privativo.

5.11.

Software semilibre

El software semilibre es software que no es libre, pero incluye autorizaci on para que los particulares lo usen, lo copien, lo distribuyan y lo modiquen (incluyendo la distribuci on de versiones modicadas) sin prop ositos lucrativos. PGP es un ejemplo de un programa semilibre. El software semilibre es mucho mejor eticamente que el software privativo, pero sigue planteando problemas que no nos permiten utilizarlo en un sistema operativo libre. Las restricciones del copyleft est an dise nadas para proteger las libertades esenciales de todos los usuarios. Para nosotros, la u nica restricci on substantiva justicada en el uso de un programa es la que previene la adici on de
11

http://www.gnu.org/people/people.es.html

5.12 Software privativo

99

restricciones por parte de otras personas. Los programas semilibres tienen restricciones adicionales motivadas por nes puramente ego stas. Es imposible incluir software semilibre en un sistema operativo libre. Esto obedece a que los t erminos de distribuci on para el sistema operativo libre como un todo son la conjunci on de los t erminos de distribuci on de todos los programas que lo componen. Agregando un programa semilibre al sistema har a al sistema como un todo s olo semilibre. Existen dos razones por las que no queremos que esto suceda: 1) Creemos que el software libre deber a ser para todos, incluyendo empresas, no solamente para escuelas o para actividades de ocio particular. Queremos invitar a las empresas a usar el sistema GNU completo, y por lo tanto no debemos incluir un programa semilibre en el. 2) La distribuci on comercial de sistemas operativos libres, incluyendo sistemas GNU/Linux, 12 es muy importante, y los usuarios aprecian el poder disponer de distribuciones comerciales en CD-ROM. Incluir un programa semilibre en un sistema operativo impedir a su distribuci on comercial en CD-ROM. En s misma, la Fundaci on para el Software Libre no es una entidad comercial, y por lo tanto podr a utilizar ((internamente)) un programa semilibre de forma legal. Pero no lo hace, porque repercutir a negativamente en nuestros esfuerzos para obtener programas que pudi eramos incluir en el sistema GNU. Mientras exista una tarea que necesite hacerse con software y no disponga de un programa que la realice, el sistema GNU tendr a una carencia. Debemos decir a los voluntarios: ((A un no tenemos un programa para hacer este trabajo en el Proyecto GNU, por lo que esperamos que ustedes lo escriban)). Si us aramos un programa semilibre para hacer esa tarea desacreditar amos lo que nosotros mismos decimos; y se perder a el mpetu (el nuestro y el de quienes pudieran compartir nuestros puntos de vista) para escribir una alternativa libre. Por lo tanto, no lo hacemos.

5.12.

Software privativo

El software privativo es software que no es libre ni semilibre. Su uso, redistribuci on o modicaci on est an prohibidos, requieren que solicite una autorizaci on, o est a tan restringido que de hecho no puede hacerlo libremente. La Fundaci on para el Software Libre sigue la norma de que u nicamente podemos instalar un programa privativo en nuestros ordenadores, cuando lo
12

http://www.gnu.org/gnu/linux-and-gnu.es.html

100

Categor as de software libre y no libre

hacemos temporalmente y con el prop osito de escribir una alternativa libre a ese mismo programa. Aparte de este caso concreto, creemos que no hay excusa posible para instalar un programa privativo. Por ejemplo, cre mos que la instalaci on de Unix en nuestros ordenadores en los a nos 1980 estaba justicada, porque lo est abamos usando para escribir una alternativa libre al propio Unix. Actualmente, considerando que existen sistemas operativos libres disponibles, esta excusa ya no es v alida; hemos eliminado todos los sistemas operativos no libres; y en cualquier ordenador nuevo instalamos un sistema operativo completamente libre. Nosotros no insistimos en que los usuarios o colaboradores de GNU sigan esta norma. Esta norma la creamos para nosotros mismos. Pero esperamos que tambi en ellos decidan seguirla.

5.13.

Freeware

El t ermino ((freeware)) no tiene una denici on clara aceptada, pero es usado com unmente para referirse a paquetes que se pueden distribuir pero no modicar (y cuyo c odigo fuente no est a disponible). Estos paquetes no son software libre. Por lo tanto, por favor, no use el t ermino ((freeware)) para referirse al software libre.

5.14.

Shareware

El Shareware es software del que se permite redistribuir copias, pero que por cada copia utilizada, el usuario debe pagar un cargo por licencia. El shareware no es software libre, ni siquiera semilibre. Esto es as por dos razones: 1) Para la mayor a del shareware, el c odigo fuente no est a disponible; por lo tanto, usted no puede modicar el programa de ninguna manera. 2) No se puede hacer una copia de shareware e instalarla sin pagar un cargo por licencia, incluso en el caso de individuos que lo utilicen para actividades sin animo de lucro (en la pr actica, los usuarios ignoran con frecuencia los t erminos de distribuci on y lo hacen de todas formas, pero estos t erminos no lo permiten).

5.15.

Software privado

El software privado, o a medida, es software desarrollado para un usuario (generalmente una organizaci on o una compa n a). Este usuario lo tiene en su poder y lo utiliza, y no lo libera al p ublico ni como c odigo fuente ni como binario.

5.16 Software comercial

101

Un programa privado es software libre en un sentido trivial si su u nico usuario tiene plenos derechos sobre el. Sin embargo, al considerar la cuesti on con m as profundidad, el preguntarse si tal programa es o no libre pierde su sentido. En general no creemos que desarrollar un programa y no liberarlo sea un error. Hay ocasiones en las que un programa es tan u til que acapararlo para s constituye un perjuicio para la humanidad. Sin embargo, la mayor a de los programas no son tan maravillosos, y no liberarlos no resulta particularmente da nino. Por lo tanto, no hay ning un conicto entre el desarrollo de software privado o a medida y los principios del movimiento de software libre. Casi toda la contrataci on de programadores tiene por objeto el desarrollo de software a medida; por lo tanto, la mayor a de los trabajos de programaci on son, o podr an ser, hechos de un modo compatible con el movimiento de software libre.

5.16.

Software comercial

El software comercial es aquel desarrollado por un negocio que pretende obtener dinero de su utilizaci on. ((Comercial)) y ((privativo)) no son lo mismo! La mayor a del software comercial es privativo, pero hay software libre comercial, y hay software no libre no comercial. Por ejemplo, Ada de GNU siempre se distribuye bajo los t erminos de la GPL de GNU, y cada una de sus copias es software libre; sin embargo, sus desarrolladores hacen contratos de mantenimiento. En ocasiones los clientes interesados comentan a los vendedores: ((Nos sentir amos m as seguros con un compilador comercial)). A lo que los vendedores responden: ((Ada de GNU es un compilador comercial; con la particularidad de que adem as es software libre)). Para el Proyecto GNU, el enfasis se hace a otro nivel: lo importante es que Ada de GNU es software libre; el que sea comercial no es una cuesti on crucial. Sin embargo, el desarrollo adicional de Ada de GNU resultante del hecho de que sea comercial es, denitivamente, benecioso. Por favor, ayude a difundir la idea de que el software libre comercial es posible. Esto lo puede hacer esforz andose en no decir ((comercial)) cuando lo que quiere decir es ((privativo)). Otros textos para leer http://www.gnu.org/philosophy/philosophy. es.html

5.17.

Autores del cap tulo

Copyright c 1996, 1997, 1998, 2001, 2006 Free Software Foundation, Inc.,

102

Categor as de software libre y no libre 51 Franklin St, Fifth Floor, Boston, MA 02110, USA Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. Se permite la copia literal y la distribuci on de la totalidad de este art culo por cualquier medio y en cualquier soporte, siempre que se conserve esta nota.

Fuente: http://www.gnu.org/philosophy/categories.es.html

Cap tulo 6

Licencia de este libro


Este libro consiste principalmente en una recopilaci on de textos ya que posee art culos y escritos de varios autores, cada uno con diferentes condiciones de copia, distribuci on y modicaci on. Si bien todos ellos permiten la copia del art culo, en algunos casos por tratarse de opiniones del autor, no se permite la modicaci on del texto. Por este motivo no puede aplicarse una licencia a todo el libro en su conjunto. Al nal de cada cap tulo se menciona a los autores y los correspondientes avisos de copyright y condiciones. Todo material propio de Diego Javier Brengi est a cubierto por la licencia GFDL bajo los siguientes t erminos: Copyright c 2001-2009 Diego J. Brengi. Se otorga permiso para copiar, distribuir y/o modicar este texto bajo los t erminos de la Licencia de Documentaci on Libre de GNU, Versi on 1.2 o cualquier otra versi on posterior publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de Cubierta Trasera. Una copia de la licencia est a incluida en la secci on titulada GNU Free Documentation License. Todo el material obtenido de la Wikipedia tambi en est a cubierto por la GFDL.

104

Licencia de este libro

Ap endice A

Conceptos de sistemas operativos


A.1. Qu e es el Sistema Operativo?

Un sistema operativo (SO) es un conjunto de programas destinados a permitir la comunicaci on del usuario con un ordenador y gestionar sus recursos de manera eciente. Comienza a trabajar cuando se enciende el ordenador, y gestiona la interacci on entre el hardware y el usuario nal de la m aquina, desde los niveles m as b asicos. Hoy en d a un sistema operativo se puede encontrar normalmente en la mayor a de los aparatos electr onicos complejos que podamos utilizar sin necesidad de estar conectados a un ordenador y que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la m aquina y que esta cumpla con sus funciones; este es el caso de: tel efonos m oviles, reproductores de DVD, Equipos de audio, y muchos m as.

A.2.

Funciones b asicas de un sistema operativo

Los sistemas operativos, motivados por su condici on de capa software que posibilita y simplica el manejo de la computadora, desempe nan una serie de funciones b asicas esenciales para la gesti on de la m aquina. Entre las m as destacables, cada una ejercida por un componente interno (m odulo en n ucleos monol ticos o servidor en microkernels), podemos rese nar las siguientes: Gesti on de los recursos de la m aquina. Ejecuci on de servicios para los programas Ejecuci on de instrucciones (comandos) de los usuarios (Shell y/o X Server).

106

Conceptos de sistemas operativos

A su vez, los servicios principales ofertados por un sistema operativo, accesibles y manipulables a trav es de su API 1 de programaci on, son los siguientes: Gesti on de procesos. Gesti on de memoria. Gesti on de la E/S (Entrada/Salida). Gesti on de archivos y directorios. Comunicaci on y sincronizaci on entre procesos. Seguridad y protecci on.

A.3.
A.3.1.

Caracter sticas
Administraci on de tareas

Monotarea: Si solamente puede ejecutar un programa (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a funcionar un programa, continuar a haci endolo hasta su nalizaci on o interrupci on. Multitarea: Si es capaz de ejecutar varios programas al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, perif ericos) de forma alternativa a los programas que los solicitan, de manera que el usuario percibe que todos funcionan a la vez.

A.3.2.

Administraci on de usuarios

Monousuario: Si s olo permite ejecutar los programas de un usuario al mismo tiempo.


1 Una API (del ingl es Application Programming Interface - Interfaz de Programaci on de Aplicaciones) es un conjunto de especicaciones de comunicaci on entre componentes software. Se trata del conjunto de llamadas al sistema que ofrecen acceso a los servicios del sistema desde los procesos y representa un m etodo para conseguir abstracci on en la programaci on, generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del software. Uno de los principales prop ositos de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma, los programadores se benecian de las ventajas de la API haciendo uso de su funcionalidad, evit andose el trabajo de programar todo desde el principio. Las APIs asimismo son abstractas: el software que proporciona una cierta API generalmente es llamado la implementaci on de esa API.

A.4 Historia de los Sistemas Operativos

107

Multiusuario: Si permite que varios usuarios ejecuten simult aneamente sus programas, accediendo a la vez a los recursos del ordenador. Normalmente estos SO. utilizan m etodos de protecci on de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.

A.3.3.

Manejo de recursos

Centralizado: Si permite utilizar los recursos de un solo ordenador. Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, perif ericos. . . ) de m as de un ordenador al mismo tiempo .

A.4.
A.4.1.

Historia de los Sistemas Operativos


A nos 40

A nales de los a nos 40, con la aparici on de la primera generaci on de computadoras se realizaba lo que se llama el proceso en serie. Por aquel entonces no exist an los sistemas operativos, y los programadores deb an interactuar con el hardware del computador sin ayuda externa. Esto hac a que el tiempo de preparaci on para realizar una tarea fuera excesivo. Adem as para poder utilizar la computadora deb a hacerse por turnos. Para ello se rellenaba un formulario de reserva en el que se indicaba el tiempo que el programador necesitaba para realizar su trabajo. En aquel entonces las computadoras eran m aquinas muy costosas que realizaban complejos c alculos matem aticos lo que hac a que estuvieran muy solicitadas y que s olo pudieran utilizarse en periodos breves de tiempo.

A.4.2.

A nos 50

Para facilitar la interacci on entre persona y computador, los sistemas operativos hacen una aparici on discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal. Monitor residente Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, ley endolos de una cinta o de tarjetas perforadas, y ejecutarlos. El principal problema de estos sistemas era encontrar una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje del siguiente. Procesamiento por lotes Como soluci on para optimizar el tiempo de montaje surgi o la idea de agrupar los trabajos en lotes, en una misma cinta o conjunto de tarjetas,

108

Conceptos de sistemas operativos

de forma que se ejecutaran uno a continuaci on de otro sin perder apenas tiempo en la transici on. Para realizar esto se utiliz o una t ecnica de on-lining. La idea era dedicar un ordenador perif erico, de menor coste y potencia, a convertir las tarjetas o la cinta perforada en informaci on sobre cinta magn etica, y la salida de la cinta magn etica en salida sobre impresora o cinta perforada. Una vez que se procesaban varios trabajos a cinta, esta se desmontaba del ordenador perif erico, y se llevaba a mano para su procesamiento por el ordenador principal. Cuando el ordenador principal llenaba una cinta de salida, esta se llevaba al ordenador perif erico para su paso a impresora o cinta perforada. Almacenamiento temporal Su objetivo era disminuir el tiempo de carga de los programas, simultaneando la carga del programa o la salida de datos con la ejecuci on de la siguiente tarea. Para ello se utilizaban dos t ecnicas, el buering y el spooling. Sistemas operativos desarrollados durante esta epoca En esta etapa estar an incluidos: GM OS: Desarrollado por General Motors para el IBM 701. Input Output System: Desarrollado por General Motors y la aviaci on norteamericana para el IBM 704. FORTRAN Monitor system: Desarrollado por la aviaci on norteamericana para el IBM 709. SAGE: (Semi-Automatic Ground Environment) Primer sistema de control en tiempo real, desarrollado para IBM AN/FSQ7. SOS: Desarrollado por el IBM SHARE Users Group para el IBM 709.

A.4.3.

A nos 60

En esta d ecada se produjeron cambios notorios en varios campos de la inform atica, la mayor a orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban t ecnicas de lo m as diversas: Multiprogramaci on En un sistema multiprogramado la memoria principal alberga a m as de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecuci on realiza una operaci on de Entrada / Salida (E/S); en lugar de esperar a que termine la operaci on de E/S, se pasa a ejecutar otro programa. Si este realiza, a su vez, otra operaci on de E/S, se

A.4 Historia de los Sistemas Operativos

109

mandan las ordenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera optima los recursos disponibles. Tiempo real Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran n umero de sucesos, en su mayor a externos al ordenador. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones. Tiempo compartido En este punto tenemos un sistema que hace buen uso de la electr onica disponible, pero adolece de falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un Terminal en l nea, conocida como Terminal Boba, utilizando el modo de operaci on de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al realizar una operaci on de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramaci on. Pero, a diferencia de esta, cuando un programa lleva cierto tiempo ejecut andose el sistema operativo lo detiene para que se ejecute otra aplicaci on. Con esto se consigue repartir la CPU por igual entre los programas de los distintos usuarios y los procesos del SO. De este modo los programas de los usuarios no se sienten demasiado ralentizados por el hecho de que los recursos sean compartidos y aparentemente se ejecutan de manera concurrente. Multiprocesador Permite trabajar con m aquinas que poseen m as de un procesador. En un multiprocesador los procesadores comparten memoria y reloj. Sistemas operativos desarrollados Adem as del Atlas Supervisor y el OS/360, utilizados en m aquinas concretas, lo m as destacable de la d ecada es el nacimiento de Unix, que hoy en d a es una de las plataformas m as extendidas en el mundo de la inform atica.

110

Conceptos de sistemas operativos

A.4.4.

A nos 70

Debido al avance de la electr onica, pudieron empezar a crearse circuitos con miles de transistores en un cent metro cuadrado de silicio, lo que llevar a, pocos a nos despu es, a producirse los primeros sistemas integrados. Esta d ecada se podr a denir como la de los sistemas de prop osito general y en ella se desarrollan tecnolog as que se siguen utilizando en la actualidad. Es en los 70 cuando se produce el boom de los mini ordenadores y la inform atica se acerca al nivel de usuario. En lo relativo a lenguajes de programaci on, es de se nalar la aparici on de Pascal y C, el u ltimo de los cuales ser a reutilizado para reescribir por completo el c odigo del sistema operativo Unix, convirti endolo en el primero implementado en un lenguaje de alto nivel. En el campo de la programaci on l ogica se dio a luz la primera implementaci on de Prolog, y en la revolucionaria orientaci on a objetos, Smalltalk. Inconvenientes de los sistemas existentes Se trataba de sistemas grandes y costosos, pues antes no se hab a construido nada similar y muchos de los proyectos desarrollados terminaron con costes muy por encima del presupuesto. Adem as, aunque formaban una capa entre el hardware y el usuario, este deb a conocer un complejo lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es el gran consumo de recursos que ocasionaban, debido a los grandes espacios de memoria principal y secundaria ocupados, as como el tiempo de procesador consumido. Es por esto que se intent o hacer hincapi e en mejorar las t ecnicas ya existentes de multiprogramaci on y tiempo compartido. Caracter sticas de los nuevos sistemas Para solventar los problemas antes comentados, se realiz o un costos simo trabajo para interponer una amplia capa de software entre el usuario y la m aquina, de forma que el primero no tuviese que conocer ning un detalle de la circuiter a. Sistemas operativos desarrollados MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbat o del MIT, con General Electric y los laboratorios Bell, que comenz o en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el sistema UNIX. Se desarroll o inicialmente para el mainframe GE-645, un sistema de 36 bits; despu es fue soportado por la serie de m aquinas Honeywell 6180.

A.5 Autores del cap tulo

111

Fue uno de los primeros sistemas operativos de tiempo compartido, que implement o un solo nivel de almacenamiento para el acceso a los datos, desechando la clara distinci on entre los cheros y los procesos en memoria,y uno de los primeros sistemas multiprocesador. MVS (Multiple Virtual Storage): Fue el sistema operativo m as usado en los modelos de mainframes -ordenadores grandes, potentes y caros usados principalmente por grandes compa n as para el procesamiento de grandes cantidades de datos- System/370 y System/390 de IBM, desarrollado tambi en por IBM y lanzado al mercado por primera vez en 1974. Como caracter sticas destacables, permit a la ejecuci on de m ultiples tareas, adem as de que introdujo el concepto de memoria virtual y nalmente a nadi o la capacidad de que cada programa tuviera su propio espacio de direccionamiento de memoria, de ah su nombre. CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador 8080/85 de Intel y el Zilog Z80, sali o al mercado en 1976, distribuy endose en disquetes de ocho pulgadas. Fue el SO m as usado en las computadoras personales de esta d ecada. Su exito se debi o a que era portable, permitiendo que diferentes programas interactuasen con el hardware de una manera estandarizada.

A.5.

Autores del cap tulo

Material obtenido de Wikipedia: http://es.wikipedia.org/wiki/Sistema_operativo. http://es.wikipedia.org/wiki/Historia_y_evoluci%C3%B3n_de_los_sistemas_ operativos Selecci on de art culos y edici on realizada por Heber Juli an Herrera y Rub en Alejandro Casas.

112

Conceptos de sistemas operativos

Ap endice B

Licencia P ublica GNU


Esta es la conocida GNU Public License (GPL), versi on 2 (de junio de 1.991), que cubre la mayor parte del software de la Free Software Foundation, y muchos m as programas. Los autores de esta traducci on son: Jes us Gonz alez Barahona Pedro de las Heras Quir os

B.1.

Traducci on al castellano

Esta es una traducci on no ocial al espa nol de la GNU General Public License. No ha sido publicada por la Free Software Foundation, y no establece legalmente las condiciones de distribuci on para el software que usa la GNU GPL. Estas condiciones se establecen solamente por el texto original, en ingl es, de la GNU GPL. Sin embargo, esperamos que esta traducci on ayude a los hispanohablantes a entender mejor la GNU GPL.

This is an unocial translation of the GNU General Public License into Spanish. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL only the original English text of the GNU GPL does that. However, we hope that this translation will help Spanish speakers understand the GNU GPL better. Copyright c 1989, 1991 Free Software Foundation, Inc. http://fsf.org/ 675 Mass Ave, Cambridge, MA 02139, EEUU Se permite la copia y distribuci on de copias literales de este documento, pero no se permite su modicaci on.

114

Licencia P ublica GNU

B.2.

Pre ambulo

Las licencias que cubren la mayor parte del software est an dise nadas para quitarle a usted la libertad de compartirlo y modicarlo. Por el contrario, la Licencia P ublica General de GNU pretende garantizarle la libertad de compartir y modicar software libre, para asegurar que el software es libre para todos sus usuarios. Esta Licencia P ublica General se aplica a la mayor parte del software del la Free Software Foundation y a cualquier otro programa si sus autores se comprometen a utilizarla. Existe otro software de la Free Software Foundation que est a cubierto por la Licencia P ublica General de GNU para Bibliotecas. Si quiere, tambi en puede aplicarla a sus propios programas. Cuando hablamos de software libre, estamos reri endonos a libertad, no a precio. Nuestras Licencias P ublicas Generales est an dise nadas para asegurarnos de que tenga la libertad de distribuir copias de software libre (y cobrar por ese servicio si quiere), de que reciba el c odigo fuente o que pueda conseguirlo si lo quiere, de que pueda modicar el software o usar fragmentos de el en nuevos programas libres, y de que sepa que puede hacer todas estas cosas. Para proteger sus derechos necesitamos algunas restricciones que prohiban a cualquiera negarle a usted estos derechos o pedirle que renuncie a ellos. Estas restricciones se traducen en ciertas obligaciones que le afectan si distribuye copias del software, o si lo modica. Por ejemplo, si distribuye copias de uno de estos programas, sea gratuitamente, o a cambio de una contraprestaci on, debe dar a los receptores todos los derechos que tiene. Debe asegurarse de que ellos tambi en reciben, o pueden conseguir, el c odigo fuente. Y debe mostrarles estas condiciones de forma que conozcan sus derechos. Protegemos sus derechos con la combinaci on de dos medidas: 1) Ponemos el software bajo copyright 2) Le ofrecemos esta licencia, que le da permiso legal para copiar, distribuir y/o modicar el software. Tambi en, para la protecci on de cada autor y la nuestra propia, queremos asegurarnos de que todo el mundo comprende que no se proporciona ninguna garant a para este software libre. Si el software se modica por cualquiera y este a su vez lo distribuye, queremos que sus receptores sepan que lo que tienen no es el original, de forma que cualquier problema introducido por otros no afecte a la reputaci on de los autores originales. Por u ltimo, cualquier programa libre est a constantemente amenazado por patentes sobre el software. Queremos evitar el peligro de que los redistribuidores de un programa libre obtengan patentes por su cuenta, convirtiendo de facto el programa en propietario. Para evitar esto, hemos dejado claro que cualquier patente debe ser pedida para el uso libre de cualquiera, o no ser pedida.

B.3 T erminos y condiciones para la copia, distribuci on y modicaci on

115

Los t erminos exactos y las condiciones para la copia, distribuci on y modicaci on se exponen a continuaci on.

B.3.

T erminos y condiciones para la copia, distribuci on y modicaci on

1) Esta Licencia se aplica a cualquier programa u otro tipo de trabajo que contenga una nota colocada por el tenedor del copyright diciendo que puede ser distribuido bajo los t erminos de esta Licencia P ublica General. En adelante, ((Programa)) se referir a a cualquier programa o trabajo que cumpla esa condici on y ((trabajo basado en el Programa)) se referir a bien al Programa o a cualquier trabajo derivado de el seg un la ley de copyright. Esto es, un trabajo que contenga el programa o una proci on de el, bien en forma literal o con modicaciones y/o traducido en otro lenguaje. Por lo tanto, la traducci on est a incluida sin limitaciones en el t ermino ((modicaci on)). Cada concesionario (licenciatario) ser a denominado ((usted)). Cualquier otra actividad que no sea la copia, distribuci on o modicaci on no est a cubierta por esta Licencia, est a fuera de su a mbito. El acto de ejecutar el Programa no est a restringido, y los resultados del Programa est an cubiertos u nicamente si sus contenidos constituyen un trabajo basado en el Programa, independientemente de haberlo producido mediante la ejecuci on del programa. El que esto se cumpla, depende de lo que haga el programa. 2) Usted puede copiar y distribuir copias literales del c odigo fuente del Programa, seg un lo has recibido, en cualquier medio, supuesto que de forma adecuada y bien visible publique en cada copia un anuncio de copyright adecuado y un repudio de garant a, mantenga intactos todos los anuncios que se reeran a esta Licencia y a la ausencia de garant a, y proporcione a cualquier otro receptor del programa una copia de esta Licencia junto con el Programa. Puede cobrar un precio por el acto f sico de transferir una copia, y puede, seg un su libre albedr o, ofrecer garant a a cambio de unos honorarios. 3) Puede modicar su copia o copias del Programa o de cualquier porci on de el, formando de esta manera un trabajo basado en el Programa, y copiar y distribuir esa modicaci on o trabajo bajo los t erminos del apartado 1, antedicho, supuesto que adem as cumpla las siguientes condiciones: a ) Debe hacer que los cheros modicados lleven anuncios prominentes indicando que los ha cambiado y la fecha de cualquier cambio.

116

Licencia P ublica GNU b ) Debe hacer que cualquier trabajo que distribuya o publique y que en todo o en parte contenga o sea derivado del Programa o de cualquier parte de el sea licenciada como un todo, sin carga alguna, a todas las terceras partes y bajo los t erminos de esta Licencia. c ) Si el programa modicado lee normalmente ordenes interactivamente cuando es ejecutado, debe hacer que, cuando comience su ejecuci on para ese uso interactivo de la forma m as habitual, muestre o escriba un mensaje que incluya un anuncio de copyright y un anuncio de que no se ofrece ninguna garant a (o por el contrario que s se ofrece garant a) y que los usuarios pueden redistribuir el programa bajo estas condiciones, e indicando al usuario c omo ver una copia de esta licencia. (Excepci on: si el propio programa es interactivo pero normalmente no muestra ese anuncio, no se requiere que su trabajo basado en el Programa muestre ning un anuncio). Estos requisitos se aplican al trabajo modicado como un todo. Si partes identicables de ese trabajo no son derivadas del Programa, y pueden, razonablemente, ser consideradas trabajos independientes y separados por ellos mismos, entonces esta Licencia y sus t erminos no se aplican a esas partes cuando sean distribuidas como trabajos separados. Pero cuando distribuya esas mismas secciones como partes de un todo que es un trabajo basado en el Programa, la distribuci on del todo debe ser seg un los t erminos de esta licencia, cuyos permisos para otros licenciatarios se extienden al todo completo, y por lo tanto a todas y cada una de sus partes, con independencia de qui en la escribi o. Por lo tanto, no es la intenci on de este apartado reclamar derechos o desaar sus derechos sobre trabajos escritos totalmente por usted mismo. El intento es ejercer el derecho a controlar la distribuci on de trabajos derivados o colectivos basados en el Programa. Adem as, el simple hecho de reunir un trabajo no basado en el Programa con el Programa (o con un trabajo basado en el Programa) en un volumen de almacenamiento o en un medio de distribuci on no hace que dicho trabajo entre dentro del ambito cubierto por esta Licencia.

4) Puede copiar y distribuir el Programa (o un trabajo basado en el, seg un se especica en el apartado 2, como c odigo objeto o en formato ejecutable seg un los t erminos de los apartados 1 y 2, supuesto que adem as cumpla una de las siguientes condiciones: a ) Acompa narlo con el c odigo fuente completo correspondiente, en formato electr onico, que debe ser distribuido seg un se especica

B.3 T erminos y condiciones para la copia, distribuci on y modicaci on

117

en los apartados 1 y 2 de esta Licencia en un medio habitualmente utilizado para el intercambio de programas, o b ) Acompa narlo con una oferta por escrito, v alida durante al menos tres a nos, de proporcionar a cualquier tercera parte una copia completa en formato electr onico del c odigo fuente correspondiente, a un coste no mayor que el de realizar f sicamente la distribuci on del fuente, que ser a distribuido bajo las condiciones descritas en los apartados 1 y 2 anteriores, en un medio habitualmente utilizado para el intercambio de programas, o c ) Acompa narlo con la informaci on que recibiste ofreciendo distribuir el c odigo fuente correspondiente. (Esta opci on se permite s olo para distribuci on no comercial y s olo si usted recibi o el programa como c odigo objeto o en formato ejecutable con tal oferta, de acuerdo con el apartado b anterior). 5) Por c odigo fuente de un trabajo se entiende la forma preferida del trabajo cuando se le hacen modicaciones. Para un trabajo ejecutable, se entiende por c odigo fuente completo todo el c odigo fuente para todos los m odulos que contiene, m as cualquier chero asociado de denici on de interfaces, m as los guiones utilizados para controlar la compilaci on e instalaci on del ejecutable. Como excepci on especial el c odigo fuente distribuido no necesita incluir nada que sea distribuido normalmente (bien como fuente, bien en forma binaria) con los componentes principales (compilador, kernel y similares) del sistema operativo en el cual funciona el ejecutable, a no ser que el propio componente acompa ne al ejecutable. Si la distribuci on del ejecutable o del c odigo objeto se hace mediante la oferta acceso para copiarlo de un cierto lugar, entonces se considera la oferta de acceso para copiar el c odigo fuente del mismo lugar como distribuci on del c odigo fuente, incluso aunque terceras partes no est en forzadas a copiar el fuente junto con el c odigo objeto. No puede copiar, modicar, sublicenciar o distribuir el Programa excepto como prev e expresamente esta Licencia. Cualquier intento de copiar, modicar sublicenciar o distribuir el Programa de otra forma es inv alida, y har a que cesen autom aticamente los derechos que te proporciona esta Licencia. En cualquier caso, las partes que hayan recibido copias o derechos de usted bajo esta Licencia no cesar an en sus derechos mientras esas partes contin uen cumpli endola. 6) No est a obligado a aceptar esta licencia, ya que no la ha rmado. Sin embargo, no hay hada m as que le proporcione permiso para modicar o distribuir el Programa o sus trabajos derivados. Estas acciones est an prohibidas por la ley si no acepta esta Licencia. Por lo tanto, si modica o distribuye el Programa (o cualquier trabajo basado en el Programa), est a indicando que acepta esta Licencia para poder hacerlo, y todos sus

118

Licencia P ublica GNU t erminos y condiciones para copiar, distribuir o modicar el Programa o trabajos basados en el.

7) Cada vez que redistribuya el Programa (o cualquier trabajo basado en el Programa), el receptor recibe autom aticamente una licencia del licenciatario original para copiar, distribuir o modicar el Programa, de forma sujeta a estos t erminos y condiciones. No puede imponer al receptor ninguna restricci on m as sobre el ejercicio de los derechos aqu garantizados. No es usted responsable de hacer cumplir esta licencia por terceras partes. 8) Si como consecuencia de una resoluci on judicial o de una alegaci on de infracci on de patente o por cualquier otra raz on (no limitada a asuntos relacionados con patentes) se le imponen condiciones (ya sea por mandato judicial, por acuerdo o por cualquier otra causa) que contradigan las condiciones de esta Licencia, ello no le exime de cumplir las condiciones de esta Licencia. Si no puede realizar distribuciones de forma que se satisfagan simult aneamente sus obligaciones bajo esta licencia y cualquier otra obligaci on pertinente entonces, como consecuencia, no puede distribuir el Programa de ninguna forma. Por ejemplo, si una patente no permite la redistribuci on libre de derechos de autor del Programa por parte de todos aquellos que reciban copias directa o indirectamente a trav es de usted, entonces la u nica forma en que podr a satisfacer tanto esa condici on como esta Licencia ser a evitar completamente la distribuci on del Programa. Si cualquier porci on de este apartado se considera inv alida o imposible de cumplir bajo cualquier circunstancia particular ha de cumplirse el resto y la secci on por entero ha de cumplirse en cualquier otra circunstancia. No es el prop osito de este apartado inducirle a infringir ninguna reivindicaci on de patente ni de ning un otro derecho de c propiedad o impugnar la validez de ninguna de dichas reivindicaciones. Este apartado tiene el u nico prop osito de proteger la integridad del sistema de distribuci on de software libre, que se realiza mediante pr acticas de licencia p ublica. Mucha gente ha hecho contribuciones generosas a la gran variedad de software distribuido mediante ese sistema con la conanza de que el sistema se aplicar a consistentemente. Ser a el autor/donante quien decida si quiere distribuir software mediante cualquier otro sistema y una licencia no puede imponer esa elecci on. Este apartado pretende dejar completamente claro lo que se cree que es una consecuencia del resto de esta Licencia. 9) Si la distribuci on y/o uso de el Programa est a restringida en ciertos pa ses, bien por patentes o por interfaces bajo copyright, el tenedor del copyright que coloca este Programa bajo esta Licencia puede

B.3 T erminos y condiciones para la copia, distribuci on y modicaci on

119

a nadir una limitaci on expl cita de distribuci on geogr aca excluyendo esos pa ses, de forma que la distribuci on se permita s olo en o entre los pa ses no excluidos de esta manera. En ese caso, esta Licencia incorporar a la limitaci on como si estuviese escrita en el cuerpo de esta Licencia. 10) La Free Software Foundation puede publicar versiones revisadas y/o nuevas de la Licencia P ublica General de tiempo en tiempo. Dichas nuevas versiones ser an similares en esp ritu a la presente versi on, pero pueden ser diferentes en detalles para considerar nuevos problemas o situaciones. Cada versi on recibe un n umero de versi on que la distingue de otras. Si el Programa especica un n umero de versi on de esta Licencia que se reere a ella y a ((cualquier versi on posterior)), tienes la opci on de seguir los t erminos y condiciones, bien de esa versi on, bien de cualquier versi on posterior publicada por la Free Software Foundation. Si el Programa no especica un n umero de versi on de esta Licencia, puedes escoger cualquier versi on publicada por la Free Software Foundation. 11) Si quiere incorporar partes del Programa en otros programas libres cuyas condiciones de distribuci on son diferentes, escribe al autor para pedirle permiso. Si el software tiene copyright de la Free Software Foundation, escribe a la Free Software Foundation: algunas veces hacemos excepciones en estos casos. Nuestra decisi on estar a guiada por el doble objetivo de de preservar la libertad de todos los derivados de nuestro software libre y promover el que se comparta y reutilice el software en general.

Ausencia de garant a
12) Como el programa se licencia libre de cargas, no se ofrece ninguna garant a sobre el programa, en todas la exten n permitida por la legislacio n aplicable. Excepto cuansio do se indique de otra forma por escrito, los tenedores del copyright y/u otras partes proporcionan el programa ((tal cual)), sin garant a de ninguna clase, bien expresa o impl ci ta, con inclusion, pero sin limitacion a las garantas mer sito cantiles impl citas o a la conveniencia para un propo particular. Cualquier riesgo referente a la calidad y prestaciones del programa es asumido por usted. Si se probase que el Programa es defectuoso, asume el coste de cual n o correccio n. quier servicio, reparacio n caso, salvo que lo requiera la legislacio nc 13) En ningu apli cable o haya sido acordado por escrito, ningun tenedor

120

Licencia P ublica GNU del copyright ni ninguna otra parte que modifique y/o ren se permite en esta Licencia distribuya el Programa segu responsable ante usted por dan os, incluyendo cualsera o general, especial, incidental o resultante proquier dan ducido por el uso o la imposibilidad de uso del Programa n, pero sin limitacio n a la pe rdida de datos (con inclusio n incorrecta de datos o a pe rdidas suo a la generacio fridas por usted o por terceras partes o a un fallo del n con cualquier otro Programa al funcionar en combinacio programa), incluso si dicho tenedor u otra parte ha sido os. advertido de la posibilidad de dichos dan

rminos y condiciones fin de te B.4. Ap endice: C omo aplicar estos t erminos a sus nuevos programas

Si usted desarrolla un nuevo Programa, y quiere que sea del mayor uso posible para el p ublico en general, la mejor forma de conseguirlo es convirti endolo en software libre que cualquiera pueda redistribuir y cambiar bajo estos t erminos. Para hacerlo, a nada los siguientes anuncios al programa. Lo m as seguro es a nadirlos al principio de cada chero fuente para transmitir lo m as efectivamente posible la ausencia de garant a. Adem as cada chero deber a tener al menos la l nea de ((copyright)) y un indicador a d onde puede encontrarse el anuncio completo. ((Una l nea para indicar el nombre del programa y una r apida idea de qu e hace.)) Copyright c 19aa ((nombre del autor)) Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los t erminos de la Licencia P ublica General de GNU seg un es publicada por la Free Software Foundation, bien de la versi on 2 de dicha Licencia o bien (seg un su elecci on) de cualquier versi on posterior. Este programa se distribuye con la esperanza de que sea util, pero SIN NINGUNA GARANT IA, incluso sin la garant a MERCANTIL impl cita o sin garantizar la CONVENIENCIA PARA UN PROP OSITO PARTICULAR. V ease la Licencia P ublica General de GNU para m as detalles.

B.4 Ap endice: C omo aplicar estos t erminos a sus nuevos programas

121

Deber a haber recibido una copia de la Licencia P ublica General junto con este programa. Si no ha sido as , escriba a la Free Software Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU. A nada tambi en informaci on sobre c omo contactar con usted mediante correo electr onico y postal. Si el programa es interactivo, haga que muestre un peque no anuncio como el siguiente, cuando comienza a funcionar en modo interactivo: Gnomovision versi on 69, Copyright c 19aa nombre del autor Gnomovision no ofrece ABSOLUTAMENTE NINGUNA GARANT IA. Para m as detalles escriba ((show w)). Los comandos hipot eticos ((show w)) y ((show c)) deber an mostrar las partes adecuadas de la Licencia P ublica General. Por supuesto, los comandos que use pueden llamarse de cualquier otra manera. Podr an incluso ser pulsaciones del rat on o elementos de un men u (lo que sea apropiado para su programa). Tambi en deber as conseguir que su empleador (si trabaja como programador) o tu Universidad (si es el caso) rme un ((renuncia de copyright)) para el programa, si es necesario. A continuaci on se ofrece un ejemplo, altere los nombres seg un sea conveniente: Yoyodyne, Inc. mediante este documento renuncia a cualquier inter es de derechos de copyright con respecto al programa Gnomovision (que hace pasadas a compiladores) escrito por Pepe Programador. ((firma de Pepito Grillo)), 20 de diciembre de 1996. Pepito Grillo, Presidente de Asuntillos Varios. Esta Licencia P ublica General no permite que incluya sus programas en programas propietarios. Si su programa es una biblioteca de subrutinas, puede considerar m as u til el permitir el enlazado de aplicaciones propietarias con la biblioteca. Si este es el caso, use la Licencia P ublica General de GNU para Bibliotecas en lugar de esta Licencia.

122

Licencia P ublica GNU

Ap endice C

El t ermino Open Source


La denici on de Open Source nace con el motivo de presentar una alternativa al concepto de Free Software, enfocando m as en las ventajas t ecnicas e intentando ocultar un poco el aspecto los oco detr as del Free Software, que pueda provocar un rechazo inicial por parte de una empresa. Estos dos conceptos (Open Source y Free Software ) apuntan casi a la misma categor a de software, sin embargo existe una diferencia los oca entre ambas ramas, con opiniones encontradas y puntos de vista diferentes. Se presenta a continuaci on la traducci on de la denici on del concepto de Open Source obtenida de http://www.opensource.org.ar. El sitio ocial donde se encuentra la denici on es http://www.opensource.org.

C.0.1.

Denici on de Open Source


Traduccion al castellano de Open Source Denition (Version 1.9 )
1

Open source no s olo signica acceso al c odigo fuente. Las condiciones de distribuci on de un programa open-source deben cumplir con el siguiente criterio: 1) Libre Redistribuci on. La licencia no debe restringir a nadie vender o entregar el software como un componente de una distribuci on de software que contenga programas de distintas fuentes. La licencia no debe requerir royalty ni ning un tipo de cuota por su venta. 2) C odigo Fuente. El programa debe incluir el c odigo fuente, y se debe permitir su distribuci on tanto como c odigo fuente como compilado. Cuando de alg un
La traducci on de Open Source ser a c odigo fuente abierto, pero preferimos utilizar el termino en ingl es, debido a su gran aceptaci on.
1

124

El t ermino Open Source modo no se distribuya el c odigo fuente junto con el producto, deber a proveerse un medio conocido para obtener el c odigo fuente sin cargo, a trav es de Internet. El c odigo fuente es la forma preferida en la cual un programador modicar a el programa. No se permite el c odigo fuente deliberadamente confundido (obfuscation). Tampoco se permiten formatos intermedios, como la salida de un preprocesador, o de un traductor.

3) Trabajos Derivados. La licencia debe permitir modicaciones y trabajos derivados, y debe permitir que estos se distribuyan bajo las mismas condiciones de la licencia del software original. 4) Integridad del C odigo Fuente del Autor. La licencia puede restringir la distribuci on de c odigo fuente modicado s olo si se permite la distribuci on de patch les con el c odigo fuente con el prop osito de modicar el programa en tiempo de construcci on. La licencia debe permitir expl citamente la distribuci on de software construido en base a c odigo fuente modicado. La licencia puede requerir que los trabajos derivados lleven un nombre o n umero de versi on distintos a los del software original. 5) No Discriminar Personas o Grupos. La licencia no debe hacer discriminaci on de personas o grupos de personas. 6) No Discriminar Campos de Aplicaci on. La licencia no debe restringir el uso del programa en un campo especico de aplicaci on. Por ejemplo, no puede restringir su uso en negocios, o en investigaci on gen etica. (razones) 7) Distribuci on de la Licencia. Los derechos concedidos deben ser aplicados a todas las personas a quienes se redistribuya el programa, sin necesidad de obtener una licencia adicional. (razones) 8) La Licencia No Debe Ser Espec ca a un Producto. Los derechos aplicados a un programa no deben depender de la distribuci on particular de software de la que forma parte. Si el programa es extra do de esa distribuci on y usado o distribuido dentro de las condiciones de la licencia del programa, todas las personas a las que el programa se redistribuya deben tener los mismos derechos que los concedidos en conjunci on con la distribuci on original de software. (razones)

125 9) La Licencia No Debe Contaminar Otro Software. La licencia no debe imponer restricciones sobre otro software que es distribuido junto con el. Por ejemplo, la licencia no debe insistir en que todos los dem as programas distribuidos en el mismo medio deben ser software open-source. (razones) 10) La licencia debe ser tecnol ogicamente neutral. No debe requerirse la aceptaci on y obtenci on de la licencia por medio de una tecnolog a individual o tipo de interface. Por ejemplo si se solicita la acpetaci on de la licencia por medio de un clik en una p agina web, se limitar a la posibilidad de distribuir la licencia mediante FTP, CDROMs, etc. Bruce Perens escribi o el primer bosquejo de este documento como The Debian Free Software Guidelines, y lo ren o usando los comentarios de los desarrolladores de Debian obtenidos en una conferencia via e-mail de un mes de duraci on en Junio de 1997. Luego quit o las referencias espec cas a Debian del documento y cre o Open Source Denition o Denici on de Open Source. Autores Eric S. Raymond <esr@thyrsus.com> . Traducido por Diego Rodrigo <d.rodrigo@computer.org> . Ultimo punto traducido por Diego Brengi.

126

El t ermino Open Source

Ap endice D

Trampa en el Cyberespacio
Trampa en el Cyberespacio1 . Roberto Di Cosmo Liens-Dmi Ecole Normale Sup erieure 45, Rue dUlm - 75230 Paris CEDEX 05 E-mail: dicosmo@ens.fr Web: http://www.dmi.ens.fr/~dicosmo Durante las u ltimas vacaciones de Navidad me he quedado asombrad simo con la fascinaci on creciente de los medios de comunicaci on por ese oscuro objeto del deseo que se oculta detr as de las palabras ordenador, multimedia, web, internet y sus derivados. Si uno creyera a esos medios de comunicaci on y a un buen n umero de expertos improvisados, no se podr a pretender ser un ciudadano de primera clase sin poseer el ultim simo (y muy caro) material inform atico que da acceso al para so encantado del cyberespacio. Es tambi en dif cil ignorar la omnipresente y extra na confusi on que nos incita a pensar que el u nico tipo existente de ordenador es el PC, por supuesto equipado con un chip de Intel, y que en ese PC s olo puede haber un programa indispensable, Microsoft Windows 2 . Esto es todav a m as curioso si consideramos que el fen omeno de servilismo intelectual ante estos dos gigantes americanos llega a su punto m aximo justo en el momento en el cual los Estados Unidos parecen comenzar a
El original franc es est a desde el 20 de Marzo 1998 en la direcci on: http://www. mmedium.com/dossiers/piege. 2 La confusi on es tal que ya no se distingue entre el sistema operativo y las aplicaciones: en la prensa se lleg o a hablar de Windows 97, cuando en realidad s olo se trataba de Windows 95 provisto de un conjunto de aplicaciones como Word, Excel, etc., llamado corrientemente Oce 97!
1

128

Trampa en el Cyberespacio

despertarse de un largo sue no que ha permitido a estos gigantes adquirir una posici on de monopolio pr acticamente absoluta. Por el camino, ambas empresas han destruido un n umero impresionante de empresas cuyos productos eran de calidad muy superior (todo esto est a muy bien documentado en numerosas obras como por ejemplo [1][2][3] disponibles en los Estados Unidos, pero no han sido, que yo sepa, traducidas al franc es). Pienso por ejemplo en la campa na lanzada por Ralph Nader (defensor de los consumidores que ha logrado hacer retirar del mercado un autom ovil peligroso producido por General Motors) y en el proceso que est a llevando a cabo el DOJ (Department of Justice, el ministerio de justicia federal de EEUU) contra Microsoft en este momento. Pienso sobre todo en la sorprendente reacci on del p ublico americano en los sondeos de opini on en Internet: una mayor a aplastante apoya las acciones del DOJ incluso cuando las encuestas son realizadas por empresas como CNN, que son decididamente proMicrosoft en sus art culos (sondeos de opini on de la CNN [4] y tambi en de la ZDnet [5]; esta u ltima limit o arbitrariamente la duraci on de la encuesta y no anunci o su resultado hasta haber recibido numerosas cartas de protesta).

Figura D.1: Roberto Di Cosmo. http://www.pps.jussieu.fr/ dicosmo/Library/Images/dicosmo.gif Por el contrario, nuestro p ublico est a bien lejos del despertar: mecido por la suave voz del conformismo ambiental, se adormece a un m as y m as en los brazos de Microsoft. Nuestro p ublico sue na con un mundo feliz, en el cual un gran l antropo distribuye a todos los estudiantes de Francia copias gratuitas de Windows 95 con la u nica nalidad de ayudarlos a recuperar su atraso tecnol ogico. Nuestro p ublico sonr e al pensar en las pantallas azules llenas de mensajes tranquilizadores que explican c omo el programa X ha provocado la excepci on Y en el m odulo Z: fallo que por supuesto no ha sido culpa de Windows, sino del programa X. Nuestro p ublico duerme feliz

D.1 Armario con cajones y lavado de cerebros

129

sin preguntarse por qu e un ordenador mucho m as potente que aquel que ha servido para enviar hombres a la luna y que adem as los ha tra do de vuelta vivos no es capaz de manipular correctamente un documento de un centenar de p aginas, cuando este est a equipado con ese Microsoft Oce que hace tan felices a todos nuestros comentaristas.

D.1.

Armario con cajones y lavado de cerebros

He tenido muchas ocasiones de medir personalmente la profundidad de este sue no hipn otico del cual he hablado anteriormente, pero la m as graciosa es seguramente aquella que se me present o hace alg un tiempo durante un viaje en TGV. Las computadoras port atiles (esos embriones de computadoras que cuestan tanto como un coche peque no, que se pueden guardar en un malet n y que sirven con mucha frecuencia para jugar al solitario) proliferan en estos tiempos casi tanto como los tel efonos m oviles, sobre todo en los trenes y aviones. Pues bien, durante uno de mis viajes, me encontraba sentado al lado de un agradable se nor, joven ejecutivo din amico, que estaba ejecutando en su m aquina el calamitoso (veremos por qu e m as adelante) programa DeFrag. Este programa muestra en la pantalla una hermosa matriz llena de peque nos cuadraditos de diferentes colores que se mueven en todos los sentidos mientras el disco trabaja intensamente. No pude resistir la tentaci on (espero que este se nor no se ofenda si se reconoce en este art culo) y despu es de haberlo elogiado por su hermoso port atil, le pregunt e, ngiendo la mayor ignorancia, qu e era ese lindo programa que yo no ten a en mi port atil. Con un aire de superioridad mezclada con compasi on ( el pobre hombre no tiene mi super programa), me respondi o que esta era una herramienta esencial que hay que lanzar cada cierto tiempo para hacer m as r apida la m aquina desfragmentando el disco. Continu o repeti endome de memoria los argumentos que se encuentran en los manuales de Windows: cu anto m as se utiliza el disco m as se fragmenta y cu anto m as se fragmenta, m as lenta se vuelve la m aquina; esta es la raz on por la cual el ejecuta concienzudamente DeFrag cada vez que puede. En ese momento saqu e mi computadora port atil, que no utiliza Windows sino GNU/Linux (una versi on libre, gratuita, abierta y muy ecaz de Unix, desarrollada por los esfuerzos comunitarios de millares de personas en Internet) y le dije, con una expresi on muy sorprendida, que en mi port atil el disco est a siempre muy poco fragmentado y cuanto m as se utiliza menos se fragmenta. Nuestro ejecutivo, ya menos c omodo, contest o que su port atil utilizaba la u ltima versi on de Windows 95 producida por la empresa m as grande de software del mundo, y que yo seguramente me estar a equivocando en alg un punto. Trat e entonces de hacerle olvidar por un instante la propaganda que

130

Trampa en el Cyberespacio

lo hab a intoxicado hasta ese momento, explic andole de manera muy simple el problema de la desfragmentaci on: voy a tratar de resumirles a ustedes una apacible conversaci on que dur o una buena media hora. Usted sabe seguramente que sus datos est an guardados en archivos que son memorizados sobre el disco duro de la computadora. Este disco es como un gigantesco armario con cajones, cada caj on tiene la misma capacidad (t picamente 512 bytes 3 ) y cada disco contiene algunos millones de cajones. Si los datos que a usted le interesan son guardados en cajones contiguos se puede acceder a ellos m as r apidamente que si estuvieran desparramados (a partir de ahora diremos fragmentados) dentro del armario. Esto no tiene nada de raro, es lo que nos pasa todos los d as cuando hay que encontrar un par de calcetines: uno las encuentra mucho m as r apido si ambas se encuentran en el mismo caj on. Estamos entonces de acuerdo en que es mejor un armario bien ordenado que uno desordenado. El problema reside en saber c omo hacer para conservar el armario ordenado cuando este se utiliza frecuentemente. Imaginemos ahora un ministerio que guarda sus expedientes en un enorme armario con millones de cajones. Nos gustar a, por las mismas razones antedichas, que los documentos relativos a un mismo expediente se encuentren, en la medida de lo posible, en cajones contiguos. Usted debe contratar una secretaria y tiene la opci on de elegir entre dos candidatas con pr acticas bastante diferentes: la primera, cuando un expediente debe eliminarse del archivo, se limita a vaciar los cajones, y cuando un nuevo expediente entra, lo separa en peque nos grupos de documentos de la medida de un caj on y archiva cada grupo al azar en el primer caj on vac o que encuentra en el armario. Cuando usted le se nala que as va a ser muy dif cil encontrar r apidamente todos los documentos que tienen que ver por ejemplo con el expediente del Cr edit Lyonnais, ella responde que va a ser necesario contratar todos los nes de semana una docena de ayudantes para poner de nuevo todo en orden. La segunda candidata, al contrario que la primera, conserva sobre su escritorio una lista de cajones vac os contiguos, la cual pone al d a todas las veces que un expediente es cerrado y sacado de los cajones. Cuando entra un nuevo expediente, ella busca en su lista un conjunto de cajones vac os contiguos de la medida necesaria, y es ah donde coloca el nuevo expediente. As , le explica ella, el armario permanecer a siempre bien ordenado, incluso aunque haya muchos movimientos de expedientes. No hay duda de que es la segunda secretaria la que debe ser contratada, y nuestro joven ejecutivo estuvo perfectamente de acuerdo.
Un byte es un n umero binario de 8 cifras, utilizado para medir el tama no de la memoria de un ordenador. Se utilizan tambi en el Kilobyte, el Megabyte, y Gigabyte, abreviados respectivamente como Kb, Mb y Gb.
3

D.1 Armario con cajones y lavado de cerebros

131

En ese momento fue f acil hacerle entender que Windows 95 actuaba como la primera secretaria y necesitaba de ayudantes que ordenen el armario (el programa DeFrag), mientras que GNU/Linux actuaba como la buena secretaria y no necesitaba de nadie para ayudarla. Al llegar a la estaci on, nuestro gentil ejecutivo ya no estaba tan contento: le hab an ense nado que DeFrag hace andar m as r apido la m aquina, pero hab amos visto juntos que en realidad es Windows quien la hace lenta! En efecto, el problema de la gesti on ecaz de los discos es muy viejo y hace mucho tiempo que se sabe como resolverlo (la prueba es que Unix es m as antiguo que Microsoft y tiene la buena secretaria desde 1984!). Y todav a hay cosas mucho peores que DeFrag; desafortunadamente, no tenemos tiempo para contarles todas las peque nas y sabrosas historias sobre el programa ScanDisk que se supone tiene que reparar los discos, pero que propone opciones incomprensibles cuyo resultado nal es, la mayor a de las veces, la destrucci on pura y simple de la estructura de los expedientes, a un cuando los datos pod an haber sido recuperables antes de ejecutar este programa. No solamente esto es imposible con Unix (a menos que el disco sea taladrado con una m aquina), sino que las t ecnicas correctas de gesti on de un disco son ense nadas en los primeros cursos de inform atica de la Universidad desde hace m as de 10 a nos. La simple existencia de un programa como DeFrag o los da nos producidos por el ScanDisk de Windows 95 deber an ser sucientes para que cualquier persona inteligente con poder de decisi on pudiera tachar Microsoft de la lista de sus proveedores. Y sin embargo, como prueba de la eciencia del lavado de cerebros y del profundo sue no en el cual hemos estado sumidos, aqu en Francia estamos dispuestos a convertir el sistema inform atico bancario a productos Microsoft, as como a elegirlos tambi en para la educaci on de nuestros hijos. El poder de la maquinaria comercial de ciertas empresas logra realizar tal distorsi on de la realidad que llegamos a creer fervientemente que los defectos m as graves de ciertos programas son por el contrario totalmente indispensables (a prop osito de esto, en el mundo inform atico hace mucho tiempo que se emplea el dicho its not a bug, its a feature! no es un defecto, es una funcionalidad!). Sucede tambi en que los especialistas que tienen los conocimientos necesarios para desarmar todas estas trampas y poner en evidencia los errores, los peligros y las manipulaciones, sin riesgo de ser considerados como competidores derrotados y gru nones, se han callado durante demasiado tiempo. Tenemos aqu un fen omeno bien extra no: por un lado, ning un cient co serio tiene ganas hoy en d a de publicar un art culo en la prensa que se dice de inform atica, por miedo a manchar su reputaci on por haber tratado con mercachies. Por el otro lado, al no tener el apoyo

132

Trampa en el Cyberespacio

de cient cos serios, la prensa inform atica se transform o, v a soporte publicitario, en un eco poco edicante de los fabricantes de computadoras. Esto la hace a un m as mercachie, y a un menos frecuentable por expertos serios.

D.2.

El impuesto a la informaci on

Sin embargo el monopolio Wintel (Windows + Intel, t ermino recurrente en la prensa americana) que se est a instalando en Francia y en el mundo entero tiene tales apuestas en juego, y no solamente econ omicas, que no nos podemos callar m as bajo ningun pretexto. No se trata solamente de aceptar vivir con una mala tecnolog a ignorando que se podr a tener algo mucho mejor: esto ya se ha producido varias veces, por ejemplo con el sistema de v deo VHS que desplaz o al Video 2000 y Betamax, que eran mucho mejo4 res . Aqu se trata del hecho de que nuestros nuestros gobernantes hayan aceptado que el monopolio Microsoft-Intel adquiera un total dominio de la informaci on, explot andolo adem as en su exclusivo benecio. Estoy seguro de que aquel entre ustedes que tenga alg un conocimiento de econom a ya ve a d onde quiero llegar: este monopolio logra desde hace muchos a nos el cobro de una verdadera tasa monopol stica, es decir, que explota la posibilidad que tiene un monopolio de vender a precios inados, ejerciendo as un verdadero chantaje sobre los consumidores que se ven forzados a comprarle a el. Esta tasa es enorme, pero m as grave a un, su importe sale del espacio europeo sin que nos demos cuenta, y no solamente no produce riqueza alguna sino que por el contrario la destruye (ver por ejemplo [6] y [7]). Veamos ahora los medios por los cuales se consolida este monopolio cada d a un poco m as, sin descuidar los riesgos no econ omicos que el mismo produce sobre nuestra vida de todos los d as. En el caso de la inform atica, las posibilidades ofrecidas a las empresas sin escr upulos son particularmente temibles. Trataremos de comprender esto comenzando por todo lo que no se entiende necesariamente como una pr actica dudosa o ilegal.

D.3.

El car acter espec co del software

Para comenzar a comprender porqu e pagamos un impuesto invisible cada vez que compramos un PC 5 o los programas Windows, hay que familiarizarse primero con una caracter stica que distingue la inform atica de cualquier otro dominio tecnol ogico: el costo de la duplicaci on de productos. Una vez
Ver Technologie et March e: journal dun consommateur insatisfait, del mismo autor. PC signicaba solamente personal computer; ahora el nombre ha sido secuestrado por un s olo tipo de computadora personal, la cual utiliza microprocesadores Intel.
5 4

D.3 El car acter espec co del software

133

que un programa ha sido realizado, cosa que puede costar muy caro, se puede duplicar en un CD-Rom al costo de s olo algunos francos por copia, o se puede transmitirlo por la red a un costo que no cesa de reducirse, de manera totalmente independiente de la calidad y del costo de producci on de la primera copia. Los u nicos componentes cuyo costo no es innitesimal son aquellos a los que llamamos el soporte: las miles de p aginas del manual de papel, o las docenas de disquettes necesarios para archivar el software cuando no se dispone de lectores de CD-Rom. Pero los editores de programas, que tienen todo el inter es en hacer desaparecer ese costo jo, no tardaron mucho en ocuparse de ese tema: usted habr a remarcado que los PC que se venden en los supermercados vienen acompa nados de programas pero pr acticamente de ning un manual, salvo alguna breve nota explicativa (sic!). Hay por supuesto manuales on-line, es decir no sobre papel. Nadie va a impedirle que se gaste algunos centenares de francos para imprimirlos, si a usted se le antoja. Yo mismo pude constatar personalmente que una empresa japonesa muy conocida, cuyo nombre me reservo, vende computadoras port atiles de las m as caras del mercado sin proveer siquiera un CD-Rom con los programas: todo est a instalado en el disco duro, y para hacer una copia de seguridad todo depende de nosotros mismos, si queremos comprar los 40 disquettes necesarios y pasar un d a entero jugando a ser un disk-jockey con la m aquina. Podemos decir entonces que actualmente, con estas pr acticas, el costo de copia de un programa esta pr acticamente reducido a cero. Una segunda caracter stica esencial es el status legal de un programa: por varias razones, no tan extra nas si uno lo piensa detenidamente, el software, ese sosticado producto de tecnolog a de punta utilizado por millones de personas en su vida profesional, y convertido en piedra angular de una nueva revoluci on industrial, goza de la misma inmunidad que las obras de arte (de hecho, los industriales del software se llaman editores). Por ejemplo, no hay ninguna cl ausula legal ni ninguna jurisprudencia que permita garantizar que el software haya de cumplir una determinada funci on, ni siquiera aquella para la cual usted lo ha comprado. Esta situaci on es razonable cuando se compra una novela o un cuadro (de gustibus...dec an los romanos), pero deja de serlo cuando se aplica al software: usted no puede demandar a Microsoft legalmente ante la justicia por defecto de construcci on, al haber descubierto que Windows 95 no est a hecho con las m nimas pr acticas establecidas de la ciencia inform atica; mientras que usted s puede acusar a un fontanero o a un electricista por realizar una instalaci on que no est a hecha conforme a las normas. Lo peor es que no hay ninguna toma de responsabilidad por los da nos que el software pueda producir. De nuevo, es razonable que usted no pueda llevar a juicio a un cantante porque el u ltimo CD tecno que comprara su hijo provocara una disputa familiar en el curso de la cual se rompiera un jarr on

134

Trampa en el Cyberespacio

chino valios simo. Pero es perfectamente inaceptable que usted se quede indefenso si pierde 200 Mb de datos comerciales muy valiosos de su disco duro a causa del vetusto sistema de archivos de Windows 95 y de su horripilante programa ScanDisk. Sobre todo sabiendo que podr a probar muy f acilmente delante de un tribunal que los conocimientos t ecnicos necesarios para realizar un producto ampliamente superior, gracias al cual no hubiera perdido sus datos, son de dominio p ublico desde los a nos 70, y que el c odigo mismo que implementa estas t ecnicas en el Unix de AT&T ha sido comprada por Microsoft. Pero en cambio, s que puede arrastrar ante la justicia a su electricista si este le instala cables el ectricos en los z ocalos de madera de su 6 apartamento . Finalmente, una consecuencia muy grave de esta impunidad es que el editor de software no est a de ninguna manera obligado, desde el punto de vista legal, a corregir los errores reconocidos y documentados, a un cuando esos fallos sean voluntarios. Dicho de otra manera, el editor de software es libre de venderle a usted lo que a el le parezca, o mejor dicho, aquello que su departamento publicitario le haga creer que compra, sin ninguna obligaci on de resultados, y sin que usted tenga el menor recurso, a un en caso de mala fe maniesta. Peor a un, puede ocurrir que le hagan pagar por las versiones de actualizaci on, que son en realidad correcciones de defectos, a precios tan caros como el producto original. Adem as, este status jur dico tan sorprendente, estaba probablemente justicado cuando los programas eran escritos por un ingeniero en su garage, pero es absolutamente aberrante hoy en d a. Ahora nos encontramos con multinacionales del software cuyas nanzas son colosales, y no dan provecho a todos los editores de software sino solamente a los m as poderosos. Est a claro que una gran empresa puede y debe obligar a un prestatario de servicios inform aticos a rmar un contrato contrayendo obligaciones de resultados y conteniendo cl ausulas de garant a, pero por desgracia, esto no est a al alcance del consumidor, ni de la mayor a de las empresas, cuando el editor de software en cuesti on tiene la capacidad nanciera suciente para comprar o destruir su empresa en algunas semanas. Me imagino que en este momento, al igual que nuestro joven ejecutivo din amico de hace un rato, usted comenzar a a sentirse menos c omodo: el cyberespacio encantado comienza a mostrar sus costados poco agradables, y esta maravillosa empresa lantr opica que ha sido siempre presentada como el s ummum de la tecnolog a inform atica y del exito del libre mercado comienza a parecer cada vez menos lantr opica. Desafortunadamente, estamos solamente en el principio de nuestro paseo por el lado oscuro del planeta
6

Pr actica peligrosa que est a prohibida actualmente en Europa.

D.4 Los fabricantes atrapados en la trampa Microsoft, y todav a no hemos llegado a lo mejor.

135

D.4.

Los fabricantes atrapados en la trampa

La posici on de monopolio de Microsoft le permite tambi en desembarazarse con facilidad de las otras posibles fuentes de costo para la comercializaci on del software: la asistencia t ecnica y la distribuci on. Para la primera, podr amos imaginarnos que aunque el editor no est e legalmente obligado a ayudarle a instalar su software, se encontrar a obligado a hacerlo para no perder los clientes. No se preocupe, Microsoft tiene la soluci on: es suciente leer unas frases que se encuentran en la licencia de Windows 95 de la cual reproduzco aqu un extracto: cnico para el 6. SOPORTE TECNICO. El soporte te PRODUCTO SOFTWARE no es proporcionado por Microsoft Corporation o sus subsidiarias. Para obtener cnico, rem mero de soporte del soporte te tase al nu n Fabricante de PC suministrado en la documentacio para la computadora (ordenador). Si tiene dudas con respecto a este CLUF (Contrato de Licencia para el Usuario Final), o si desea comunicarse con el Fa n, rem bricante de PC por cualquier otra razo tase a n proporcionada en la documentacio n de la la direccio COMPUTADORA u ORDENADOR. Astutos, verdad? Se hace responsable de todo al fabricante de la computadora, el cual no tiene nada que ver con DeFrag pantallas azules y dem as desastres, pero acaba pagando las consecuencias nancieras de esos errores (y yo sabr e algo de eso, vista la cantidad de veces que trat e in utilmente de comunicarme con el servicio de asistencia telef onica para la instalaci on de Windows, siempre para el port atil de la marca japonesa que no he revelado m as arriba y que todav a ocultar e aqu ). Si Windows 95 no estuviera en posici on de monopolio, los fabricantes de computadoras se librar an con mucho gusto de este tipo de acuerdos. Para la distribuci on del software es la misma historia. De nuevo son los fabricantes, ensambladores y revendedores de computadoras los que pagan el costo: ellos deben preinstalar Windows 95 en las m aquinas. Pero hoy existe algo a un mejor que es la distribuci on del programa por Internet sin ning un soporte material. Esto es un golpe genial: usted paga por un programa y despu es paga el gasto de obtenerlo por la red (y qu e gasto, con el tama no de un Microsoft Oce en nuestros d as), reduciendo efectivamente el costo

136

Trampa en el Cyberespacio

total de la copia y distribuci on por el editor a exactamente cero francos. Y se pregunta por qu e un cierto presidente de un cierto pa s del otro lado del atl antico ha sugerido rmemente liberar completamente de impuestos al comercio inform atico? Bien, aqu tiene una parte de la respuesta! En res umen, si hoy uno se llama Microsoft, y solamente si se llama Microsoft, puede vender m as o menos cualquier cosa, sin obligaci on de resultado y sin temor a ser demandado. Todo esto con un costo unitario nulo, y a un precio al p ublico que no baja jam as 7 , y que se traduce en benecio puro 8 . Falta comprender por qu e no solamente el gran p ublico, que no conoce nada de computadoras, sino tambi en las grandes empresas, los gobiernos y los medios (que deber an disponer de servicios inform aticos altamente calicados), no utilizan su libertad de elegir otra cosa que los productos Microsoft. Para responder a esta pregunta no es suciente culpar a los mercanchies de la prensa que se dice especializada, a un cuando su parte de responsabilidad es bien evidente. Deberemos llevar a cabo una exploraci on m as profunda de la cara oculta de este gigante, para comenzar a descubrir ciertas pr acticas dudosas que rozan frecuentemente la ilegalidad, y que con mucho desagrado encuentro que no son comentadas en ninguna parte del panorama medi atico [franc es], salvo en algunos peque nos folletos sat ricos ef meros que no son ciertamente la lectura preferida de los altos responsables de las empresas 9 .

D.5.

El pa s de los tecnocretinos...

Para ver la cosa m as clara, olvidemos por un instante las computadoras, el software y todo eso. Siempre hemos estado condicionados a considerar estas cosas como u tiles pero dif ciles, es decir, a renunciar a formarnos una opini on personal acerca de este tema. Nos han dicho que es demasiado complejo y que debemos limitarnos a seguir la sabia elecci on de los que se dicen expertos (por ejemplo, la revista americana Byte, de gran difusi on, tiene en su logotipo la leyenda Byte, because the experts decideByte, porque los expertos deciden).
Contrariamente al costo del hardware, que baja a velocidad impresionante, el precio del software Microsoft no baja de manera signicativa, y a veces hasta sube, con cada nueva versi on: por ejemplo, Windows 95 en Francia se vende al precio al p ublico de 1.270 francos (antes de impuestos), mientras era disponible a menos de 800 francos en su lanzamiento de 1995. 8 Muchos editores de software venden sus programas sin una garant a real, pero son muy pocos los que pueden tener todas esas ventajas juntas, y solamente Microsoft tiene el poder de imponer sus productos, creando de esa forma un verdadero impuesto a la informaci on. 9 Se trata de Le Virus Informatique y Les puces informatiques, ver [8].
7

D.6 ...no est a muy lejos

137

Dejemos de lado por un instante a los expertos, para ir a ver lo que pasa en el mundo paralelo imaginario de los TecnoCretinos, en el que una empresa llamada MacroPrensa obtiene poco a poco el control absoluto de todas las imprentas del planeta. Esta no controla directamente los peri odicos, pero es la que los imprime con los caracteres MacroPrensa, de los cuales es la u nica propietaria. Un buen d a, tras una gran campa na publicitaria alabando las bondades de un nuevo juego de caracteres que permitir a obtener peri odicos m as modernos, esta empresa comienza a imprimir todo con caracteres klingonianos (el alfabeto de los Klingons en la famosa serie StarTrek). De esta manera, nadie m as puede leer los nuevos libros o peri odicos sin recurrir a la Lupa de la MacroPrensa, disponible a la venta en todos los kioscos, donde es distribu da con cargo a los editores de peri odicos. El p ublico, encantado de la maravillosa novedad tecnol ogica, se adapta y compra la Lupa. Envalentonados por el exito de esta iniciativa, MacroPrensa comienza a cambiar el juego de caracteres peri odicamente, todos los a nos, y despu es todos los semestres; las viejas Lupas ya no pueden leer los nuevos peri odicos y hace falta renovarlas con grandes gastos cada dos o tres meses. Un competidor de MacroPrensa ve ah una gran ocasi on para producir una Minilupa mucho menos costosa que la Lupa Macroprensa, y comienza a venderla en los kioscos. Pero los kioscos tienen un contrato de exclusividad con MacroPrensa y rehusan distribu rla. Peor a un, MacroPrensa demanda al competidor ante la Justicia por violaci on de los derechos de autor, pues lo considera culpable de haber analizado los caracteres klingonianos a n de construir la Minilupa. Y gana. . .

D.6.

...no est a muy lejos

Pero qu e idiotas, dir a usted, qui en puede dejarse hacer eso? Pues bien, perm tame decirle que el mundo de los TecnoCretinos no est a muy lejos. Hace dos a nos quise presentar a la UE una solicitud de nanciaci on para la visita de un investigador ingl es a nuestro laboratorio. Para eso busqu e el formulario, y me dijeron que la manera m as f acil de proceder era obtenerlo desde el servidor de Web www.cordis.lu de la comunidad europea, ya que el correo normal pod a tardar alg un tiempo considerable. D as con un documento que se llamaba machin.doc y que estaba escrito con Microsoft Word para Windows versi on vaya-usted-a-saber. En Klingoniano. No hay problema, me dije a m mismo, tenemos un MacIntosh en el laboratorio con la lupa Microsoft Word versi on 6.0. Esta es de la misma empresa, la m as reciente, luego podr e leerlo bien. Cuando pens e esto eran las 10 de la ma nana. Para mi gran sorpresa, Microsoft Word en MacIntosh, despu es de una docena de minutos de conversi on, bloque o la m aquina y me vi obligado a apagar y volver a encender, perdiendo mi trabajo. As comenz o una verdadera bata-

138

Trampa en el Cyberespacio

lla con la Lupa, donde al nal sal vencedor pero agotado a eso de las 19 horas, con una versi on del formulario rellenado, obtenido imprimiendo las p aginas una a una y con manipulaciones complejas en cuyos detalles no entrar e. Basta decir que me entraron much simas ganas de llevar esto ante la Justicia, pero sin muchas esperanzas de ganar. Todo esto por qu e? Por un formulario extremadamente simple con las casillas Nombre, Apellido, etc., que lo habr amos podido preparar muy f acilmente con un formato de archivo libre y p ublico, tal como el HTML que se utiliza desde 1991 en la Web. Han pasado ya dos a nos y en http://www.cordis.lu nada ha cambiado. El aspecto es muy atractivo, pero los formularios y la documentaci on que contiene informaci on que debe ser libre y gratuita y que son de importancia vital, est an todav a presentados solamente en formato privado, t picamente Microsoft, e, incre ble pero cierto, compatible solamente con los productos Microsoft para PC. A causa de esto, nuestro laboratorio pronto comprar a un gran PC con Windows 95 y Microsoft Oce, solamente para poder leer los documentos de la UE. La Lupa Klingoniana avanza. Adem as, con esta Lupa el formato de archivos cambia de versi on en versi on, de tal suerte que Word 5.0 no puede hacer nada con los archivos de Word 7.0, y peor a un, el Word 6.0 en Mac tiene problemas para leer archivos de Word para Windows. Hemos ca do en la trampa! No es suciente con comprar Microsoft Word una vez; deberemos pagar de nuevo cada versi on, s olo para poder continuar leyendo los archivos nuevos de otros. Y si por azar hab amos comprado un producto complementario para la versi on 5.0, por ejemplo un diccionario en espa nol, habr a que comprar uno nuevo en la nueva versi on; la vieja ser a incompatible, a un cuando el espa nol no haya cambiado entretanto. Advertir a que se trata de un verdadero y limpio secuestro de nuestra informaci on: una vez que los datos entran en Word o Money, ya no hay manera f acil de recuperar todo el trabajo que usted ha hecho para transferirlo a otro programa si decide no comprar m as productos Microsoft. Se cuidaron muy bien de no suministrar convertidores ecaces hacia otros formatos 10 . Adem as intentaron varias veces hacer que se aprobaran leyes prohibiendo a los competidores la utilizaci on de sus formatos propios de archivos, o incluso su an alisis. Si se llegaran a aprobar estas leyes, una empresa que venda una Minilupa convertidora ser a culpable de violaci on de las leyes de derechos
Desde hace muy poco, es posible bajar una impresionante panoplia de convertidores y visualizadores desde http://www.microsoft.com/office/office/viewers.asp, pero eso s olo sirven para convertir documentos entre todos esos formatos Microsoft incompatibles, y no para liberarlos de la trampa monopolista: hay que tener un PC con windows para usarlos! Lo que hace falta, son formatos libres y documentados, todo lo contrario de la losof a Microsoft.
10

D.7 Pr acticas dudosas

139

de autor 11 . Pero son nuestros datos los que est an en juego. Bienvenidos al pa s de los TecnoCretinos!

D.7.

Pr acticas dudosas

Resumiendo la t ecnica es simple: por un lado se hace caer a los consumidores en la trampa secuestrando su preciosa informaci on en un formato propietario, el cual es constantemente actualizado. Debido a estas modicaciones, los usuarios se ven obligados a comprar cada 6 o 12 meses una actualizaci on de todas sus aplicaciones, tan s olo para poder continuar leyendo sus propios datos o acceder a informaci on que (de manera innecesaria) es suministrada bajo este formato privado. Por otro lado, se entrampa a los competidores: no se les da la documentaci on [del sistema operativo] y se introducen variantes arbitrarias con la u nica meta de no permitir que los productos que ellos desarrollan funcionen correctamente. Es m as, si la competencia llega a descubrir que una de las modicaciones ten a como u nico n el hacer funcionar su producto con menor eciencia que el producto equivalente del monopolista, son condenados por haber hecho ingenier a al rev es (reverse engineering), el equivalente inform atico a desmontar el motor de un Twingo para ver como est a hecho 12 . Esta u ltima t ecnica es especialmente poderosa si el editor de software detenta a la vez el sistema operativo (Windows 95) y las aplicaciones (MS Word, Excel, etc). En tal caso es t ecnicamente posible modicar el sistema para tornar inestables o inutilizables los productos de la competencia, y a la vez mejorar las prestaciones de sus propios productos. Es lo que se ha hecho en Windows NT Workstation, limitando articialmente a diez los accesos simult aneos a la m aquina; esto hace inutilizable el servidor Web de Netscape sobre NT Workstation (ver [13] y [14]). Si quiere resolver esto, deber a comprar la versi on Windows NT Server, much simo m as cara, la cual incluye gratuitamente un servidor de Web de Microsoft. La treta pone fuera de juego a Netscape. Esto es simplemente maquiav elico, y a un m as cuando descubrimos que las dos versiones, NT Workstation y NT Server, son pr acticamente id enticas y s olo se diferencian en un pu nado de l neas, tal y como se documenta en [15] y [16].
Richard Stallman vino a Europa en 1991 para exponer los peligros de la aceptaci on pasiva por parte de la CEE de este escandaloso asunto. Algunos de esos argumentos se pueden encontrar en [9]. 12 Para la historia de un caso real, ver Stac contra Microsoft en [10]; afortunadamente, las cosas cambiaron en Europa, en donde ya se permite una forma limitada de reverse engineering [11]. V ease tambi en la oposici on feroz a toda reglamentaci on que pudiera garantizar la interoperabilidad entre sistemas distintos [12].
11

140

Trampa en el Cyberespacio

El resultado nal de estas pr acticas dudosas es simple: se impide que el usuario pueda elegir otra cosa que no sea un producto Microsoft. Junto con la reducci on a cero de los costos y de los riesgos, tal cual como vimos anteriormente, esto permite al monopolio establecer un verdadero impuesto sobre la informaci on, donde Microsoft es el u nico beneciario. Despu es de todo, si Bill Gates ha sido recibido con honores dignos de un Jefe de Estado en el El seo, se debe a que se trata de la visita de la versi on cyber del recaudador de impuestos. Un impuesto que no tiene nada de virtual: enormes sumas de dinero salen de la Comunidad Europea cada a no en contrapartida por productos de mala calidad que nos vuelven m as y m as dependientes de la mala tecnolog a del otro lado del Atl antico. Es m as, estos productos se distribuyen en Europa a precios exorbitantes, muy superiores a los precios americanos o canadienses. No se deje enga nar por los que le dicen que los programas en Europa son m as caros porque necesitan ser traducidos. Si echa un vistazo al servidor Web de Microsoft, se enterar a de que consideran ilegal (sic) comprar su software en versi on francesa en Canad a (en donde es mucho m as barato que aqu ) para utilizarlo en Francia [17]. Y el libre mercado? Nos orde nan como a las vacas lecheras, y la pasividad de los gobiernos europeos, que comienza a parecerse bastante a la cooperaci on activa si uno piensa en http://www.cordis.lu, es absolutamente inexplicable, visto el tama no de este verdadero expolio.

D.8.

Bordeando la ley

Llegamos nalmente a los actos francamente ilegales. Comenzando por la venta vinculada, que est a expresamente prohibiba en Francia (Libro I, Cap tulo II, Section 1 de la Ley del Consumidor, Se prohibe [. . . ] subordinar la venta de un producto [. . . ] a la venta concurrente de otro [. . . ]), y tambi en en Europa (ver los art culos 85 y sobre todo el 86 del tratado, as como su aplicaci on, en la detallada referencia [18]). Lo que quiere decir esto es que est a prohibido que le obliguen a comprar con el producto que a usted le interesa otro producto que no quiere. No se prohibe vender lotes de productos en un supermercado, pero en tal caso usted debe tener la opci on de comprar separadamente cualquier componente del lote, si as lo desea, sin sobrecosto alguno. Sin embargo, durante mucho tiempo los grandes vendedores de PCs no le han permitido que comprara una computadora sin adquirirla con el sistema operativo de Microsoft (Windows 95 o NT ahora, DOS o Windows 3.x antes). Se puede convencer personalmente visitando los servidores Web de Dell y Gateway, por ejemplo. Ver a que usted puede construir su propia computadora, seg un le dicen, pero nunca suprimir la Lupa Microsoft de dichos componentes, siendo que los programas (software) y el material electr onico (hardware) son dos productos bien diferentes por

D.8 Bordeando la ley

141

m as que traten de disimularlo 13 . Al nal, acabamos por no saber el precio real del software. En efecto, haciendo partidas de acuerdos condenciales, estos precios son a menudo muy inferiores a los precios de mercado. Uno de estos acuerdos ha sido condenado hace poco en los tribunales de la UE como pr actica comercial ilegal. Para que pueda hacerse una idea precisa de la envergadura econ omica del asunto, considere el caso de una universidad parisina que compr o 15 PC para instalar GNU/Linux hace algunos meses. No se sabe cu anto pag o el fabricante por Windows 95 pero si nos amos de lo que se dice en [7], el paquete Oce PME tiene un precio de venta al p ublico que es el doble del de Windows 95 y se vende a los mayoristas por poco m as de 600 francos; de lo cual se puede estimar que Windows 95 tiene un precio mayorista de unos 300 francos. As pues, a un suponiendo que el fabricante no tenga margen de ganancia sobre el software (cosa de la cual dudo, dado que la preinstalaci on es un servicio que tiene su costo), esta universidad ha sido obligada a pagar 15 veces 300 francos, es decir 4.500 francos, por un producto que no quer a. Dicho de otra forma, el Estado Franc es ha hecho en este caso un regalo de 4.500 francos a Microsoft, una empresa no europea que no est a presisamente al borde de la quiebra ni necesitada de ayudas estatales. Si se extrapola este caso particular a las compras realizadas por todas las Universidades de Francia que utilizan GNU/Linux, se trata ya de millones de francos por a no. Habr a que preguntarse qui enes son los piratas en este caso. No puedo comprender las razones de un despilfarro semejante cuando se dice que las arcas del estado est an vac as. Si uno busca bien, pero verdaderamente bien, es posible en teor a intentar que le devuelvan el dinero (fastidiando al pobre fabricante de la computadora), pero se trata de una verdadera carrera de obst aculos. En nuestra escuela muchos investigadores y alumnos han comprado computadoras o port atiles para instalar GNU/Linux o Next Step, pero han sido obligados a comprar Windows sin lograr ning un reembolso. Esta es la fuente m as importante de ganancias para Microsoft y es por esto que se puede hablar de verdadero impuesto sobre las computadoras: por cada PC comprado hay un tanto por ciento de dinero para los hinchados bolsillos de Microsoft, lo quiera usted o no. Es debido a estos 10 a nos de tales pr acticas, durante los cuales amas o una inmensa riqueza y aplast o a toda su competencia, que Microsoft ha sido amonestada por la justicia americana y europea en 1995, aunque sin ninguna consecuencia nanciera [19]. Lo cual quiere decir que el bot n del robo permanece en manos por el ladr on, a cambio de la promesa de este
El autor de este art culo no se limit o a mirar el sitio Web: unas llamados telef onicas bastaron para vericar que no se puede comprar una computadora sin software Microsoft a Gateway o Dell.
13

142

Trampa en el Cyberespacio

de no ser reincidente. Debido a esta condena sin castigo efectivo, hoy en d a sigue siendo muy dif cil comprar un PC sin Windows, a menos que uno recurra a los peque nos ensambladores de PCs cl onicos. El caso de Dell y Gateway 2000 no es aislado, y cada PC comprado es un usuario de Windows m as en las estad sticas, incluso si la primera cosa que hace el comprador es tirar a la basura Windows 95 para instalar GNU/Linux.

D.9.

Una mirada al posible futuro de la educaci on

Qu e cosa puede suceder si no nos despertamos de nuestro sue no profundo y permanecemos sumidos en la trampa de una industria y un sistema educativo informatizados por un monopolio privado? Gracias al famoso atraso tecnol ogico franc es, es posible responder a esta pregunta: otros pa ses nos llevan ventaja de unos a nos, tanto para bien como para mal, y esto nos permite contemplar un cierto n umero de futuros posibles. Comenzando por el futuro pr oximo, basta con ir muy cerca, a nuestra vecina Suiza. El pasado 8 de octubre, el Ministro de Finanzas suizo anunci o un acuerdo con Microsoft, por el cual el gobierno pondr a a disposici on de los colegios unas 2.500 computadoras, y el gigante americano pondr a otras tantas licencias de utilizaci on de productos Microsoft y se ofrecer a a formar a 600 educadores para la utilizaci on de computadoras [20] (Un regalo parecido ha sido hecho en Sud africa). Es decir, por menos de lo que cuesta una campa na publicitaria nuestro monopolista ha adquirido el control total de la inform atica en la educaci on suiza, y por ende en las empresas suizas, ya que cuando estos estudiantes alcancen un puesto de trabajo no conocer an otra cosa que Microsoft Oce. Visto en perspectiva, este acuerdo no parece tan bueno para Suiza, aunque al menos no habr an pagado nada por el software de Microsoft. Mejor dicho, para ser exactos, no lo habr an pagado ahora, porque se les podr a empezar a pedir el pago m as adelante, como acaba de suceder en Jap on. El pasado diciembre Microsoft anunci o la supresi on al Jap on de licencias globales de centro (site licenses, un esquema de contabilizaci on de licencias de una empresa o una Universidad que permite pagar los programas en proporci on al uso real, y no en relaci on al n umero de computadoras). Esta decisi on impondr a un sobrecosto nanciero injusticado y considerable que los japoneses van a tener que asumir de todas maneras, dado que no hay otros competidores a los que acudir. Veamos un poco m as lejos en el futuro: la Universidad del Estado de California (CSU) est a apoyando en este momento la creaci on por parte de

D.10 Lo que esta en juego: el control de la informaci on

143

Microsoft, GTE, Fujitsu y Hughes Electronics de una compa n a, la CETI, que tendr a el monopolio exclusivo para la renovaci on del parque inform atico de 23 campus universitarios de la CSU, donde hay m as de 350.000 estudiantes y docentes. A cambio de una inversi on de algunos centenares de millones de d olares durante 10 a nos en la infraestructura de la red, la CSU dejar aa la CETI elegir las computadoras y los programas ocialmente usados en los campus. La proposici on habla muy claro: se tratar a solamente de Windows 95 Windows NT y Microsoft Oce. Los benecios previstos por la CETI, m as el impacto en la educaci on de los que el d a de ma nana ser an responsables de empresas (impacto seguro gracias a los cursos especializados en productos inform aticos privados), se cifra a algunos miles de millones de d olares en diez a nos. Y esto s olamente contabiliza los m argenes de la venta monopolista del hardware y del software a los estudiantes y docentes en sus campus, los cuales ya no podr an seguir ciertos cursos sin utilizar esas computadoras (ver [21] y la decisi on de reexaminar de acuerdo en [22] 14 ).

D.10.

Lo que esta en juego: el control de la informaci on

Pero los elementos comerciales y las pol ticas que est an en juego superan ampliamente el cuadro de la educaci on y de la gesti on de empresas. No estamos hablando de la simple venta de algunas computadoras y programas, sino del control total sobre toda forma de transmisi on y de tratamiento de la informaci on, en la educaci on, en las transacciones bancarias, en los nuevos y viejos medios de comunicaci on, y hasta en la intimidad de nuestra correspondencia privada. Si alguno de los contendientes del sector obtiene una posici on de monopolio en la gesti on de esta informaci on, estar a en situaci on de hacer pagar un impuesto sobre toda operaci on inform atica (un porcentaje sobre la transacci on electr onica, vigorish en ingl es), tal y como est a escrito negro sobre blanco en una nota interna de Nathan Myrhuold, el CTO de Microsoft. Dicha nota forma parte ahora del dossier del DOJ y fue publicada por el Wall Street Journal el a no pasado [23]. Pero tal monopolio podr a tambi en obligarlo a usted a ceder una parte muy importante de su libertad personal, lo cual puede producir benecios muy importantes. Reexione por un instante sobre el hecho de que todo tipo de informaci on es susceptible de ser generada en una computadora y que se puede en principio seguir la pista de toda operaci on inform atica. Por ejemplo, mientras usted observa unas bellas im agenes sentado c omodamente delante de su PC multimedia, pueden ser copiados sus datos bancarios
Nota: nalmente, el acuerdo fracas o a mediados de 1998 gracias a la oposici on rme de estudiantes y profesores.
14

144

Trampa en el Cyberespacio

o puede ser constitu do su perl personal y psicol ogico para ser utilizado a espaldas suyas. Esto ya se hace desde hace tiempo con la ayuda de cookies en los navegadores Web [24]; ciertas empresas como Sidewalk, lial de Microsoft, le obligan a aceptar una verdadera violaci on de su vida privada para acceder a sus servicios [25]. Gracias a extensiones privadas y vulnerables como el Active X de Microsoft, le pueden robar el dinero de su cuenta bancaria mientras usted navega por la red, tal y como ha sido demostrado irrefutablemente por un grupo de inform aticos de Hamburgo en la televisi on alemana y en muchas publicaciones de las cuales no hemos visto ni rastro aqu en Francia (ver [26] para m as detalles). Y a un si Microsoft no se aprovecha de las lagunas de seguridad de su sistema, otros pueden hacerlo en su lugar. Hoy en d a se puede transmitir un virus dentro del m as simple documentos Word, y si uno compra algo v a Internet utilizando transacciones seguras el n umero de su tarjeta de cr edito podr a ser pirateado con s olo ocho horas de c alculo en la m aquina de un estudiante. Es para preocuparse, sobre todo si se piensa que el Cr edit Lyonnais acaba de cerrar un acuerdo con Microsoft para la gesti on de cuentas de sus clientes a trav es de la Web (ver [27]). Se puede tambi en seguir el rastro de sus movimientos, los cuales son revelados a espaldas suyas por su tarjeta de cr edito o su tel efono m obil, como qued o demostrado hace poco en el clamoroso esc andalo Suizo, o tambi en el aaire OM-Valenciennes (en este sentido, cabe tambi en inquietarse por la fusi on del servicio Microsoft Network con el servicio Wanadoo de France Telecom). Para llegar a ese punto sin correr el riesgo de ser atrapado con las manos en la masa, es necesario controlar toda la cadena tecnol ogica: su computadora debe utilizar un programa espec co, capaz de sonsacar ciertas informaciones a sus espaldas; los proveedores de servicios Internet deben permitir guardar registros de la duraci on y del tipo de conexiones que hace; los servidores Web que contienen la informaci on que usted busca deben utilizar programas espec cos tambi en capaces de guardar rastro de estos accessos, y de identicarlo comunic andose con su navegador. Y sobre todo, es necesario que todo esto pase sin que usted lo sepa. Hoy en d a un inform atico medianamente dotado puede descubrir f acilmente si tal o cual navegador Web est a revelando su identidad a cualquier servidor Web. Esto es posible porque todav a se usan protocolos inform aticos que son de dominio p ublico, y deben permanecer p ublicos para permitir que programas producidos por empresas diferentes cooperen razonablemente. Pero si ma nana no hubiera m as que un solo productor de software en el mercado, este har a todo lo posible para que el intercambio de informaci on se hiciera por medios menos transparentes y mucho m as dif ciles de desenmascarar, tanto m as si pensamos en las leyes

D.11 Una oportunidad para Europa y el empleo sobre reverse engineering a las que aludimos anteriormente.

145

Como ver a, no se trata solamente de elegir un programa de tratamiento de textos.

D.11.

Una oportunidad para Europa y el empleo

Mi sorpresa por la pasividad, incluso complicidad, de nuestros medios toca su punto m aximo. Estamos admitiendo y alabando pr acticas de libusteros que incluso ponen en juego nuestra independencia econ omica. Comprendo que en los Estados Unidos no miren demasiado a d onde van los millones de d olares, ya que acaban aterrizando en los bolsillos de uno de sus ciudadanos. Pero no me explico por qu e cierran los ojos aqu , cuando este dinero sale de nuestras billeteras. Hay que decir que la UE no ha permanecido del todo pasiva en este campo, y parece haber una investigaci on de envergadura sobre todas estas pr acticas dudosas sobre las que hemos hablado [28]. En ciertos discursos de miembros de la DGIV se lee entre l neas que la investigaci on va en el mismo sentido que la lanzada por la FTC del Jap on hace poco. Sin embargo esto no es suciente: con la rapidez del desarrollo tecnol ogico en el tratamiento de la informaci on, cuando se llega a terminar una investigaci on el da no ya est a hecho. Si, como en el acuerdo de 1995, no se aplica un castigo econ omico (como ciertas ltraciones hacen suponer), todo esto servir a de poco. Necesitamos una pol tica activa en el dominio de la inform atica y del tratamiento de la informaci on en general. En este area ya disponemos de medios t ecnicos propios: no olvidemos que en efecto Europa posee talentos superiores a los que podemos encontrar al otro lado del Atl antico. Por citar nada m as que dos ejemplos al azar, uno de los autores de NextStep, que ha sido llamado el programa m as respetado del planeta, es franc es; y Europa est a a la vanguardia en el desarrollo de los m etodos formales de vericaci on de programas, que permiten llevar a cabo proyectos vitales, el u ltimo de los cuales fue el segundo lanzamiento del cohete Ariane 5. Tenemos aqu una oportunidad u nica para Europa de librarse de golpe del monopolio tecnol ogico americano y de dar tanto a nuetras empresas como a nuestras escuelas una enorme ventaja. Este atraso del cual tanto se habla es de hecho nuestra mejor ventaja. Signica que no hemos ca do completamente en las trampas hacia las cuales nos empujan. No olvidemos que perder el tren no es malo, si es un tren que va a descarrilar. Se puede entonces elegir para nuestras empresas y nuestros hijos el libre acceso, a un

146

Trampa en el Cyberespacio

costo m nimo, una informaci on libre, abierta, segura y ecaz. Esto en todo caso lo hace un n umero creciente de inform aticos competentes, que eligen siempre que sea posible programas libres gratuitos, abiertos, modicables y muy superiores a los productos trampa preinstalados. Y adem as, con un potencial enorme para crear nuevos empleos.

D.12.

Una posible alternativa: los programas libres

Cuando se trata de elegir el software de nuestros colegios y universidades con el que nuestros hijos se iniciar an en la inform atica, no se est a obligando a atenerse a los equ vocos regalos de los cybermonopolistas. En lugar de un sistema privado que se cuelga cada dos por tres, cambia constantemente de versi on sin raz on alguna, y en el cual el c odigo fuente no es accesible, se puede elegir un sistema libre, abierto y estable (es necesario saber que, contrariamente al prejuicio popular, los programas libres han tenido ampliamente la ocasi on de ser probados [29]). Con dicho sistema todos los j ovenes pueden trabajar y aprender con toda seguridad, y permite que los esp ritus curiosos adquieran una formaci on inform atica avanzada e inteligente, pues la disponibilidad del c odigo fuente les permite ver c omo est a hecho por dentro, e incluso desmontarlo y volverlo a montar si lo desean. Y cuando se trata de equipar con sistemas inform aticos a las grandes empresas, es mejor conar en los programas en los cuales el c odigo fuente y la documentaci on es constantemente vericada y puesta al d a por una comunidad t ecnicamente competente, pudi endose adaptar a sus necesidades particulares a bajo costo. Algunos estudios serios, llevados a cabo por consultoras expertas en inform atica, han evaluado las ventajas econ omicas y estrat egicas que supone para las empresas basarse en los programas abiertos, en vez de atarse a los programas monopolistas (ver por ejemplo [30] y [31, 32]). Se pueden encontrar muchos ejemplos de empresas en Europa que han puesto en pr actica esta teor a con exito, export andola despu es al otro lado del Atl antico (ver [33] y la creciente lista [34]) Todo esto es posible sin invertir un c entimo, gracias al trabajo comenzado hace unos 15 a nos por Richard Stallman y la Free Software Foundation. El objetivo declarado de esta era producir un sistema operativo enteramente libre, denominado GNU [35]. Este trabajo ha sido completado recientemente gracias al esfuerzo de miles de programadores competentes, que respondieron a la llamada de Linus Torvalds desde todos los pa ses del mundo para contribuir en conjunto, sin nes lucrativos, a completar este sistema operativo libre, gratuito y abierto. Se trata de una versi on de Unix conocida

D.13 Para concluir

147

bajo el nombre de Linux (ver por ej. [36, 37]), aunque ser a probablement mas justo llamarle GNU/Linux [38], como se hace en este art culo. La historia de GNU/Linux es de aquellas que no se cuentan sin recordar palabras que deber an ser queridas no solamente por los franceses: libertad, igualdad, fraternidad. Se puede encontrar todo tipo de software para este sistema: servidores Web, m aquina virtual Java, emuladores DOS, los u tiles GNU, incluso paquetes om aticos. Y no hay que pagar nada para obtener estos productos de base. La Comunidad Europea podr a tambi en dar un apoyo a este fen omeno tan positivo: una suma de algunas docenas de millones de francos, cifra irrisoria en la escala del presupuesto europeo, permitir a, si es bien utilizada, terminar r apidamente proyectos como GNUStep [39], favorecer el desarrollo de GNU/linux y establecer una plataforma abierta y de calidad para tener paquetes om aticos interoperables. La elecci on de un sistema abierto y libre puede neutralizar el impuesto sobre la informaci on y tambi en favorecer el empleo y hacer a nuestras empresas m as competitivas. El dinero que ya no se esfuma (en Windows) puede dedicarse a la actividad productiva y a nanciar los contratos de mantenimiento con empresas locales de servicios inform aticos, las cuales pueden adaptar el sistema a las necesidades espec cas de las empresas. Esto puede crear un verdadero espacio de crecimiento y de empleos cualicados para ingenieros, los cuales ser an ahora responsables de la calidad de su producto. No como los comerciantes mal pagados que intentan vender un producto sobre el cual no tienen ning un control, y del cual los benecios van a parar a otra parte. En Francia, los empleos de este g enero ser an indispensables en un futuro venidero si queremos que funcionen las futuras redes inform aticas instaladas en las escuelas, dentro del cuadro del Plan Internet para Todos. Es necesario a cualquier precio evitar cometer de nuevo el error del gur u en la caja: esta creencia de que el manual de instalaci on transmite toda la sabidur a necesaria para la utilizaci on de una computadora. Creencia que acab o convirtiendo un n umero incalculable de computadoras Thomson del Plan Inform atico para Todos de 1981 en unos caros pisapapeles.

D.13.

Para concluir

La inform atica y las computadoras nos dan la posibilidad de revolucionar nuestra forma de vivir cotidiana. Pero es nuestra responsabilidad elegir entre una revoluci on que nos acabe llevando a una oscura Edad Media tecnol ogica dominada por unos pocos se nores feudales que se apropien de la escritura y de todo medio de comunicaci on para recaudar impuestos cada vez que respi-

148

Trampa en el Cyberespacio

remos; o por el contrario una revoluci on que nos lleve a un mundo abierto y moderno, donde el ujo libre de la informaci on nos permita sacar provecho del enorme potencial de la cooperaci on sin barreras y de la posibilidad de compartir nuestros conocimientos.

D.14.

Agradecimientos

Esta traducci on en espa nol no hubiera podido existir sin la ayuda de Clara Rabinovich, de Delia Kesner, y sobre todo de Jos e L. Mar n (jose@ ma.hw.ac.uk). Es para mi muy simb olico el hecho de que esta traducci on, as como todas las otras traducciones de este texto, haya sido hecha gracias a la cooperaci on sin barreras que s olo un sistema inform atico mundial abierto y moderno puede garantizar.

D.15.

Copyright

c Copyright Roberto Di Cosmo, 1997. Las opiniones vertidas en este art culo pertenecen u nicamente a su autor, y no vinculan en modo alguno a la ENS, el DMI o el LIENS. Este texto est a protegido por las leyes de la propiedad intelectual. Queda autorizada a todo individuo que no trabaje para Microsoft, ni para ninguna empresa con contratos de condencialidad con Microsoft, la reproduccion para uso personal y sin objeto de lucro de este art culo, con la condici on de que sea reproducido integralmente, inclu da esta nota de copyright. Microsoft y sus socios pueden solicitar al autor, si lo desean, una licencia individual de copia, a un precio de que ser a establecido por el autor; en caso de violaci on de esta cla usula, se solicitar a una indemnizaci on de 1 mill on de francos franceses.

D.16.

References

[1] James Wallace and Jim Erickson. Hard Drive: Bill Gates and the Making of the Microsoft Empire. Harperbusiness, 1993. ISBN 0887306292. [2] Robert X. Cringely. Accidental Empires : How the Boys of Silicon Valley Make Their Millions, Battle Foreign Competition, and Still Cant Get a Date. Harperbusiness, 1996. ISBN 0887308554. [3] James Wallace. Overdrive : Bill Gates and the Race to Control Cyberspace. John Wiley and Sons, 1997. ISBN 0471180416. [4] CNN - U.S. vs. Microsoft. http://cnn.com/SPECIALS/1997/microsoft/poll. [5]ZDNN News Special: DoJ-Microsoft Round 2, Microsoft comes out swinging. http://www.zdnet.com/zdnn/special/msdoj2.html [6] Perspectives. http://www.news.com/Perspectives/Soapbox/rs12_30_97a.html.

D.16 References

149

[7] M.V. Microsoft ma tu e. Science et Vie Micro (SVM), (157):69, February 1998. [8] Le Virus Informatique. http://www.virus.ldh.org/. [9] Richard M. Stallman. The right to read. Communications of the ACM, 40(2), February 1997. Disponible sur le Web http://www.gnu.org/people/rms.html. [10] Andrew Schulmnn. LA law. The Stac case judged February 23, 1994, in Los Angeles, http://www.dap.csiro.au/Interest/LA-Law.html. [11] The CLRC recommendations on reverse engineering and decompilation: giving local developers an equal right to compete. http://www.sisa.org.au/SISASubmission1. html. [12] Microsoft & others oppose interoperability in HR 1555. http://www.essential. org/listproc/info-policy-notes/msg00158.html. [13] PC WEEK: Netscape to present DOJ with Microsoft antitrust info. http: //www.zdnet.com/pcweek/news/0819/19edoj.html. [14] ftp://ftp.ora.com/pub/examples/windows/win95.update/ntwk4.html. [15] Le virus informatique/page27. http://www.virus.ldh.org/virus/num_01/ pages/page27.html. [16] Minimal NT Server/Workstation Dierences. http://software.ora.com/News/ ms_internet_andrews.html. [17] Dossier Piratage- 10 questions - Microsoft France. http://www.microsoft. com/france/piratage/question.htm. [18] http://europa.eu.int/en/comm/dg04/public/en/art8586.pdf. [19] Bulletin UE 07-1994 (fr): 2.4.1 Engagement de Microsoft envers la Commission europ eenne. http://europa.eu.int/abc/doc/off/bull/fr/9407/p204001.htm. [20] Swiss schools to get MS software. http://www.news.com/News/Item/0,4, 15086,00.html. [21] MS college deal protest escalates. http://www.news.com/News/Item/0,4, 17212,00.html. [22] Cal State delays MS pact. http://www.zdnet.com/zdnn/content/zdnn/0107/ 269241.html. [23] Philip Elmer-DeWitt. Bill Gates wants a piece of everybodys action. Time, 6/5/95. [24] O. Casey Corr. Cybersnoops on the loose; web-site surfers beware: Software cookies gathering personal data. The Seattle Times, 8/10/97. [25] http://seattle.sidewalk.com/link/43750. Attention, le texte est formatt e de telle sorte que les conditions se trouvent trop ` a droite sur plein de navigateurs. Faite d erouler la page vers la droite pour les lire. [26] ActiveX - Conceptional Failture of Security. http://www.iks-jena.de/mitarb/ lutz/security/activex.en.html. [27] http://www.microsoft.com. [28] Europa/Competition/Eective competition. http://europa.eu.int/en/comm/ dg04/speech/six/en/sp96016.htm. [29] Information wants to be valuable. http://www.netaction.org/articles/ freesoft.html. [30] http://www.smets.com. [31] Bernard Lang. Des logiciels libres ` a la disposition de tous. Le monde diplomatique, January 1998. Aussi disponible comme http://www.monde-diplomatique. fr/md/1998/01/LANG/9761.html. [32] Bernard Lang and Jean-Claude Gu edon. Linux, mini os contre maxi exploitation. Lib eration, 7 November 1997. Aussi disponible comme http://pauillac.

150

Trampa en el Cyberespacio

inria.fr/lang/ecrits/libe/www.liberation.com/multi/tribune/art/tri971107. html. [33] http://mercury.chem.pitt.edu/angel/LinuxFocus/English/November1997/ article9.html. [34] Freeware usage. http://pauillac.inria.fr/lang/hotlist/free/use/. [35] http://www.gnu.org. [36] http://www.linux.org. [37] Linux center. http://www.math.jussieu.fr/fermigie/linux-center/. [38] http://www.gnu.org/gnu/linux-and-gnu.html. [39] http://www.NMR.EMBL-Heidelberg.DE/GNUstep/. [40] James Love and Ralph Nader. Microsoft, monopole du prochain si` ecle? Le monde diplomatique, November 1997.

D.17.

About this document...

This document was generated using the LaTeX2HTML translator Version 96.1 (Feb 5, 1996) Copyright c 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds. The command line arguments were: latex2html -split 0 -ascii_mode p.tex The translation was initiated by Roberto Di Cosmo on Fri Oct 9 22:48:54 MET 1998. Roberto Di Cosmo Fri Oct 9 22:48:54 MET 1998

Ap endice E

GNU Free Documentation License


Version 1.2, November 2002 Copyright c 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble
The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the eective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS


This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The Document,

152

GNU Free Documentation License

below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A Modied Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Documents overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not t the above denition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The Cover Texts are certain short passages of text that are listed, as FrontCover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A Transparent copy of the Document means a machine-readable copy, represented in a format whose specication is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent le format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modication by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modication. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the works title, preceding the beginning of the body of the text. A section Entitled XYZ means a named subunit of the Document whose

153
title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specic section name mentioned below, such as Acknowledgements, Dedications, Endorsements, or History.) To Preserve the Title of such a section when you modify the Document means that it remains a section Entitled XYZ according to this denition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no eect on the meaning of this License.

2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies.

3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Documents license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and BackCover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to t legibly, you should put the rst ones listed (as many as t reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until

154

GNU Free Documentation License

at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

4. MODIFICATIONS
You may copy and distribute a Modied Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modied Version under precisely this License, with the Modied Version lling the role of the Document, thus licensing distribution and modication of the Modied Version to whoever possesses a copy of it. In addition, you must do these things in the Modied Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modications in the Modied Version, together with at least ve of the principal authors of the Document (all of its principal authors, if it has fewer than ve), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modied Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modied Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Documents license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled History, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modied Version as given on the Title Page. If there is no section Entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modied Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.

155
K. For any section Entitled Acknowledgements or Dedications, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled Endorsements. Such a section may not be included in the Modied Version. N. Do not retitle any existing section to be Entitled Endorsements or to conict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modied Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modied Versions license notice. These titles must be distinct from any other section titles. You may add a section Entitled Endorsements, provided it contains nothing but endorsements of your Modied Version by various partiesfor example, statements of peer review or that the text has been approved by an organization as the authoritative denition of a standard. You may add a passage of up to ve words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modied Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modied Version.

5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this License, under the terms dened in section 4 above for modied versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodied, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but dierent contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

156

GNU Free Documentation License

In the combination, you must combine any sections Entitled History in the various original documents, forming one section Entitled History; likewise combine any sections Entitled Acknowledgements, and any sections Entitled Dedications. You must delete all sections Entitled Endorsements.

6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKS


A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an aggregate if the copyright resulting from the compilation is not used to limit the legal rights of the compilations users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Documents Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

8. TRANSLATION
Translation is considered a kind of modication, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled Acknowledgements, Dedications, or History, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

157

9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

10. FUTURE REVISIONS OF THIS LICENSE


The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may dier in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document species that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specied version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

ADDENDUM: How to use this License for your documents


To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright c YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no FrontCover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License. If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the with . . . Texts. line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.

Potrebbero piacerti anche