Subscribe to the Free Software Supporter — the monthly update from the Free Software Foundation
 [imagen de un Brave GNU World]
Brave GNU World - Número 25
Copyright © 2001 Georg C. F. Greve <greve@gnu.org>
Traducción al Español por N. García-Pedrajas, D. Fernando Marín y E. Sanz-Tapia.
Permisos de copia al final.

Traducido por  Nicolás García-Pedrajas, Diego Fernando Marín y Eloy Rafael Sanz-Tapia

[DE | EN | FR | JA | ES | KO | PT]

Bienvenido a otro número del Brave GNU World de Georg. Este mes comenzaremos con un proyecto que busca llevar el proyecto GNU al mundo Apple.

GNU-Darwin

El proyecto GNU-Darwin [5] trabaja en portar el sistema GNU hacia Darwin [6], la base del sistema propietario MacOS X. Darwin por si mismo esta basado en FreeBSD y Mach 3.0, y actualmente funciona en arquitecturas basadas en PowerPC. Sin embargo, Apple esta trabajando en portarlo a arquitecturas Intel. Así que después de GNU/Linux y GNU/Hurd, habrá un tercer sistema disponible basado en GNU.

Una característica muy interesante del sistema GNU-Darwin es ser capaz de ejecutar aplicaciones Macintosh junto a los bien conocidos programas de Unix. Esto permitirá una comparación directa entre los programas Macintosh y los basados en GNU, algo que había sido imposible antes. Así que esta característica hace encajar muy bien a GNU-Darwin en estructuras híbridas de Mac/Unix, y al portar SAMBA hacia GNU-Darwin, las redes heterogéneas con Mac/Unix/Windows serán más fáciles de implementar.

Por supuesto que el principal uso de GNU-Darwin no es ser capaz de correr software propietario. En su lugar será crear otro puente entre la plataforma Macintosh y el Software Libre con lo que el usuario rápidamente se dará cuenta que hay mas Software Libre para su computador que software propietario. El desarrollo de software sobre GNU-Darwin esta mejor orientado hacia la interoperabilidad con el MacOS X, así el Software Libre podrá llegar también a este mundo.

La gran cantidad disponible de Software Libre basado en Unix, y las capacidades únicas para estructuras heterogéneas y desarrollo paralelo son los argumentos fuertes para GNU-Darwin contra el MacOS X.

Por otro lado, GNU-Darwin ofrece varias ventajas sobre el proyecto LinuxPPC, lo cual es la razón de porque la migración de usuarios hacia GNU-Darwin puede ser vista. Primero que todo GNU-Darwin esta (como GNU/Hurd) basado en un microkernel lo cual le da capacidades que el kernel de Linux no puede igualar. Además el soporte para el hardware es hecho por Apple mismo, pues también es la base para el MacOS X. Así que se espera un mejor soporte para hardware aquí.

Pero no todo es mejor. Aunque las contribuciones del proyecto GNU-Darwin son por supuesto liberadas bajo la Licencia Publica General GNU, Darwin mismo ha sido liberado por Apple bajo la Licencia de Fuente Publico Apple (APSL). En la versión 1.1 esta licencia no califica como Software Libre por tres razones importantes [7].

Primero que todo, esta prohibido hacer cambios para uso personal sin hacer estos cambios públicos. En percepción del proyecto GNU, el derecho a cambiar las cosas para uso personal esta solamente relacionado de cerca con el derecho a la privacidad; por esto el GPL fue diseñado para permitir esto.

Mas aun, el desarrollador y el usuario no científico de una versión modificada estarían forzados a reportarse con una institución especifica (en este caso Apple). Este control central esta en directa contradicción al pensamiento del Software Libre.

Y finalmente, hay una cláusula de negación de responsabilidad, que permite a Apple terminar la licencia y detener el uso posterior del software a cualquier momento, si un reclamo de patentes o copyright es hecho en contra de Apple. Esto hace que cada usuario en este planeta dependa del muy problemático sistema de patentes de U.S.

