Brave GNU World

 [imagen del mundo con cuernos de Ñu (GNU en inglés)] (jpeg 7k) (jpeg 17k) logo de la iniciativa "We run GNU" ningún gif por problemas de patente


Georg's

Brave GNU World

Permisos de copia al final

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

Número 10

[DE | EN | FR | JA]

Bienvenidos a otro número de Brave GNU World, de Georg. Comenzaré por presentar algunos proyectos antes de entrar en una cuestión más teórica que me pareció importante a raíz de mi visita al Systems en Munich (Alemania). Pero empecemos por las partes prácticas.

Userv

Userv ("you serve": "tú sirves")[5], de Ian Jackson, se define en su especificación como "una utilidad del sistema Unix que permite a un programa invocar a otro cuando entre ellos sólo existe una confianza limitada". Como puede que esto no signifique mucho para la mayoría de la gente, lo explicaré un poco.

En los sistemas Unix uno a menudo encuentra situaciones en las que un programa necesita ciertos privilegios para determinadas tareas. Existen varias soluciones para este problema, pero casi todas plantean graves problemas de seguridad. Una posibilidad es escribir las partes privilegiadas en C o llamarlas desde C. Un programa así heredaría todos los privilegios que tuviera el programa original, y tenemos que confiar plenamente en él. Este método puede crear problemas: lo que se hereda por parte de un proceso varía entre los distintos tipos de sistemas Unix. Esto significa que generalmente se olvida algo o que la portabilidad del programa se ve afectada.

Otra solución al problema es el uso del programa "sudo", que tiene la desventaja de que normalmente requiere que un lado del límite de seguridad sea el usuario root. Esto es cuando menos una violación del principio de mínimos privilegios, que dice que un proceso sólo debe tener los privilegios necesarios para realizar su tarea. A menudo sucede también que los recursos heredados no se liberan adecuadamente, de modo que el aislamiento no es muy bueno.

Estos son los problemas que userv intenta resolver. Uno de sus posibles usos sería en una versión de cron que no necesite privilegios de root. Así, un agujero de seguridad en cron sólo daría al intruso la posibilidad de ejecutar trabajos a diferentes horas. Pero el intruso ya no podría obtener el control del sistema.

Esto es extremadamente interesante también en servidores web con guiones CGI, donde el buen aislamiento entre el interfaz y el funcionamiento interno puede ser crucial. Realmente, userv ya se está usando para este propósito: la Universidad de Cambridge lo utiliza en un proyecto cuyo objetivo es ofrecer hospedaje centralizado de páginas para los departamentos.

La versión 1.0 de userv está muy próxima y dado que se ofrece bajo la Licencia Pública General de GNU puede ser usado libremente. Aunque el autor dice que puede hacer falta tiempo para acostumbrarse a la configuración, este proyecto realmente merece una visita.

Los dos proyectos siguientes también se ofrecen bajo la Licencia Pública General de GNU y han sido desarrollados por Jason Nunn.

Clobberd

Clobberd [6] hace posible monitorizar la actividad de los usuarios y mantiene información acerca de la actividad de la red. Para conseguirlo, el demonio extrae la información del fichero utmp y permite a los usuarios obtener sus propias estadísticas en una página web mediante la herramienta clobbertool. Los administradores pueden usar la utilidad clobberedit para modificar las configuraciones de cada usuario.

Las principales ventajas de clobberd son principalmente su facilidad de instalación y de uso. Desafortunadamente el autor preve problemas con otras versiones de Unix diferentes a GNU/Linux, y añade que clobberd debería usarse siempre detrás de un cortafuegos.

Su mayor utilidad es en redes con un gran número de usuarios; Jason Nunn me habló de alguien que conectó su red privada de casa a Internet a través de una pasarela GNU/Linux y ahora usa clobberd para monitorizar a su hijo y vigilar que haga más tareas y menos navegación. Parece obvio que las herramientas útiles también pueden ser usadas, a veces, para malos fines ;-).

