[imagen de un Brave GNU World]
Brave GNU World - Número 20
Copyright © 2000 Georg C. F. Greve <greve@gnu.org>
Permisos de copia al final.

Traducido por  Nicolás García-Pedrajas y Eloy Rafael Sanz-Tapia

[DE | ES | FR | JA | EN]

Bienvenido al Brave GNU World de Georg. Este mes tengo varios proyectos pequeños de muy distintos tipos. Empezaré con un lector de correo muy interesante.

Sylpheed

Sylpheed [5] es un lector de correo extremadamente fácil de usar, desarrollado por Hiroyuki Yamamoto y otros. El motivo por el que se inició el proyecto Sylpheed fue la falta de satisfacción con los programas existentes.

Los lectores de correo basados en Emacs tienen problemas con el manejo de los ficheros adjuntos, son muy grandes y requieren que emacs se esté ejecutando. Los otros programas de correo con interfaz gráfico tienen, en opinión del autor, un manejo que dificulta acostumbrarse a ellos, o no soportan series o hilos de mensajes (threads), o no se llevan bien con otros lectores, o tienen características no accesibles desde el teclado. Todo el que haya pensado así alguna vez puede que esté interesado en probar Sylpheed.

Las ventajas de Sylpheed son impresionantes. Está basado en GTK+ y tiene un interfaz muy intuitivo. Es muy importante su capacidad de filtrar el correo y mostrarlo en hilos de discusión. Por supuesto, soporta adjuntos MIME con múltiples partes y contiene un visor de imágenes integrado. Soporta X-Faces y se puede hacer clic sobre las URIs de los mensajes. Y, a pesar de estar basado en un interfaz gráfico, todo se puede hacer también desde el teclado.

Una característica muy positiva es la libreta de direcciones basada en XML, lo que garantiza su portabilidad y su disponibilidad para otras aplicaciones. Las carpetas de correo son portables también. Al guardarse en el formato MH pueden ser usadas por otros lectores de correo como Mew.

Además de todo esto, Sylpheed puede leer (pero no escribir) noticias de USENET y puede llamar a los programas fetchmail y procmail para obtener el correo. El correo saliente puede ser almacenado en una cola en espera de ser enviado.

Sylpheed es muy joven, así que la lista de cosas por hacer es aún bastante larga, e incluye soporte para IMAP4, LDAP, PGP/GPG, SSL, compresión de carpetas de correo y muchas cosas más. También hay trabajo por hacer en la localización inglesa, pero al estar basado en gettext esto no debería ser mucho problema. Los usuarios de Debian pueden instalar Sylpheed directamente desde la dirección indicada más abajo. El resto no tendrán problemas, ya que la compilación se basa en autoconf y automake.

Si no estás contento con tu lector de correo actual, deberías considerar probar este.

Xzgv

Xzgv [6] es un visualizador de imágenes para X11 que ha sido inspirado por la herramienta de consola zgv. Ha sido escrito por Russell Marks debido a que tenía predilección por el modo texto y no le gustaban los visualizadores existentes para X11. Su plan original era escribir una versión de zgv para X11 pero pronto descubrió que esto no proporcionaría los resultados que deseaba.

Xzgv puede controlarse completamente a través del ratón o del teclado y usa una única ventana para seleccionar y mostrar las imágenes, en contra del 'zoo de ventanas' que construyen otros visualizadores. Al haber sido escrito basándose en GTK+ con soporte para GNOME y KDE, puede usarse en cualquier sitio sin problema y tiene una buena capacidad de respuesta, además de ser muy usable.

El autor me pidió que destacara el hecho de que escribir un buen visualizador de imágenes no es una tarea trivial, como algunos parecen creer. Por supuesto que no es una cosa complicada 'mostrar una imagen'. Pero construir un visualizador que haga las cosas correctamente requiere resolver algunos problemas que no son obvios.

Xzgv está prácticamente terminado. Los planes para futuros desarrollos se centran en abandonar la librería Imlib 1.x y optimizar la visualización de imágenes muy grandes.

Al estar licenciado bajo la Licencia Pública General de GNU, lo puedo recomendar sin la más mínima duda.

Continuaré con un programa bastante especial que se ha unido recientemente al Proyecto GNU.

Solfege

Solfege [7] es un programa para entrenar tu oído. Éste área ha estado dominada por programas propietarios bajo MS Windows o MacOS. Solfege ha sido escrito por Tom Cato Amundsen, un profesor de música que comenzó el proyecto para usarlo en sus clases.