La versión 1.2 del APSL ha sido liberada en Enero del 2001, y resuelve una gran parte de los problemas - sin embargo, la restricción sobre las modificaciones privadas y el irrespeto a la privacidad permanecen.

Así en el camino, el APSL va paso a paso hacia la dirección del NPL el cual es en definitiva una licencia de Software Libre, aunque permite la propietarizacion del código fuente.

Aunque el APSL finalmente llegara al punto del NPL, seria menos que satisfactorio pues probablemente seria todavía incompatible con la licencia de Software Libre más usada, la GPL.

La situación es comparable a la de KDE hace algunos años, pues es sobre un proyecto de Software Libre construido sobre unos débiles fundamentos, y por lo tanto en peligro de ser "cortado a las rodillas" por un asunto legal. Por esto, el proyecto GNU-Darwin fija una posición para liberar Darwin bajo la Licencia Publica General GNU. Especialmente para este trabajo de defensa, Michael L. Love, uno de los participantes de GNU-Darwin ha pedido soporte por parte de la comunidad. A los ojos del proyecto GNU-Darwin, GNU-Darwin solo será verdaderamente libre, una vez Darwin sea GPL.

Los actuales asuntos técnicos son portar mas paquetes a GNU-Darwin, y la creación de una distribución en CD. A largo plazo esta planeado poner las habilidades especiales de GNU-Darwin en buen uso.

Como el equipo actualmente consiste de solo seis programadores activos, hay un amplio campo de posibles actividades de interés para que las personas escojan. Especialmente desarrolladores con experiencia en Mozilla, SDL, GNOME y soporte de Audio (ALSA) serán recibidos con los brazos abiertos.

De paso, el origen de GNU-Darwin es el deseo de Michael L. Love de usar su Apple para Cristalografía de Proteínas, pues esa es su ocupación normal.

Lo cual me trae a un puñado de pequeños pero útiles proyectos.

get_file

Daniel E. Singer escribió get_file [8], un pequeño selector de ficheros escrito para el shell de Bourne. Su utilidad será clara para cualquiera que haya intentado hacer que el usuario seleccione ficheros en un guión shell. Aunque su principal utilidad es ser llamado desde otros guiones, también se puede usar como herramienta de línea de órdenes.

Al estar escrito enteramente en el lenguaje de Bash no tiene que ser compilado y es fácil de adaptar. Adicionalmente tiene la capacidad de asociar secuencias de escape con ciertos objetos, puede cambiar el modo de los ficheros, ejecutar programas y tratar con comodines. También tiene ayuda en línea.

Aunque no sea muy eficiente por ser un guión shell, este proyecto puede ser muy útil para soluciones rápidas.

GNU GLOBAL

GNU GLOBAL [9] es un sistema de etiquetado de código fuente que facilita la tarea de administrar y referenciar código fuente. Ha sido escrito por Shigio Yamaguchi, que lo publicó bajo la Licencia Pública General de GNU, lo que facilitó su integración como proyecto oficial de GNU.

Cuando hay grandes cantidades de código fuente 'plano' distribuído en varios directorios, se hace difícil mantenerlo. Con GNU GLOBAL un usuario puede referenciar código fuente C, C++, Yacc y Java desde la línea de órdenes, less, nvi, elvis Emacs o un navegador web. Esto facilita la gestión de un proyecto mucho, especialmente en proyectos grandes.

GNU GLOBAL tiene un conjunto de características bastante impresionante. No sólo localiza definiciones de objetos, sino también referencias. Busca en la ruta de las bibliotecas, entiende expresiones regulares POSIX, usa un formato comprimido para ahorrar espacio en disco... Aunque no todos los problemas están resueltos.

El principal problema actual es el hecho de que la detección de tipos de datos y de definiciones de macros no funciona aún de forma completamente automática. Hacer que funcione así es uno de los principales objetivos del desarrollo. También se tiene planeado soportar más lenguajes y editores.

