La GNU General Public Licence, conocida por sus siglas en inglés como la GPL, es la licencia paradigmática del software libre. Todavía recuerdo la honda emoción que sentí cuando leí la GPL por primera vez, ya que comprendí inmediatamente que estaba frente a algo totalmente diferente a todo lo que había conocido hasta ese momento. En efecto el preámbulo de la GPL dice:

La mayor parte de las licencias de software están diseñadas para quitarte tu libertad de copiarlo y modificarlo. En cambio, la Licencia Pública General de GNU (GPL) intenta garantizar tu libertad de compartir y distribuir software libre, y asegurarse que el software sea libre para todos sus usuarios”
[…]

“Protegemos tus derechos mediante dos pasos:
* Pomos el software bajo copyright.
* Te ofrecemos esta licencia que te da permiso legal para copiar, distribuir y/o modificar el oftware.

(traducción no oficial del preámbulo de la GPL)

Diseñada inicialmente para el software del proyecto GNU, la GPL es la licencia más usada por los proyectos de software libre (como por ejemplo el núcleo de Linux, el proyecto GNOME, el proyecto KDE, el proyecto OpenOffice, etc.) . Gracias a su cláusula de Copyleft (que esencialmente dice que”todos los trabajos derivados deben estar cubiertos por la misma licencia”) la GPL se ha convertido en uno de los pilares de construcción de la comunidad de software libre:

“[…], si distribuyes copias del programa (ya sea gratuitamente o por un precio), debes dara todos los receptores los mismos derechos que tu tienes.

Debes asegurarte de que ellos también reciban o puedan obtener el código fuente.

Y debes mostrarle los términos de esta licencia, para que conozcan sus derechos.”
(traducción no oficial del preámbulo de la GPL)

(Personalmente pienso que las licencias tipo BSD, que permiten que el código de proyectos de software libre se incorporen en productos propietarios, no son convenientes para proyectos de software libre, dado que no ayudan a que los programas libres tengan ventajas sobre sus competidores privativos).

Hoy 29 de junio, a las 12hs, hora de Boston; la Free Software Foundation anunció oficialmente la publicación de la versión 3 de la GPL. Esta nueva versión, que procura mantener el espíritu de las versiones anteriores, está diseñada para hacer frente a los cambios en la ley, y a los desafíos que plantean al software libre las DRM. También procura, hacer a la GPL más compatible con la legislación de copyright internacional (ya que las versiones anteriores estaban específicamente pensadas para la legislación de los EEUU).

Todavía está por verse que recepción tendrá en la comunidad esta nueva versión de la licencia, que es resistida por algunos: por ejemplo Linus Torvalds anunció que el núcleo de Linux se mantendrá bajo la versión 2 de la GPL. La redacción de la nueva licencia es ciertamente más compleja que la versión 2, pero procura ofrecer una mejor protección legal a los proyectos de software libre.

El próximo 2 de Julio, Asa Dotzler uno de los principales desarrolladores de Mozilla Firefox estará brindando a partir de las 18:00 hs una charla en el Salón Auditorio de UADE (Universidad Argentina de la Empresa) Lima 717, Ciudad de Buenos Aires. La entrada es libre y gratuita pero la registración es Obligatoria:

Fuente: Cafelug

gnometris.png

¿Quién de nosotros no ha pasado horas jugando al legendario Tetris, el adictivo juego inventado en 1984 por el científico ruso Alexey Pajitnov quien entonces trabajaba en la academia de ciencias de la URSS, o alguna de sus variantes como el tridimensional Block Out (Por cierto, si sufres un ataque de nostalgia, en freshmeat.net hay 73 proyectos diferentes de clones de Tetris. A la izquierda puedes ver una captura de pantalla de Gnometris, un tetris para Gnome)

Pues bien, si algo me faltaba para convencer a mis estudiantes de la íntima relación entre matemática y computación, los matemáticos Erik D. Demaine, Susan Hohenberger y David Liben-Nowell del M.I.T. han demostrado que el tetris califica como un problema algorítmico en la clase NP (incluso es NP el problema de resolverlo aproximadamente).

Pero esto no es todo: el tetris ha sido útil como inspiración, en ciertos modelos de medios granulares de la física de la materia condensada (como este y este otro).

¿Quien puede decir entonces, que los videojuegos no son interesantes desde el punto de vista científico?

Quantian es una distribución en Live CD, derivada de Knoppix, especialmente adaptada para matemática y computación científica. Recientemente estuve probando su versión más reciente (0.7.9.2) .

Viene con el escritorio KDE, aquí pueden ver una captura de pantalla:

snapshot_quantian.png

Al ser una distribución en DVD (2,7G) viene con una cantidad impresionante de software, que incluye desde aplicaciones de oficina como Openoffice y Koffice, hasta las específicas para matemática como Axiom, GNU GSL, Kile, Labplot, Lyx, R, Pari/Gp, Maxima, Octave, TeXmac, Yacas, etc, así como emuladores (Bochs, Wine, Qemu) y el programa para editar gráficos Gimp.

