Traducido por Nicolás García-Pedrajas y Eloy Rafael Sanz-Tapia
Bienvenido a Brave GNU World. Comenzaré esta edición con una ampliación del tema de Java y GNU del mes pasado que claramente merece un apartado propio.
gcj
Tom Tromey de Cygnus [5] contactó conmigo por correo para informarme sobre los avances de gcj [6]. Gcj es un 'frontend' Java para gcc [7], que se ha integrado con egcs hace poco. Gcj procesa tanto código fuente Java como bytecode y, además de crear ejecutables, puede también generar ficheros de clases.
Gracias a gcj Java puede ya ser considerado como cualquier otro lenguaje de programación, y la compilación incrementa bastante las prestaciones. La implementación trata los objetos de C++ y de Java de la misma forma, de modo que puedan ser entrelazados fácilmente. Como ventajas adicionales destacan la extremada portabilidad (dado que está basado en gcc, que es muy independiente de la plataforma) y el hecho de que el depurador de GNU, gdb, ya ha sido modificado para usar programas compilados por gcj.
Por supuesto, el proyecto aún tiene algunos puntos débiles. El mayor problema es definitivamente la ausencia de AWT y Swing, seguido por la imposibilidad de trabajar con clases comprimidas y con las extensiones de JDK1.1 . La prioridad máxima es hacer que gcj sea compatible con JDK 1.1 y JDK 1.2, y la inclusión de herramientas gráficas (GUI). Pero esto no tardará demasiado; ya hay rumores sobre un AWT basado en GTK+.
Por el momento, cinco personas de Cygnus y tres colaboradores de la red están trabajando en gcj. Por cierto: cuando me dijo esto, Tom Tromey subrayó el hecho de que los colaboradores de la red desarrollaron partes muy importantes del trabajo; uno de ello, por ejemplo, ha escrito el intérprete.
El siguiente proyecto está también más o menos en reino de los desarrolladores, pero puede ser también interesante para los usuarios 'normales' a quienes les guste mirar detrás del telón.
GNU Pth
Diseñado por Ralf S. Engelschall, GNU Pth [8] significa GNU Portable Threads (Hilos Portables de GNU), y es una biblioteca de funciones para multihilo no apropiativo basado en prioridades sobre sistemas UNIX. Hasta ahora prácticamente todas las implementaciones tenían serios inconvenientes; o no se ajustaban completamente al estándar POSIX, o eran muy específicas de la plataforma o, muy a menudo, ambas cosas. Esto motivaba que muchos programadores no usasen hilos para así obtener una mejor portabilidad.
La prioridad en el desarrollo de GNU Pth es la independencia de la plataforma. Este objetivo se trata de lograr evitando el código ensamblador y los trucos específicos para la plataforma. Además, sólo se han usado funciones disponibles en los derivados de UNIX. No se han considerado ni siquiera las funciones de la especificación Unix95/98. La segunda prioridad es la completitud. La mayoría de las implementaciones de hilos (por ejemplo, Linuxthreads) son sólo realizaciones incompletas del estándar POSIX sobre hilos. Ahora mismo la implementación de GNU Pth es ya más completa que la nativa de FreeBSD, uthread, y está planeado que GNU Pth cubra los estándares de memoria compartida, que no han sido realizados por ninguna otra implementación.
Unos cuantos detalles para los desarrolladores que nos estén leyendo: GNU Pth está basado completamente en C ANSI y hace un mapeado M:1 en el espacio de usuario. Esto significa que el núcleo sólo ve un proceso, independientemente del número de hilos que tenga el programa.
Actualmente, la versión 1.1 de GNU Pth ya ha pasado algunos tests de prestaciones con resultados muy satisfactorios: es servidor multihilo pftpd, de Peter Erikkson, se ejecutó sin problemas y una versión experimental de Apache (Apache/MPM) respondió muy bien a cargas elevadas. Gracias a GNU Pth, Apache/MPM (MPM significa Multi Process Model, modelo multiproceso) puede ser usado en muchas plataformas, aunque no soporten hilos POSIX de forma nativa.
Continuaré con otro proyecto que Ralf S. Engelschall ha añadido a GNU este año.
GNU Shtool
GNU Shell Tool [9] es un conjunto de guiones shell (shell scripts) pequeños, estables y muy portables agrupados en una sola herramienta.
Actualmente, a mucha gente le gusta usar GNU Autoconf [10] y GNU Automake para la configuración e instalación automática de paquetes de software. Durante este proceso al menos, la instalación depende fuertemente de una gran cantidad de guiones shell cuya principal función es proporcionar ciertas funciones no disponibles en algunas plataformas. Esto conduce a un zoo de pequeños guiones, cada uno en un sitio diferente. GNU Shtool trata de resolver los problemas de mantenimiento y distribución resultantes. Su propósito es servir como 'caja negra' que proporcione los medios para realizar varias tareas del shell en un árbol de directorios. Esto lo hace un buen complemento de GNU Libtool [11], que simplifica la creación de bibliotecas compartidas.
Todo el mundo debería leer la siguiente parte porque la importancia de la criptografía con respecto al software libre es muy importante.
GnuPG
Durante bastante tiempo Werner Kovh ha estado trabajando en el GNU Privacy Guard [12], un sustituto libre de PGP con varias ventajas. Otras personas implicadas en el proyecto son Michael Roth, Rémi Guyomarch, Matthew Skala y muchas más. Después de un largo período de desarrollo y prueba la versión 1.0 ha sido finalmente publicada a principios de este septiembre.
¿Por qué deberías pasarte a GPG? Primero de todo GPG ha sido desarrollado en Alemania, por eso las restricciones de exportación de EE.UU. no son aplicables; la lenta e inconveniente impresión, envío por correo y escaneado se evitan. GnuPG se ciñe al estándar Open PGP (RFC2440) y no utiliza ningún algoritmo con restricciones de patente. Los algoritmos nativos utilizados por GPG son DSA y ElGamal para la clave pública y 3DES, CAST5, Blowfish y Twofish para el cifrado simétrico. Además es muy fácil incluir otros módulos de cifrado en GnuPG en caso de que haya necesidad de más.
Claramente la mayor ventaja es el hecho de que GnuPG es Software Libre. Esto no significa sólo que las firmas pueden utilizarlo sin coste; más importante aún es el hecho de que la confianza que se puede depositar en él es mucho mayor si se compara con el software no libre.
Existe también un grupo bastante grande de aplicaciones alrededor de GPG. El mismo Werner Koch está trabajando en una biblioteca GNU de criptografía y en la Iniciativa GNU de Transporte Seguro, un sustituto libre para SSH v2. Sus planes para el siguiente ciclo de desarrollo también incluyen almacenar las claves privadas en un demonio que puede ser incluido en un "hardware token" si es requerido.
Brian Warner escribió el "Entropy Gathering Dameon" (EGD) que permite crear buenos números aleatorios en sistemas como Solaris o HP. El programa pgpgpg de Michael Roth permite traducir parámetros de la línea de PGP a GPG para permitir a los programas antiguos utilizar GPG sin modificaciones. El también trabaja en "Privacy Guard Glue (PGG), una biblioteca de alto nivel para GnuPG.
Una buena parte de los programas de correo soporta ya GPG y existen ya frontends para GNOME, KDE y Tcl/Tk, por ello cambiarse a GPG no debería causar ningún gran problema. Otro hecho interesante es que nunca habrá restricciones por parte del gobierno alemán a GPG.
El siguiente proyecto procede del área de gestores de listas de correo.
Mailman
Mailman [13] es un gestor de listas de correo que fue escrito originalmente por John Viega en Python. El círculo de desarrolladores creció hasta convertirse en el "Mailman Cabal" cuando se unieron Barry Warsaw, Harald Meland, Ken Manheimer y Scott Cotton.
A pesar de que esta puede parecer un área bien cubierta con programas de mucho uso Mailman merece con toda seguridad un vistazo. Aparte de las características usuales, todo puede ser administrado mediante un interface web, tiene protección anti-spam incorporada y gateway integrado de correo a listas de noticias. También permite varios administradores o moderadores en una lista y los resúmenes, que a tanta gente le gustan, pueden ser enviados en formato MIME. Todos los administradores de listas que se encuentren estresados deberían considerar sin duda echarle un vistazo.
Antes de finalizar la columna de este mes me gustaría comentar unas cuantas cosas.
Este es el final...
Primero de todo parece que las razones para usar la nomenclatura GNU/Linux han ganado peso dado que Amiga ha anunciado que creará otro sistema operativo basado en el núcleo de Linux. Aparentemente este sistema no será libre. Además del hecho de que creo que este es un paso atrás en la evolución, esto muestra que nuestro sistema debe llevar un nombre distinto para hacer visible la diferencia. Esto hace que GNU/Linux parezca aún una mejor elección.
También me gustaría agradecer a todos las respuestas positivas tras la introducción de la iniciativa "We run GNU" [4]. Durante las dos últimas semanas no ha habido un día en el que no haya tenido que actualizar la página web porque otra imagen haya sido enviada - esto era lo que yo esperaba. :-) Esta vez quiero dar las gracias especialmente a Stefan Kamphausen que ha creado el logo de más arriba.
Finalmente, estoy buscando voluntarios. A finales de octubre se celebrará en Munich (Alemania) "Systems" con un gran "Linux-Park". En esta ocasión estará dando una charla sobre el Proyecto GNU el miércoles y un stand GNU/Debian/GNOME está planeado y todavía necesita voluntarios para vigilarlo un día o dos.
Todo al que le gustaría ayudar y por supuesto todas las ideas, comentarios, preguntas y peticiones deberían ir a la dirección de correo electrónico de abajo [1].
Info |
[1] Envía ideas, comentarios y preguntas a Brave GNU World <column@gnu.org>
|
Volver a Página de GNU.
Por favor envía las preguntas y peticiones de información acerca de FSF y GNU gnu@gnu.org. También hay otras formas de contactar con la FSF.
Por favor envía los comentarios sobre la columna Brave GNU World a column@gnu.org, envía los comentarios sobre estas páginas web a webmasters@www.gnu.org, envía otras preguntas a gnu@gnu.org.
Copyright (C) 1999 Georg C. F. Greve, versión en Alemán publicada en Linux-Magazin
Se concede Permiso para realizar y distribuir copias literales de esta transcripción siempre que aparezcan el copyright y esta nota de permiso.
Actualizado: Last modified: Fri Sep 10 20:06:14 CEST 1999