La51

La51 [7] es un pequeño compilador cruzado para el 8051 (MCS-51) que ha sido orientado hacia el Siemens sab80c537. El programa es bastante pequeño y está basado en el libro "El microcontrolador 8051", 2ª edición, de IS Mackenzie.

Aunque Jason Nunn califica al compilador de "imperfecto", le ha ayudado a crear varios proyectos. Con su ayuda, por ejemplo, ha sido capaz de escribir un emulador de terminal VT52. El único problema real que ve es que el compilador sólo puede crear ficheros Hex de Intel. Sin embargo, está ampliamente probado, lo cual compensa ese pequeño defecto.

Me imagino que esto sólo era interesante para una pequeña porción de los lectores, así que continuaré con otras cosas.

CUPS

CUPS ("Common Unix Printing System", "Sistema Común de Impresión para Unix") [8] de Easy Software Products, es un posible sustituto de la vieja arquitectura de impresión de Unix. Sus características avanzadas deberían hacerlo muy interesante para personas que no estén satisfechas con los servicios de impresión actuales. Dado que CUPS está distribuido bajo la Licencia Pública General de GNU no hay ningún problema legal en cambiar a la nueva arquitectura.

Además de las funciones tradicionales, CUPS ofrece la posibilidad de fijar el tamaño de papel y la resolución en la línea de órdenes. Y aún hay más. Hay módulos especiales que permiten la comunicación con muchos tipos distintos de hardware. CUPS tiene la autentificación de usuarios integrada. Otra característica de traerá un respiro de alivio a los administradores de redes grandes es la capacidad de buscar y configurar impresoras de red automáticamente.

Actualmente el mayor problema es el hecho de que CUPS no soporta un interfaz de impresión genérico tipo lpd, así que los clientes que dependan de éste encontrarán problemas. Se está trabajando en una solución.

Los planes para las futuras versiones incluyen una gestión de trabajos y usuarios más robusta y la encriptación de las transmisiones.

En caso de que estos temas sean demasiado "internos", espero lo que viene a continuación sea más a vuestro gusto.

SADP

Como los otros proyectos de este mes, el Sing Along Disc Player (SADP) [9] está licenciado bajo la GNU GPL. SADP es un reproductor de CD con muchos extras. Las características incluyen un analizador de espectro y un oscilador que pueden ser modificados en tamaño "sobre la marcha". También tiene un mezclador interno y varias otras opciones que se deben esperar de un buen reproductor de CD.

SADP tiene una base de datos de CD's local y puede acceder también a bases de datos en Internet. Afortunadamente soporta los protocolos CDDB, FreeDB y CD-INDEX así los recursos existentes pueden ser accedidos directamente.

El autor enfatiza lo importante que fue para el que SADP tuviera un buen rendimiento en entornos locales muy diferentes. Este es el por qué SADP puede utilizar Internet o la tarjeta de sonido pero no depende de ellos. También es bastante pequeño, estable y de uso amigable. Los mayores problemas son creados por controladores de CD "habladores" y algunos bugs en las Xforms.

Este octubre SADP fue premiado por 4Front Technologies, por eso probarlo sin duda no es tiempo perdido.

Suficiente para la parte práctica ahora me gustaría discutir algo que observé durante mi estancia en Systems'99.

Acerca de la GNU GPL

La GNU General Public License ha sido llamada "vírica" por personas opuestas a ella desde hace algún tiempo. Se me ha ocurrido que este término peyorativo ha sido aceptado demasiado fácilmente.

En este contexto la gente habla de la GNU GPL "infectando" el código que licencia. La analogía con un virus implica que la GPL se extiende sin control y perjudica al público.

Hablando sobre daño debemos considerar primero el daño de quién estamos hablando. La GNU General Public License garantiza a todo los usuarios el derecho a usar el software, modificarlo y distribuirlo en su versión original o modificada. La única limitación es que nadie puede quitar estos derechos a otras personas. Por eso sólo quienes deseen quitar estos derechos a los demás usuarios pueden sentirse perjudicados por ella.