Al ser una distribución en live CD es posible utilizarla sin necesidad de instalarla en el equipo. Otra ventaja que tiene es su excelente capacidad para autodetectar el hardware (con esta no tuve problemas con mi mouse serial).

La principal contra que le encuentro es que como la última versión disponible es del 26 de febrero de 2006, parte del software incluido está algo desactualizado.

En particular, Quantian viene con la utilidad para instalarlo al disco duro knoppix-installer, pero parece no haber sido actualizada, y tener bugs (en mi caso no logró detectar una de las particiones de mi sistema, por lo que decidí abortarlo, ante el temor de que pudiera borrar alguna partición), y la utilidad knoppix-installer-web (que debería descargar la versión más actualizada del instalador) no funciona (porque la URL de la cual debería descargarse parece que ya no es válida)

Incluso aunque uno decidiera instalarla, Knoppix decidamente no es una distribución pensada para ello, y seguramente uno se enfrentaría a dificultades a la hora de actualizar el sistema (porque un knoppix instalado es realmente un sistema Debian, pero un Debian “no oficial”, con sus propios paquetes).

Un proyecto similar que también merece mencionarse es knoppix-math.

Consejo: si necesita un sistema GNU/Linux listo para usar, para tareas de matemática ¡Quantian es para usted! (siempre y cuando no quiera ni necesite instalarlo en el disco duro).

Probando Ubuntu y Kubuntu 7.04

En los últimos días estuve haciendo algo que hace rato que no hago: probar distribuciones. De hecho, estuve probando las versiones 7.04 (nombre en código”Feisty Fawn“) de Ubuntu, y Kubuntu, y la versión 0.7.9.2 de Quantian (proximamente comentaré esta distribución).

Si bien estoy más que conforme con mis distribuciones favoritas Gentoo y Debian, decididamente no son las que recomendaría a un usuario que recién se inicia en el mundo de Linux, y estuve viendo alternativas sobre qué distribución recomendar a mis estudiantes.

En general, mi impresión fue bastante positiva. Son notables los logros de Ubuntu en cuanto a mejorar la usabilidad para los usuarios novatos. Por ejemplo: incluye herramientas (Synaptic en Ubuntu y Adept en Kubuntu) que realmente hacen muy sencilla la instalación de nuevos paquetes o de actualizaciones para los usuarios no técnicos (los usuarios avanzados seguramente preferirán como yo seguir usando el viejo y querido pero nunca superado apt-get desde la linea de comandos).

Es muy buena la idea de que el sistema se instale desde un live-cd, permitiendo que el usuariolo pruebe antes de instalarlo (Siempre pensé que los live-cd eran la mejor propaganda para GNU/Linux, todavía recuerdo por ejemplo qué buena resultó la idea de distribuir CDs de Knoppix en la Cafeconf 2004), sin dejar de ofrecer también un CD de instalación alternativo (con el instalador clásico de Debian, robusto y versátil ) para el caso en que se necesite una instalación especial.

También es de destacar la impresión general de armonía y sencillez que ofrece la intefase gráfica, realmente muy bien lograda. Aquí pueden ver una captura del escritorio de Ubuntu:

Captura de pantalla de Ubuntu 7,04

Sin embargo, creo que hay algunos aspectos relacionados con la usabilidad en los que Ubuntu aún debería mejorar.

Uno de ellos es que el instalador sigue sin poder reconocer un mouse serial, a pesar de que esto hace tiempo que se reportó en Launchpad, y de que (por lo que estuve probando) Knoppix lo hace sin problemas. Entonces, al no poder mover el mouse, el entorno gráfico resulta completamente inutil (una clara muestra de que la autodetección de hardware es maravillosa cuando funciona, pero es una pesadilla cuando falla; por lo que no conviene diseñar un sistema que dependa al 100% de ella para poder funcionar).

Para hacer funcionar el live CD en mi máquina (que tiene mouse serial, lo cuál es muy común en Argentina), tuve que editar a mano el archivo xorg.conf y matar el proceso del servidor X.Esto claramente no es aceptable en una distribución que pretende ser amigable para usuarios no expertos. Debería por lo menos ofrecer alguna solución temporal, como por ejemplo una opción que el usuario pueda seleccionar al bootear que indique que tiene un mouse serial.

Otro aspecto, quizás menor, es que pienso que debería mejorarse es la interface gráfica del programa para configurar las conecciones de red via pppoe (pppoeconf), esto es para conecciones ADSL. Ubuntu ofrece una interface en modo de texto, pero Knoppix tiene una interface gráfica más amigable basada en Qt (aunque con idéntica funcionalidad). Obviamente, esto no cambianada en cuanto a la funcionalidad ofrecida, pero los usuarios novatos preferirían sin duda una
interface gráfica “con ventanas” que sea consistente con los otros elementos gráficos del escritorio.