Una característica a destacar es que es extensible a través de 'ficheros de lecciones' escritos en texto ASCII. Todo el que tenga conocimientos sobre educación musical puede añadir fácilmente sus propias lecciones. De hecho, escribir más lecciones es una de las tareas que más se requieren ahora mismo en el proyecto.

A largo plazo, el autor querría reimplementar grandes partes del programa, ya que las soluciones actuales no le satisfacen. Agradecería mucho para esta tarea la ayuda de gente con experiencia en programación OSS.

También debo mencionar que la audiencia de este programa, estudiantes de música y otros interesados en entrenar su oído, no deberían esperar mucho de Solfege por el momento, ya que la versión 1.0 aún está lejos.

El próximo proyecto ha entrado en el Proyecto GNU y viene también del área educativa.

Ggradebook

Como sugiere en nombre en Inglés, Ggradebook [8] de Eric Sandeen, Hilaire Fernandes y varios otros voluntarios, es un programa para gestionar calificaciones.

Está basado en GTK+ y puede compilarse opcionalmente con soporte para GNOME. Ggradebook puede manejar calificaciones porcentuales, numéricas o alfabéticas. Las dos últimas pueden asociarse automáticamente con la primera y sus escalas son ajustables.

Un problema actual es que con los porcentajes y las calificaciones alfabéticas no se puede usar '+' o '-' para modificar la nota. Los planes para el futuro incluyen la creación de un filtro de importación y exportación para programas similares, la internacionalización y la adición de más características. Y aunque el interfaz actual permite acceder a todas las funciones, su sencillez de uso podría mejorarse.

La principal dificultad que los autores están afrontando ahora mismo es la falta de comentarios. Animo a todos los lectores interesados a que lo prueben y les cuenten lo que piensan.

Los siguientes tres proyectos son definitivamente más técnicos y orientados a los desarrolladores.

Common C++

Common C++ [9] comenzó a desarrollarse como el proyecto APE, de David Sugar. En marzo de 2000 se ha fundido con Common C++, de David Silverstone y el nuevo proyecto retuvo el nombre del segundo, preferido por David Sugar.

Básicamente el proyecto Common C++ comienza donde la librería ANSI Std de C++ termina. El objetivo es crear una librería de clases portable que proporcione funcionalidad para tareas como la abstracción de multihilo, los sockets, la E/S serie y la serialización de clases persistentes en sistemas Posix y Win32.

Gran parte de esta funcionalidad ya está disponible a traves de librerías independientes. Para David Sugar, la ventaja de Common C++ reside en la estructura consistente que se da a estas tareas. Además de ser muy portable, Common C++ usa librerías diferentes para cada subsistema, en lugar de incluirlo todo en una única librería. Esto hace posible escribir la librerías adaptadas a la máquina, lo que reduce la sobrecarga. Y las aplicaciones Common C++ se ejecutan sin problemas en ambas arquitecturas.

En lo concerniente a los compiladores es bastante tolerante y soporta algunos compiladores de C++ que no obedecen los estándares.

Como ya sabe la mayoría de los desarrolladores, cada implementación de Unix tiene su propia implementación de hilos que generalmente no se adapta al estándar. Para esto Common C++ proporciona una gran cantidad de comprobaciones durante la configuración con el fin de asegurarse de que la abstracción es correcta. Aunque aún no es capaz de cooperar con GNU Pth (Threads Portables de GNU, ver número 1 de Brave GNU World), sí debería ser capaz de trabajar con su emulación de hilos Posix. Está planeado ofrecer soporte nativo para GNU Pth en el futuro.

Actualmente está planeada una reescritura para la versión 2.0, que está prevista para otoño y eliminará anacronismos usados por compiladores de C++ antiguos. Adicionalmente se prevé soporte para más plataformas (BeOS) y en lo que se refiere a la funcionalidad se implementará una librería de protocolos de red. La falta de esta última es, en opinión de David Sugar, la mayor debilidad de Common C++ actualmente. A largo plazo Sugar espera adoptar un papel más administrativo, ya que este proyecto tiene una comunidad de desarrolladores muy activa. Merecen una mención especial, por su trabajo en la última versión, Henner Zeller y Gianni Marianni.

La licencia elegida para este proyecto es la Licencia Pública General de GNU, con algunas cláusulas añadidas similares a las de la licencia de Guile. Esto la coloca entre la GPL y la Licencia Pública General Reducida de GNU en lo tocante a derechos que se conceden. Dado que esto ha producido confusión en el pasado, la versión 2.0 probablemente se distribuya bajo la LGPL.

A fecha de abril de 2000, Common C++ es un proyecto GNU oficial, lo cual es lógico ya que es la base de otros proyectos de Software Libre como Bayonne (ver el número 16 de Brave GNU World).