Dado que la versión CVS actual de GNU automake ya tiene un objetivo para generar GTAGS (el formato de fichero de etiquetas usado por GNU GLOBAL), es de esperar que GNU GLOBAL será muy fácil de usar el el futuro cercano.

El siguiente proyecto tiene un objetivo similar pero un enfoque diferente.

HeaderBrowser

HeaderBrowser [10] de Amaury Bouchard es también un proyecto para facilitar la documentación del código fuente. Ha sido desarrollado pensando en el HeaderViewer de sistema NeXT, que le gustaba mucho a Amaury. Así que decidió hacer una versión Unix mejorada.

Similar a GNU GLOBAL, HeaderBrowser elimina la estrucutra 'plana' del código fuente y crea una documentación navegable de la API de un programa mediante el procesado de los ficheros de cabecera. Actualmente HeaderBrowser soporta C y C++ como lenguajes y tiene generadores de salida HTML, Texinfo y man.

Los planes para el futuro incluyen la adición de navegación alfabética, y un usuario sugirió la creación de una herramienta que analice los ficheros de cabecera y cree comentarios vacíos que sólo tengan que ser rellenados por el desarrollador. Dada la relación bastante tensa que tienen muchos desarrolladores con la documentación, esto podría mejorar la calidad de muchos programas.

La licencia usada para HeaderBrowser es la Licencia Pública General de GNU y toda la documentación está liberada bajo la Licencia de Documentación Libre de GNU (FDL), así que el programa es absolutamente libre.

GNUTLS

GNUTLS [11] es un proyecto bastante joven cuyo objetivo es implementar una biblioteca de seguridad en la capa de transporte (TLS, transport layer security) bajo licencia GNU GPL. Esta bibliotecta permitirá acceder a las capas SSL 3.0 y TLS 1.0 y facilitará a los programadores la tarea de añadir una capa de seguridad a sus programas.

Actualmente, GNUTLS es inferior a la biblioteca OpenSSL, ya que no ha sido probada completamente y no se ha usado en la vida real. Pero el diseño de GNUTLS acepta hilos (es thread-safe) y su interfaz es mucho más sencillo. Además es bueno tener una implementación de TLS en el Proyecto GNU que sea claramente compatible con la Licencia Pública General.

En este momento GNUTLS no está lista para su uso diario. Aún falta un analizador ANS.1 para certificados x509, aunque esto no va a durar mucho ya que el autor actual, Nikos Mavroyanopoulos, está trabajando en ello. Dado que el otro desarrolador, Tarun Upadhyay, tuvo que dejar el proyecto por problemas de tiempo, se necesita ayuda con urgencia.

Otros objetivos del desarrollo son la implementación de las extensiones especificades en el borrador "Wireless Extensions to TLS" y el soporte OpenPGP, algo que no tiene ninguna otra implementación de TLS. Por razones obvias, GNUTLS está basado en libgcrypt, la biblioteca del Proyecto GNU Privacy Guard, de Werner Koch, que es bien conocido por el soporte que le ha dado el gobierno Alemán.

Llego ahora a un proyecto de importancia capital para todos nosotros.

GNU.FREE

El proyecto "Free Referenda & Elections Electronically" (Referéndums y Elecciones Electrónicos Libres) [12], iniciado en la Universidad de Warwick (EEUU) y actualmente mantenido por Jason Kitcat, ha sido convertido en proyecto oficial GNU hace poco. Su objetivo es crear un sistema de voto electrónico seguro que proteja la privacidad de los usuarios.

El concepto tiene ya dos años, así que no se trata de una reacción motivada por el fracaso de las elecciones en Florida, como se podría sospechar. Pero esta manipulación obvia de la opinión pública ha traído a discusión los principios de la democracia y las dudas sobre los recuentos de votos.