[31 Dic 1999] Desafortunadamente esto no es totalmente correcto. Era imposible combinar la GPL y la antigua licencia BSD. La combinación entre FreeBSD y GPL es posible siempre que la combinación se distribuya bajo GPL. Las licencias de las partes permaneces sin tocar cuando se hace eso. Pero esta característica explica bastante bien la idea subyacente al razonamiento, por eso no la eliminaré. Lo siento por la inconveniencia.

Pero lo que es más importante es la fuente de esta incompatibilidad. Cada vez que dos fragmentos de código se deben mezclar es necesario que sus licencias no sean contradictorias.

Teóricamente el código bajo GNU GPL puede ser mezclado perfectamente con código bajo otra licencia. En la práctica especialmente la protección de los derechos del usuario que la GNU General Public License provee es todavía única y esa combinación con otras licencias de Software Libre se hace problemática.

Mucha gente argumenta entonces que la licencia FreeBSD es "más libre" que la GNU GPL. La discusión a lo que esto lleva es esencialmente sobre las bases de la "filosofía del estado" (el original en alemán es "Staatsphilosophie"). Esta filosofía trata con el dilema de que para conseguir el máximo en libertad y autodeterminación es necesario no dar absoluta libertad a los individuos. A través de nuestra ciudadanía es un cierto país consentimos renunciar a ciertas libertades para el beneficio de la sociedad. Un ejemplo de libertad a la que hemos renunciado es a golpear a alguien en la cabeza porque nos guste su pareja.

En casos de limitar el derecho de los usuarios sobre el software es casi siempre un caso de "uno contra todos". ¿Qué es más importante? ¿La libertad de uno de limitar la libertad del resto de la humanidad o la protección de la libertad de la mayoría? Varias opiniones existen acerca de como se debe responder a esta pregunta, Yo creo, sin embargo, que debería haber suficiente espacio y tolerancia para más de una sola respuesta.

Al final la incompatibilidad que mencioné arriba nace de puntos de vista filosóficos diferentes. Reaccionar ante una opinión diferente utilizando términos peyorativos cuando se habla de la GNU General Public License es, al menos en mi opinión, erróneo y bastante intolerante. Este es el por qué me gustaría pedirte que no aceptes este término sin la resistencia adecuada.

Casi al final...

Creo que esto fue suficientemente pesado para un mes, por eso pospondré la segunda parte de mi reflexión posterior al Systems'99 para el próximo mes. Pero hay algunas cosas que me gustaría mencionar.

Primero de todo he hecho un poco de trabajo de rediseño de la página de "We run GNU" [4] y debería ser menos "hinchada" y más usable ahora; es de esperar que las conexiones lentas sean ahora capaces de acceder a ella. Hay también algunos motivos nuevos como un PenGNUin de Ben Stickan, así que visítala.

También ha habido bastante interés en las camisetas "Brave GNU World" y supongo que casi hemos llegado a la masa crítica. He empezado a pensar en el diseño. Una que me ha llegado por email es la de un ñu (GNU) como Atlas con el mundo en sus hombros. Mi talento de dibujante es difícilmente suficiente para ese dibujo pero creo que sería extremadamente bueno. ¿Alguien esta interesado?

Esto por este mes, por favor no guardes ideas, preguntas, comentarios y mensajes sobre otros proyectos interesante a la dirección habitual [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 userv http://www.chiark.greenend.org.uk/~ian/userv/
[6] clobberd FTP ftp://ftp.tcc-comp.com.au/pub/unix/linux/clobberd
[7] la51 FTP ftp://metalab.unc.edu/pub/Linux/devel/compiler-tools/la51-0.1.tgz
[8] Página de CUPS http://www.cups.org/
[9] Página de SADP http://www.alphalink.com.au/~michg/ace/sadp


Volver al número anterior / Página de Brave GNU World

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: Tue Jan 11 13:40:50 CET 2000