GNU marst

GNU marst [10] es un programa de Andrew Makhorin que traduce Algol a C y ha sido añadido recientemente al Proyecto GNU.

El proyecto implemente completamente el lenguaje de programación Algol 60, basándose en el "Modified Report on the algorithmic Language Algol 60" [11]. Como este lenguaje no cambia casi nada, la tarea actual del autor es escribir un intérprete de órdenes que facilite el manejo al usuario. Si tienes programas libres en Algol 60 el autor está interesado en ellos.

Gengetopt

Como los anteriores, Gengetopt [12] es un nuevo proyecto oficial GNU. Es una herramienta original de Roberto Arturo Tena Sanchez, pero el responsable actual es Lorenzo Bettini. Su cometido es crear una función C que compruebe y analize automáticamente las opciones de línea de órdenes de un programa. Los resultados se devuelven en una estructura.

Es una herramienta muy útil para los programadores de C y C++, ya que simplifica el importante pero tedioso trabajo de analizar la línea de órdenes. El programador sólo tiene que especificar las opciones deseadas, indicar si son obligatorias u opcionales y si requieren parámetros. El código fuente C generado por gengetopt se añade al programa y una simple llamada a función valida y evalúa la línea de órdenes.

Siguiendo la tradición de Brave GNU World, me gustaría terminar discutiendo algo que no está directamente relacionado con el software.

OpenTheory

El proyecto OpenTheory de Stefan Meretz intenta transferir el espíritu y el funcionamiento del desarrollo de software libre al desarrollo de documentos. Todos los documentos están bajo la Licencia de Documentación Libre de GNU y se intenta albergar cualquier cosa desde documentación y libros hasta conceptos y documentos teóricos.

El sitio principal [13] ofrece un centro de coordinación manejado por un interfaz web que permite intercambiar ideas y pensamientos. Se pueden iniciar proyectos en línea y se pueden ofrecer documentos para su discusión. Todos los textos se transfieren en formato ASCII y se almacenan en una base de datos MySQL. Las páginas, extremadamente dinámicas, están hechas con PHP3.

Cada proyecto tiene su propia lista de correo que puede se accedida desde el interfaz web. Adicionalmente se pueden enlazar varios proyectos, y se pueden compartir sus listas.

Lo único que echa de menos Stefan Meretz ahora mismo es un interfaz para controlar por correo las funciones de OpenTheory. Por el momento no se pueden enviar documentos por correo electrónico.

El proyecto ya ha sido aplicado a tareas muy interesantes. El proyecto Oekonux (número 18 de Brave GNU World) se inició allí. Y se ha usado para discutir y mejorar las charlas que se ofrecieron en el LinuxTag en Stuttgart.

El proyecto OpenTheory en sí mismo (es decir, el software que proporciona su funcionalidad) está publicado bajo la GPL. Está en su versión 0.4, así que se invita a otros desarrolladores a que se unan a él.

Nos vemos...

Bien. Esto es todo por este mes. Con un poco de suerte tendré algo bastante especial para el mes próximo, aunque puede que se retrase otro mes. No prometo nada. :-)

Y como siempre me gustaría animaros a escribir con nuevos proyectos, ideas, preguntas y sugerencias [1].

Info
[1] Envía ideas, comentarios y preguntas a Brave GNU World <column@gnu.org>
[2] Página del Proyecto GNU http://www.gnu.org/
[3] Página del Brave GNU World de Georg http://www.gnu.org/brave-gnu-world/
[4] Iniciativa "We run GNU" http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] Página de Sylpheed http://sylpheed.good-day.co.jp/index.cgi.en
[6] Página de Xzgv http://rus.members.beeb.net/xzgv.html
[7] Página de Solfege http://www.gnu.org/software/solfege/
[8] Página de Ggradebook http://www.gnu.org/software/ggradebook/
[9] Página Common C++ http://www.commoncpp.cx/
[10] Página de GNU marst http://www.gnu.org/software/marst/
[11] Modified Report on the Algorithmic Language Algol 60. The Computer Journal, Vol. 19, No. 4, Nov. 1976, pp. 364-79
[12] Página de Gengetopt http://www.gnu.org/software/gengetopt/
[13] Página de OpenTheory (parcialmente en alemán) http://www.opentheory.org

[ número anterior | Página de Brave GNU World | número siguiente ]

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.

Se concede Permiso para realizar y distribuir copias literales de esta transcripción siempre  que aparezcan el copyright y esta nota de permiso.

Last modified: Sat Sep 23 18:39:55 CEST 2000