Hay muchas opiniones sobre la e-democracia y yo mismo no estoy seguro de que sea una buena idea establecer un sistema aún más directo, ya que eso probablemente daría a los demagogos aún más poder de que ya tienen. En lo que a mí respecta, la cuestión de si el voto electrónico es deseable no ha sido aún respondida satisfactoriamente.

Pero la experiencia enseña que podemos esperar una fuerte tendencia hacia la e-democracia y no creo que podamos ignorar este desarrollo sólo porque tengamos dudas en este sentido.

En un sistema convencional nadia sugeriría seriamente dejar que una compañía privada gestionase las elecciones en nombre del gobierno. Imagina: el votante iría a una oficina de esa compañía, introduciría su voto y por la tarde se anunciaría el ganador, sin ninguna posibilidad de comprobar los resultados. Al transferir esto al dominio digital, con muchas más posibilidades de manipulación, una gran mayoría deja de considerarlo problemático.

Hice esta experiencia en febrero, cuando asistí al Transmediale en Berlín. Allí participé en un foro sobre "Software Social" y propuse un ejemplo prácticamente igual al de más arriba, que fue acogido sin reticencias.

El software social debe ser software libre. Sólo así pueden mantenerse los derechos humanos en una cultura cada vez más digital. Por tanto, de forma independiente de nuestra opinión personal sobre la e-democracia, es importante la existencia de GNU FREE.

Volvamos al aspecto técnico.

El sistema ha sido diseñado para que escale bien. Jaso ha estado pensando en democracias del tamaño de la India (la mayor del mundo). Con GNU FREE se pueden realizar elecciones para organismos desde pequeñas asociaciones hasta el Parlamento Europeo.

Por supuesto, los aspectos de privacidad y seguridad han tenido la máxima prioridad durante el desarrollo y, según Jason, están bastante bien conseguidos. Si se configura correctamente, nada salvo la destrucción física de los servidores puede poner en peligro una elección. Y esto sería un problema con la mayoría de los sistemas de elecciones convencionales.

El proyecto es relativamente pequeño para sus ambiciosos fines. Además de Jason ha habido contribuciones de Rajagopal C.V., Thomas Müller, Ceki Gulcu, Neil Ferguson y Paul Voller. Se necesita ayuda especialmente para pruebas y para encontrar posibles problemas de seguridad.

La mejora de la seguridad mediante capas adicionales de encriptación y correciones de errores es un objetivo constante del proyecto. Además, está planeado implementar diferentes sistemas de elección, ya que actualmente sólo se permite una comparación directa entre los votos de los candidatos.

Nos vemos

Bien, eso es todo por este mes. Como siempre, me gustaría pedir comentarios, ideas, preguntas y descripciones de proyectos. Todo a la dirección habitual [1].

Info
[1] Envía ideas, comentarios y preguntas a Brave GNU World <column@brave-gnu-world.org>
[2] Página del Proyecto GNU http://www.gnu.org/
[3] Página del Brave GNU World de Georg http://brave-gnu-world.org
[4] Iniciativa "We run GNU" http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] Página de GNU-Darwin http://gnu-darwin.org
[6] Página de Apple Darwin http://www.publicsource.apple.com/projects/darwin/
[7] Por que APSL no es una licencia Libre http://www.gnu.org/philosophy/apsl.html
[8] Dirección FTP de get_file ftp://ftp.cs.duke.edu/pub/des/scripts/get_file
[9] Página de GNU GLOBAL http://www.tamacom.com/global/
[10] Página de HeaderBrowser http://www.headerbrowser.org
[11] Página de GNUTLS http://gnutls.hellug.gr/
[12] Página de GNU.FREE http://www.thecouch.org/free/

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

Return to Página de GNU.

Por favor, envía las preguntas y peticiones de información acerca de FSF y GNU a 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 (en Inglés o Alemán) 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) 2001 Georg C. F. Greve
Traducción al Español por N. García-Pedrajas, D. Fernando Marín y E. Sanz-Tapia.

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