Introducción al mundo de GNU/Linux. Ismael Olea <mailto:[email protected]> 8 de marzo de 2000 Una breve introducción al sistema operativo GNU/Linux y al extraordinario mundo del software libre. 1 Introducción al mundo de GNU/Linux. Este documento se acoje a los términos de la GPL 2.0. Podrá encontrar una copia reciente de este documento en conf-intro-linux/conf-intro-linux.tgz>. 2 <http://LuCAS.HispaLiNUX.es/~olea/ Intro: • Presentación. • Falsos mitos: – Linux no es un sistema operativo; – Linux no ha sido creado por aficionados; – Linux no es Unix; – Linux no es el único núcleo libre: FreeBSD, Hurd, etc. • GNU/Linux: – Núcleo Linux; – Familia de aplicaciones GNU + BSD + XFree86 + otro software libre 3 Puntos fuertes de la filosofı́a GNU/Linux: • Licencia GPL -> Software Libre – Caracterı́sticas del software libre: ∗ Software libre no es lo mismo que software gratis. ∗ Quien lo recibe puede redistribuirlo. ∗ Quien lo recibe puede modificarlo. ∗ Disponibilidad gratuita del código fuente. – Caracterı́sticas de la GNU Public License ∗ Apoyándose en las leyes internacionales de copyright promueve el derecho a la copia. ∗ Permite la redistribución binaria. ∗ Permite la redistribución del fuente, y aún la obliga en caso de redistribución binaria. ∗ Permite las modificaciones sin más restricciones que publicar el trabajo derivado bajo GPL. • Nuevo modelo de desarrollo -> los desarrolladores son la propia comunidad de usuarios: 4. Caracterı́sticas técnicas de GNU/Linux: 2 – rapidez de desarrollo: son decenas, cientos y a veces miles las personas que colaboran en determinadas fases del ciclo de desarrollo. – robustez: las extensivas pruebas de funcionamiento que llevan a cabo, y a nivel personal, los usuarios realimentan a los desarrolladores en ciclos increiblemente cortos. – extensibilidad: cualquiera puede desarrollar nuevas funcionalidades. La calidad de su desarrollo y su aceptación por parte de los usuarios valida la incorporación del nuevo código a la distribución oficial. – soporte técnico: ∗ GNU/Linux cuenta con el mayor soporte técnico del Mundo. La comunidad de usuarios, que va desde meros aficionados y estudiantes a curtidı́simos profesionales y consultores del mundo *IX, está predispuesta a la colaboración, especialmente a través de los diferentes medios que ofrece Internet, que permite obtener tiempos de respuesta a cuestiones de tipo servicio técnico muy inferiores a los servicios convencionales; ∗ soporte técnico a través de canales comerciales en crecimiento explosivo: autónomos, pymes y grandes empresas del entorno GNU/Linux y últimamente compañı́as como Compaq (y tal vez IBM) inician en los EE.UU. programas de servicio técnico 24h, 365 dı́as al año. ∗ La disposición del código fuente permite a la empresa atacar los hipotéticos problemas con sus propios recursos, bien sea solucionando ’bugs’ o bien añadiendo o extendiendo funcionalidades de las aplicaciones. Esto no es posible en entornos comerciales sin una penalización temporal o económica, o aún ambos, normalmente inabordable. 4 Caracterı́sticas técnicas de GNU/Linux: • Clónico Unix, cumple ’de facto’ las normas POSIX e incorpora funcionalidades de la familia System V y de BSD. • Portabilidad: – versiones estables: Alpha, i386, M68K, MIPS, PowerPC, Sparc, Sparc64, ARM y S390.. – versiones en desarrollo: además PA-RISC, VAX, API 1000+, CL-PS7110 e incluso 80286 y 8086. – compatibilidad a nivel de código fuente ANSI C, Java, C++, Fortran77, ADA, Pascal, etc. • Compatibilidad: – compatible ELF a nivel binario en plataformas i386; – compatibilidad binaria parcial con SCO (iBCS); • Conectividad: – sistemas de archivos extfs2, fat16, fat32, vfat, aafs, hpfs, ntfs, ufs, ISO-9660, ncp, SysV, ufs, romfs, Xenix, Minix. – protocolos de red: TCP/IP, IPX/SPX, Frame Relay, RDSI, NetBEUI, AppleTalk, Midi, AX25, ArcNet, Token Ring, SMB (redes Windows) y Gigabit Ethernet. – Funcionalidades TCP/IP: encaminador, cortafuegos, servidor de túneles, enmascaramiento, proxy; IP6 – periféricos: IDE, ATAPI, SCSI, Zip, Jazz, scanners, tarjetas multipuerto, Ethernet, ratones, unidades de cinta, tarjetas gráficas y en general casi todos los periféricos más consumidos del mercado y otras nuevas tecnologı́as en desarrollo: tarjetas de telefonı́a y USB. 5. Aplicaciones disponibles: 3 • Otras funcionalidades: – 32 y 64 bits de longitud de palabra, memoria virtual, multitarea, multiusuario, multihilo, núcleo modular, RAID (software y hardware, con facilidades de replicación, etc), SMP; – en avanzado estado de desarrollo, por ejemplo: clustering, volúmenes, sistema de ficheros jerárquicos, ejecución de aplicaciones DOS y Win16/32 a través de aplicaciones externas, etc. • entorno de desarrollo compuesto principalmente por el conjunto de aplicaciones GNU, que es el más potente y portado del mundo (forma parte del paquete de pruebas de rendimiento SPEC): GCC, G++, GDB, Glibc, Gnat, Emacs, etc. – lenguajes de desarrollo: ANSI C, ANSI C++, Java, Ada95, Fortran77, Lisp, Tcl/tk, Perl, Python, Pascal, Objetive C, Scheme, Dylan, Modula 2-3, Oberon, sh, csh, ksh, bash, tcsh, ensamblador, etc... – gran cantidad de documentación: ∗ biblografı́a clásica sobre Unix y sistemas abiertos; ∗ estándares oficiales; ∗ estándares industriales bajo licencia; ∗ estándares industriales abiertos (RFC , etc); ∗ proyecto de documentación internacional (libre disposición): · páginas de manual, faq, guı́as rápidas y manuales completos; · gran cantidad de documentación en inglés y en otra decena de idiomas; entre todos, el español ocupa un cuarto lugar en cuanto a material publicado; • Motores gráficos: – SVGAlib – GGI, en desarrollo – FrameBuffer, incluido en el núcleo Linux. – XFree86: ∗ implementación libre del protocolo X ; ∗ multiplataforma; ∗ cliente/servidor ; ∗ plena operatividad en red; ∗ extremadamente flexible ; ∗ paquete de desarrollo; ∗ libertad de elección de gestores de ventanas y de interfaces de usuario: · gestores de ventanas: twm, fvwm, AfterStep, Enlightmen y Sawmill ; · entornos de usuario: OpenLook, Motif, GNUStep, CDE, KDE, Gnome. 5 Aplicaciones disponibles: • Otras aplicaciones GNU. • Aplicaciones BSD. • Otras aplicaciones Unix/internet cliente/servidor . 6. GNU/Linux hoy dı́a 4 • En general, casi todo el software libre *IX ha sido portado a Linux con importantes aportaciones desde el mundo universitario: herramientas documentales, IA, ingenierı́a, bases de datos, CASE, fotocomposición, visualizadores y editores gráficos. • Desde que estuvo lista la compatibilidad ELF e iBCS está disponible toda la oferta comercial de productos *IX para la plataforma Intel. Llegado un punto se ha creado una masa crı́tica de aplicaciones y usuarios que abre nuevas perspectivas con las siguientes consecuencias: • nuevas aplicaciones libres para nuevas soluciones: retoque fotográfico, edición de sonido, herramientas multimedia, aplicaciones de gestión y un extensı́simo etcétera de aplicaciones de usuario final (frente a las clásicas aplicaciones de sistema); • nuevos entornos gráficos de usuario que homogeneizan el desarrollo de nuevas aplicaciones añadiendoles funcionalidades de interoperación (CORBA, por ejemplo): GNUStep, KDE y Gnome; • nuevas versiones nativas de aplicaciones y backends existentes en la plataforma ELF/iBCS y resto de unixes: desde el Wordperfect de Corel/Borland hasta los SGBD relacionales Interbase, Sybase, Adabas, DB/2, Informix y Oracle pasando por Lotus Notes y Websphere además de herramientas de desarrollo comerciales como Jbuilder, VisualAge for Java, Codewarrior y Codefusion ; • aparición de nuevas suites de oficina de alta calidad: ApplixWare y StarOffice con el anuncio de la Wordperfect Suite al completo. 6 GNU/Linux hoy dı́a 6.1 Contras: • A pesar de su eficacia, GNU/Linux no es lo último en tecnologı́a. • No cuenta con herramientas, o se encuentran en un estado inicial de su desarrollo, de Misión Crı́tica (H.A.) y otras funcionalidades de muy alta tecnologı́a tı́picas de grandes servidores. • La base de aplicaciones de oficina y productividad aún está en crecimiento. • La base de aplicaciones de gestión tampoco es muy grande. • En España todavı́a la empresa y la administración se ha resistido a hacer público que para sus soluciones hacen uso de GNU/Linux por entender que puede ir en contra de la imagen corporativa. • En España la base de desarrolladores ha sido mediatizada por la mercadotecnia de Microsoft o ha realizado grandı́simas inversiones en la plataforma Win32/WinNT que hay que amortizar. • En España aún no se entienden completamente o siquiera se conocen los conceptos que respaldan el movimiento del software libre ni las ventajas ni oportunidades que ofrecen. 6.2 Pros: • A pesar de que no es lo último en tecnologı́a, GNU/Linux es eficacı́simo. • GNU/Linux es una potentı́sima plataforma que opera con un rendimiento igual o superior a otras alternativas sobre mismas plataformas. 7. El mercado de GNU/Linux 5 • Es escalable, desde viejos i386 (o incluso 8086 y 80286 empotrados) hasta sistemas multinodo compuestos por cientos de CPU. • Recorta gastos: – es económico aun adquiriéndolo comercialmente; – funciona con hardware muy barato (PC compatible); – por su estabilidad el coste de operación es menor; – reutiliza eficazmente equipos que de otra forma serı́an obsoletos (pecés antiguos, viejas estaciones Sparc, etc). • Es adecuado a diferentes ámbitos de aplicación: estaciones de trabajo, network computers, servidores en redes heterogéneas, servidores internet, servidores de bases de datos, granjas de servidores para sı́ntesis de imágenes o cálculo matemático, etc. • Es lo suficientemente seguro como para asumir algunas aplicaciones crı́ticas (hospitales, bancos, vigilancia, etc). • Es la única plataforma *IX cuya presencia en el mercado ha aumentado en los años 97, 98 y 99. • Es el único sistema operativo, junto con Windows NT, cuya presencia en el mercado ha aumentado en los tres últimos años. • Tiene una base de usuarios, contabilizada, de más de siete millones en todo el mundo. Este dato merece ciertas consideraciones: – los estudios de los que se parten están algo anticuados; – en el cómputo sólo se contemplaron las ventas de cdrom, dada la disposición en Internet y a la cantidad de distribuciones GNU/Linux que no son comerciales, esta cifra se considera claramente a la baja; – al ser usado principalmente como servidor este dato debe ser comparado dentro de esa gama, donde la cifra adquiere mucha más importancia; – por ejemplo, el 20% de los servidores conectados a Internet son GNU/Linux. • Cuenta con una cantidad aplicaciones y servicios comerciales que crece dı́a a dı́a (y no es una exageración) y cada vez son menos las grandes empresas de la informática que aún no han inaugurado su catálogo GNU/Linux: Dell, Sun, IBM, Hewlett Packard, SGI, Compaq, SCO y Corel/Borland. 7 El mercado de GNU/Linux • La comunidad de usuarios ya existente que, con crecimientos anuales entre el 100% y el 200% según consultores externos y nada comprometidos, está formada por usuarios que la prefieren por motivos objetivos o puramente subjetivos. • Las cifras de instalaciones de servidores en todo el mundo crecen vertiginosamente. Según datos de IDC: – Totales: +24% en 1999 (1998: +37%, 1996: +73%); – NT: +23,6% (1998: +37%, 1997: 73%); – Unix: +1,4% (Solaris +19,2%); – Netware: +5,9%; 8. GNU/Linux en el futuro más cercano 6 – GNU/Linux: la niña bonita de los sistemas operativos del 99: 93% de crecimiento y un 23% de presencia en el mercado; – otros datos: en el 98 GNU/Linux creció un 212% con una presencia del 15,8%. • Migración de aplicaciones obsoletas (Euro, Y2K , Internet,C/S ) basadas en redes y servidores no Windows (Novell, SCO/XENIX, Theos, etc). • Aplicaciones verticales. • Cajas negras. • Aplicaciones donde Windows NT no opera satisfactoriamente: – servidores conectados a redes heterogéneas; – servidores Internet; – servidores de red (Novell, SMB, NFS, etc); – servidores de bases de datos. 8 GNU/Linux en el futuro más cercano • Los analistas ven en GNU/Linux a la única plataforma capaz de hacer frente a la hegemonı́a de Windows NT en los próximos 5 años. • La mayorı́a de las compañı́as Fortune 500 abandona sus prejuicios y hará un uso creciente de la plataforma siempre que lo encuentre adecuado. • Casi todas las grandes compañı́as de soft/hard Unix (y otras como Apple) promocionarán GNU/Linux por los siguientes motivos: – diversificación de la oferta de ss.oo. para sus plataformas (Sun, Apple, Digital/Compaq); – ofrecer escalabilidad Unix hacia abajo completando sus propias gamas con pecés con GNU/Linux (Sun, SGI, Digital/Compaq); – difusión de la filosofı́a Unix, aumento de las aplicaciones Unix susceptibles de ser portadas a sus plataformas, formación de profesionales Unix que puedan optar por sus plataformas para aplicaciones con requerimientos muy exigentes. • Sun además ve en GNU/Linux una plataforma adecuada para la difusión de Java. • Intel apoyará GNU/Linux como una forma de diversificar la oferta de ss.oo. para su plataforma, como apoyo a la futura plataforma Merced y para distanciarse un tanto de sus alianzas con Microsoft, especialmente con vistas a los posibles procesos anti-trust. • Compañı́as como Corel apuestan su viabilidad futura en un mercado virgen. Otras grandes compañı́as aumentarán sus catálogos completando las ofertas empezando con sus productos estrellas. • Una vez desarrolladas aplicaciones o servicios sobre GNU/Linux será fácil portar a otras plataformas *IX (nuevos mercados, escalando los actuales servicios) o al menos más fácil que migrar aplicaciones que se han quedado grandes desde plataformas WinNT a otras más potentes. 9. GNU/Linux a muy largo plazo 9 7 GNU/Linux a muy largo plazo Es imposible predecir con exactitud cómo habrá evolucionado la plataforma GNU/Linux en más de diez años. Por deporte podrı́amos postular varias posibilidades: • segunda juventud del mundo Unix, liderada por GNU/Linux y secundada por los principales *IX (o los supervivientes), con una plétora de usuarios y aplicaciones (comerciales y no comerciales) frente a la plataforma NT; • evolución del núcleo con la incorporación de tecnologı́a de misión crı́tica apta para granjas de servidores; • evolución de los actuales entornos de usuario hasta una integración completa apta para estaciones de trabajo de usuario final y de altas prestaciones; • adaptación de todo el soft de aplicación, e incorporación de funcionalidades del propio núcleo, a un núcleo de nueva generación descendiente de la filosofı́a Unix. 10 Enlaces importantes: • Archivo de software libre <http://www.freshmeat.net> • Free Software Foundation <http://www.fsf.org> • Proyecto GNU <http://www.gnu.org> • Asociación de usuarios españoles de GNU/Linux <http://www.hispalinux.es> • Proyecto de documentación GNU/Linux en español <http://www.insflug.org> • <http://www.kernel.org> • Proyecto de documentación GNU/Linux en español <http://lucas.hispalinux.es> • <http://www.linux.com> • <http://www.linux.org> • <http://www.linuxhq.com> • Archivo de software libre <http://metalab.unc.edu/LDP/> • <http://www.openresources.com> • Noticiario y foro de discusión <http://www.slashdot.org> • <http://slug.hispalinux.es>