Intenté mandar un mail a la lista de desarrolladores de Ubuntu (ubuntu-devel), comentando estas impresiones sobre Ubuntu 7.04. pero se trata de una lista cerrada, por lo que mi mail fue rechazado por el moderador con la sugerencia de re-enviarlo a ubuntu-devel-discuss, cosa que hice. Hasta ahora no he recibido respuestas.

Como necesito que mis estudiantes puedan usar diversos programas de matemática, pensé en crear mi propia versión de Kubuntu siguiendo las instrucciones aquí (también hay otras instrucciones aquí), y puedo decir que ha sido realmente fácil.

Ya tengo mi propio live CD personalizado de Kubuntu que incluye Axiom, Kile, Labplot, Lyx, Pari/gp, Tetex y wxMaxima (aunque obviamente para hacer lugar tuve que quitar Openoffice y todas las aplicaciones orientadas a la oficina o la multimedia, con que Kubuntu viene por defecto).

Así que Ubuntu es una buena alternativa para utilizarla como base para crear distribuciones adaptadas a propósitos especiales.

La otra alternativa que estuve probando es Quantian, proximamente la comentaré.

Consejo: si es usuario de MS-Windows, y quiere un sistema GNU/Linux con el que sentirse a gusto (o incluso si sólo quiere probarlo para ver que aspecto tiene) ¡Ubuntu es para usted! (siempre y cuando su PC no tenga un mouse serial, espero poder remover pronto esta restricción)

No a la matriculación obligatoria Ha comenzado una campaña contra la Ley de Matriculación Obligatoria en la Provincia de Santa Fé(Argentina), que lamentablemente ya ha sido aprobada por el Senado de la provincia, y ahora está en discusión en la cámara de Diputados.

La matriculación obligatoria significarí­a entre otras cosas que sólo los matriculados en informática, estarían legalmente habilitados para confeccionar y distribuir programas, en dicha provincia. Esto es totalmente absurdo, porque como bien sabemos en la comunidad de software libre, muchos de los mejores programas informáticos no han sido escritos por informáticos (como por ejemplo suelo citar, GNU Octave un reemplazo libre de Matlab, que ha sido escrito por un quí­mico, el o el sistema de álgebra computacional Sage, creado por un matemático, entre otros muchos).

Es decir: como ya hemos dicho en otro artículo, la programación no es ni debe ser un arte hermético, reservado para unos pocos, sino que debemos concientizar a la sociedad de que todos podemos programar.

De aprobarse esta ley, restringiría las libertades de las personas, afectando derechos constitucionales como la libertad de “trabajar y ejercer cualquier industria lí­cita” (artí­culo 14 de nuestra Constitución Nacional) e incluso la libertad de expresión; consagrando a través del poder de coacción del Estado un monopolio privado, en beneficio exclusivamente de intereses corporativos, sin que la sociedad obtenga ningún beneficio por esta concesión (sin que exista ningún interés social a resguardar, que lo justifique como podría ser por ejemplo en el caso de los colegios médicos).

Finalmente este tipo de leyes de matriculación obligatoria, tampoco beneficia a los informáticos profesionales, ya que la matrícula significa un nuevo impuesto al trabajo.

Lamentablemente este tipo de leyes ya rige en otras provincias, como por ejemplo las Provincia de Entre Ríos, Córdoba y Misiones. Se ve que hay legisladores que creen que es creando muchas leyes como mejor será vista su tarea legislativa por la sociedad (Se escuchan con frecuencia en las campañas muchas frases del tipo “yo presenté x proyectos”), no se dan cuenta de qué el exceso de regulaciones puede ser sumamente perjudicial. Necesitamos pocas leyes, pero buenas; no muchas pero malas.

En el sitio de la campaña hay más información al respecto y se explica con más detalle porqué este tipo de leyes nos perjudica todos. Si tienes un blog o página web, puedes poner un banner en apoyo a esta campaña.

Linus Torvalds habla sobre Git

Ya hemos hablado en otra ocación sobre sistemas de control de versiones. En este video, Linus Torvalds (autor original y lider del desarrollo del núcleo de Linux), nos habla sobre Git, un sistema de control de versiones distribuido, desarrollado por él mismo para manejar el código fuente del núcleo de Linux, y utilizado por ejemplo por X.org y Wine. Fiel a su estilo sacástico y de opiniones controvertidas, Torvalds critica en durísimos términos a CVS y Subversion, y dice que los únicos sistemas de control de versiones que recomienda usar son Mercurial y Git, aunque según él Git es mejor. Los demás, dice o no son distribuidos o no son eficientes.

Coincido con Linus en que los sistemas de control de versiones distribuidos (sin un repositorio central), parecen ser más adecuados al modelo de desarrollo del software libre. Sin embargo, es justo reconocer que CVS es una herramienta que ha sido útil por muchos años (aunque actualmente es claro que presenta serias limitaciones frente a sus competidores más modernos), y que Subversion es efectivamente un “mejor CVS” (que es la herramienta correcta en el caso de que uno quiera usar un modelo de desarrollo centralizado), por lo que no coincido con la forma en que critica a los desarrolladores de estos sistemas.