Linux, una apuesta libre
5may99
Una breve introducción al sistema operativo GNU/Linux y al
extraordinario mundo del software libre.
Nexus 99, Universidad Politécnica de Valencia 5/5/99
Este documento se acoje a los términos de la
GPL 2.0.
Podra encontrar una copia de este documento en
http://LuCAS.HispaLiNUX.es/Presentaciones/conf-olea-nexus99.tgz, dentro del proyecto de documentación LuCAS.
- 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
- 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:
- 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.
- 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, M68*, MIPS, PowerPC, Sparc.
- versiones en desarrollo: además ARM, UltraSparc, PA-RISC, VAX, API 1000+, CL-PS7110 e incluso 80286 y 8086.
- compatibilidad a nivel de código fuente ANSI C, C++, Fortran77, ADA, Pascal, etc.
- Compatibilidad:
- compatible ELF a nivel binario en plataformas i386;
- compatibilidad binaria con SCO (iBCS);
- Conectividad:
- sistemas de archivos extfs2, fat16, fat32, vfat, aafs, hpfs, ntfs, ufs, ISO-9660, ncp, SMB, SysV, ufs, romfs, Xenix, Minix.
- protocolos de red: TCP/IP, IPX/SPX, Frame Relay, RDSI, NetBEUI, AppleTalk, Midi, AX25, ArcNet, Token Ring.
- Funcionalidades TCP/IP: encaminador, cortafuegos, servidor de túneles, enmascaramiento, proxy,
- 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.
- Otras funcionalidades:
- 32 y 64 bits de longitud de palabra, memoria virtual, multitarea, multiusuario, multihilo, núcleo modular;
- en avanzado estado de desarrollo, por ejemplo: SMP, clustering, RAID, replicado (mirroring), 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 kit 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
- XFree86:
- implementación libre del protocolo X ;
- multiplataforma;
- cliente/servidor;
- plena operatividad en red;
- extremadamente flexible ;
- kit de desarrollo;
- libertad de elección de gestores de ventanas y de interfaces de usuario:
- gestores de ventanas: twm, fvwm, AfterStep, Enlightmen;
- entornos de usuario: OpenLook, Motif, GNUStep, CDE, KDE, Gnome.
- Otras aplicaciones GNU.
- Aplicaciones BSD.
- Otras aplicaciones Unix/internet cliente/servidor.
- 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 hasta los SGBD relacionales Interbase, Sybase, Adabas, DB/2, Informix y Oracle pasando por Lotus Notes;
- aparición de nuevas suites de oficina de alta calidad: ApplixWare y StarOffice con el anuncio de la Wordperfect Suite al completo.
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 y otras funcionalidades de muy alta tecnología típicas de grandes servidores.
- La base de aplicaciones de oficina y productividad aún no es grande.
- La base de aplicaciones de gestión tampoco es muy grande.
- En España todavía la empresa se resiste a hacer público que para sus soluciones hace uso de GNU/Linux por entender que va 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.
- 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.
- No funciona en un mainframe (aunque algo están preparando :-)
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.
- 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 y 98.
- Es el único sistema operativo, junto con Windows NT, cuya presencia en el mercado ha aumentado en los dos últimos años.
- Tiene una base de usuarios, contabilizada, de más de siete millones en todo el mundo. Este dato merece ciertas consideraciones:
- 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.
- 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.
- 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.
- 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.
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.