- ¿Qué es un
algoritmo? - Patentes
- El formato GIF
- El PNG, una alternativa libre al
formato GIF - Concluyendo
En los espacios antagonistas –de los cuales
indudablemente forma parte —
venimos heredando un sólido pack de antis
(antimilitarismo, antifascismo, antirracismo, antipatriarcado…:
para una lista más exhaustiva, ver ventana desplegable de
la ACP). Por
ejemplo, somos antifacistas prácticamente desde la cuna.
Nadie tiene que explicarnos cuando entramos en un colectivo por
qué hay que ser antifas. Viene de suyo.
Un asunto que evidentemente no recibimos en ese pack por
defecto es el tema de las patentes. No somos "antipatentes", al
menos no del mismo modo que somos antifascistas. O, como en el
tema del anticopyright, lo somos mientras tenga que ver con los
otros. Por ejemplo, existe la idea bastante asentada de que
podríamos aceptar en ciertas circunstancias formatos de
fichero patentados en las páginas de SinDominio. Incluso
llega a mostrarse dubitativa gente que usa habitualmente sistemas
operativos libres y que por tanto se beneficia de ese
software libre
de patentes.
Voy a cuestionar los argumentos que llevan a sostener
que podemos aceptar patentes en ciertos casos cuando, por el
contrario, no aceptaríamos bajo ninguna circunstancia
publicidad de
Micro$oft, Unisys, la BSA (Business Software Alliance, organismo
de estilo mafioso y poderosísimo que persigue la piratería en el mundo entero) o cualquier
otra corporación y menos aún una cruz gamada (a no
ser para tacharla). Pues bien, resulta que para alguna gente las
patentes son las cruces gamadas del siglo XXI o, al menos, una
clara amenaza de control
totalitario. "Aquí te has pasado", pensará
más de uno y de una. Para quien crea que exagero o que
hago demagogia con tal afirmación, recomiendo la lectura
detenida del
"Derecho a leer", que ilustra muy bien a
través de un pequeño relato de política-ficción la posición
de quienes ven en la lucha contra las patentes y contra la
propiedad
intelectual en general una batalla en la que nos jugamos una
libertad
fundamental. Una libertad fundamental es aquella que da pie a
otras, como hace un siglo podía ser la lucha por la
libertad de
expresión o, más recientemente, la lucha contra
la cruzada antidroga. No es es el software, no es el derecho a
consumir drogas o a
opinar libremente lo único que está en juego en esas
luchas: es la capacidad de pensar sin ser tutelad@: la capacidad
de ser libre y cooperar con otra gente, de conducirse de manera
autodeterminada, requisito previo en cualquier perspectiva de
"buena vida" (en el sentido clásico de "vida digna de ser
vivida") o de emancipación social. En este caso como en
tantos otros, es más cómodo lamentarse que luchar
cuando aún estamos a tiempo de
cambiar algo en nuestras vidas.
¿Qué es un
algoritmo?
Un algoritmo es una idea, es un modo mecánico y
formalizado de resolver un problema en un número finito de
pasos generalmente bastante simples. Es como una receta de
cocina. Por ejemplo, el modo de resolver una división
larga es un algoritmo. Los métodos
para obtener la raíz cuadrada de cierto número o
para descomponerlo en factores primos son algoritmos. El
sistema que nos
permite ordenar alfabéticamente una lista de nombres o
jugar bien al tres en raya son también algoritmos. Los
algoritmos suelen relacionarse con las matemáticas, pero no se restringen a ellas:
los algoritmos son mucho más frecuentes de lo que creemos
y se dan también en la naturaleza
–el mecanismo de la evolución biológica es un
algoritmo– o en las actividades humanas –la técnica que
usa un herrero para templar el metal es un algoritmo–. Hay
algoritmos muy sencillos que los programadores usan
constantemente y otros complejísimos y de factura
brillante cuyo diseño
solo está al alcance de dios, de la naturaleza o de
cráneos privilegiados. Pero sea sencillo o complicado lo
que produzcan (un cocido madrileño o la máquina de
Turing), su ejecución debe ser siempre una tarea tonta,
mecánica y simple, por lo cual se ajustan
muy bien al modo de proceder de las máquinas.
Sin el desarrollo que
ha tenido en este siglo que se acaba la noción de
algoritmo, los ordenadores simplemente no
existirían.
Una patente es un título de propiedad
industrial, que otorga todos los derechos sobre un nuevo
invento a quien lo acredita. Hasta hace algún tiempo las
patentes se concedían de un modo bastante restrictivo a
las invenciones o las ideas que tenían visos de
materializarse, lo cual había que demostrar
fehacientemente con planos y demás documentación. Por ejemplo, no se
podía patentar uno de esos objetos imposibles que
diseñaban los surrealistas, ni menos objetos
poéticos como una pistola que disparase
endecasílabos (Gelman), un martillo de seda o un golpe de
oreja (Neruda). Ahora sin embargo, en la era de la información, muchas cosas mercantilizables
se sitúan en el plano de la inmaterialidad, y se
está dando un paso más en las legislaciones,
directo a privatizar las ideas: se patentan los algoritmos, que
es como decir que se patentan las ideas (también el
cuerpo: recordemos las patentes sobre cada secuenciación
–o descripción— de un nuevo gen: equivalente
a patentar la nariz, el dedo pulgar o el mismísimo orto).
Como en las biotecnologías y en la ingeniería
genética, la fiebre de las
patentes en el software está llegando a extremos
delirantes con el visto bueno de las autoridades: Amazon
ha patentado un trivial método basado en
cookies -riéndose de paso en la jeta de
los pioneros que inventaron el web-, que ha dado
pie a una campaña de boicot contra Amazon; incluso hay
gente que ha intentado patentar el bucle for para recorrer
un array, técnica que para un programador es tan
básica y cotidiana que equivaldría a algo
así como que un listo patentase la tabla de multiplicar,
la micción antes de acostarse o la trempera
matinera.
Una vez hecho este preámbulo, vamos al tema que
nos (pre)ocupa: las imágenes
en formato GIF. Para obtener y visualizar gráficos comprimidos con este formato es
necesario utilizar un algoritmo de compresión conocido
como LZW. El formato GIF (Graphics Interchange Format) se sigue
usando mucho en Internet para mantener la
compatibilidad con navegadores
antiguos; suelen usarse para ilustrar las páginas
web con pequeños gráficos (iconos, banners,
etc.) por su reducido tamaño y su carga casi inmediata.
También se pusieron de moda por la
posibilidad de incluir pequeñas animaciones, por ejemplo
los banners publicitarios suelen ser GIFs animados.
El algoritmo con el que se obtiene el formato GIF
está patentado por Unisys desde hace quince años.
Como la propia Unisys explica en sus FAQ, esto significa que para
comprimir, copiar o mostrar cualquier imagen en formato
GIF en tu página
web, deberías ponerte en contacto con el propietario
de la patente y cumplir sus condiciones de uso (satisfacer la
módica cantidad de 5000$ USA, aprox. 850.000 ptas)
o bien deberás atenerte a las consecuencias penales
derivadas de
violar la ley de patentes.
No hay excepciones, y explícitamente menciona al
"freeware" o software de dominio
público como sujeto a las mismas reglas en el uso de los
GIFs.
Unisys has frequently been asked whether a Unisys
license is required in order to use LZW software obtained by
downloading from the Internet or from other sources. The answer
is simple. In all cases, a written license agreement or statement
signed by an authorized Unisys representative is required from
Unisys for all use, sale or distribution of any software
(including so-called "freeware") and/or hardware providing LZW
conversion capability (for example, downloaded software used for
creating/displaying GIF images).
Creo que la cita, extraída de las actuales FAQ de
Unisys, no necesita comentarios. El propietario de la patente
fija esas reglas e incluso puede decidir en un momento dado
cambiarlas -como así ha hecho, pues en 1995
permitía el uso de GIFs con fines no
comerciales-
The company [Unisys] does not require
licensing, or fees to be paid for non-commercial, non-profit
offerings on the internet, including 'Freeware' (nota de
prensa datada
el 10 de enero de 1995)
Unisys puede cambiar de criterio las veces que quiera,
puede incluso no licenciar su uso y que nadie más que
él utilice "su" idea (cosa que lógicamente no le
interesa). A algún usuario de sistemas
GNU/Linux
quizá le habrá llamado la atención cómo un programa libre de
la calidad del GIMP,
que no tiene nada que envidiar al carísimo y pirateado
Adobe Photoshop,
entre las decenas de formatos gráficos que soporta no se
encuentra el formato GIF (si bien, existe un modulo extra no
libre que le añade esta funcionalidad). Ahora ya sabe por
qué es.
Como la patente sobre el formato GIF es estadounidense,
se puede pensar que esto no nos afecta ni a Europa ni a
Latinoamérica y por tanto no apoyar las
campañas anti-GIF que provienen de EE.UU. Ciertamente, en
Europa es más complejo este asunto y, según los
pocos letrados avezados en estas lides, no está claro que
las leyes europeas
sobre patentes sean aplicables a los algoritmos tal y como lo
hace la legislación USA. Sin embargo, tenemos un caso
reciente, el del hacker noruego de
16 años Jon Johansen, detenido por una orden internacional
cursada por un juzgado estadounidense y actualmente procesado. Se
le acusa de violar las leyes internacionales que protegen la
propiedad intelectual por haber publicado el algoritmo con el que
se cifraban los discos DVD –el
esquema de protección CSS, diseñado para evitar que
la gente se haga duplicados de los contenidos digitales de los
DVD– y que impide ver películas DVD-vídeo en
sistemas basados en GNU/Linux o en zonas geográficas
diferentes a donde fue adquirido el disco. Voy a referirme
sólo a lo que aquí nos interesa, que es el tema de
patentes y por tanto no voy ahora a discutir la legitimidad o no
de los derechos de
autor: nótese que Johansen y su colectivo MoRE
(Masters of Reverse Engineering) no se pusieron a vender copias
pirateadas de The Matrix ni nada parecido: simplemente
puso en su web a disposición de todo el mundo el algoritmo
CSS y una herramienta para utilizarlo (DeCSS). Ese fue su
delito. Mientras tanto, la Unión
Europea está "actualizando" su legislación
sobre patentes y todo indica que van a equiparla a la
estadounidense. La Free Software Foundation lleva algún
tiempo llamando la atención sobre ello y proponiendo a los
europeos que se opongan a una ley de patentes ahora que
aún estamos a tiempo (http://www.freepatents.org/).
Podemos seguir pensando que a nosotros no nos afecta, pasar del
tema y poner GIFs tranquilamente "para hacer páginas
curradas y que todo el mundo las vea bien" o bien podemos
intentar hacer algo, realmente no demasiado costoso y que no
impide visualizar bien la página.
En concreto, hay
dos soluciones
para sustituir los GIFs de nuestras páginas web, ambas muy
sencillas, cada una con sus ventajas y desventajas:
1) Usar el formato JPEG, que está libre de
patentes y se visualiza perfectamente con todos los navegadores.
Es lo que hace, por ejemplo, la Free Software Foundation. Este
formato es menos eficiente en cuanto a lo ratios de
compresión que el GIF para pequeños
gráficos, pero es perfectamente válido como
solución menos comprometida.
2) Si somos técnicamente más exigentes y
queremos un verdadero sustituto del GIF, podemos apostar por el
formato abierto y libre de patentes PNG. Por ser menos conocido y
por tratarse de un desarrollo que merece la pena apoyar, a
él voy a dedicar las próximas líneas (el
gráfico que encabeza este texto
está en formato PNG).
El PNG, una alternativa
libre al formato GIF
PNG es una especificación libre de patentes para
definir un formato de archivo de
imágenes. Este formato se ha desarrollado en los
últimos cuatro años en respuesta a las limitaciones
de diseño del obsoleto GIF y a su patente. Como su
desarrollo es relativamente reciente, no lo soportan los
navegadores de hace tres o más años, si bien a
partir de las versiones 4.04 de Netscape y 4.01 de M$IExplorer ya
lo soportan, al menos parcialmente. Puedes ver la lista detallada
con las versiones de los navegadores que lo soportan y con
qué limitaciones en:
http://www.libpng.org/pub/png/pngapbr.html
Como los navegadores antiguos no soportan PNG –por la
simple razón de que el formato no existía por
entonces–, hay gente que opina que, al usar gráficos en
formato PNG, se desconsidera o se margina a quienes usan
ordenadores reciclados con software antiguo. Me parece una
objeción a tener en cuenta, pero muy discutible como
veremos a continuación. Para empezar, que suceda esto no
es nada nuevo, y es inevitable. Desde la primera
implentación del protocolo
http y de la
especificación html que hizo Tim
Berners-Lee en el CERN suizo ha llovido mucho. El W3C ha ido
aceptando mejoras y nuevas características en sus
estándares que los navegadores creados con anterioridad,
lógicamente, no soportan. Una máxima que se
mantiene desde el primer cliente web es
que, lo que no está soportado, no impide (o no debe
impedir) la carga de la página: que un navegador no
soporte PNG lo único que produce es que no carga esa
imagen, y en su lugar aparece un recuadro alternativo con un
texto: no se impide pues visualizar la información. Una
buena alternativa para ordenadores antiguos o reciclados son los
navegadores en modo texto (como el clásico lynx, pero no
es el único), que son muy ligeros, corren en cualquier
ordenador y cargan mucho antes las páginas al prescindir
de las imágenes. De hecho, hay mucha gente con ordenadores
rápidos que utiliza el lynx, más ligero que
cualquier otro y que ahorra la engorrosa carga de
gráficos, animaciones, vídeo, sonido y
demás parafernalia con que desde hace algún tiempo
muchos webmasters se empeñan en llenar sus páginas.
De este modo, creyendo hacerlas más atractivas, sin tener
para nada en cuenta el consumo de
recursos y de
ancho de banda que producen en la red (no olvidemos que los
recursos en Internet no son ni mucho menos inagotables y esos
recursos no se administran solos, sino que siempre debe haber
alguien en un lugar u otro que administre el tráfico que
producimos).
Otro argumento que he leído –y que es una
extensión del anterior– es que al usar PNG dificultamos
el acceso a la gente a la información que colgamos en
nuestra web, al fin y al cabo nuestra razón principal para
publicar en Internet. Como ya he dicho, no se impide la
visualización del contenido y sólo es
cuestión de tiempo que todos los navegadores lo soporten.
Pero, como siempre pasa con las propuestas de estándares
abiertos, si no se apoyan con su uso y no se exige que los
navegadores lo soporten es posible que nunca llegue a
estandarizarse: hay bastantes intereses creados para que se siga
usando GIF. O sea, PNG es una apuesta, y creo que
deberíamos asumir sus "deficiencias", eso sí
explicándolas. De ese modo un "defecto" del diseño
currado podemos convertirlo en una explícita y
autoexplicativa toma de postura en contra de las patentes del
software.
En resumen: que no lo soporte un navegador no significa
que esa página no pueda visualizarse con él:
simplemente no cargará el gráfico, por lo cual
conviene usar el atributo ALT del tag html que incluya la
referencia a la imagen. En el tag se puede poner la
descripción de la imagen y que no usamos GIFs por problemas de
patentes. Así quedaría el tag:
<IMG SRC="foobar.png" ALT="logo de foobar – no usamos
gifs – no a las patentes del software">
Se puede añadir una nota explicativa en la propia
página de por qué se usa PNGs en lugar de GIFs y
disculparse si eso causa alguna molestia –nunca
dramática, pues en ningún caso va a impedir el
acceso a la página ni la correcta lectura de su
contenido o del resto de imágenes en jpeg– a quien use
versiones antiguas de los navegadores más
extendidos.
Otro argumento que se ha oído en
SinDominio para no usar los PNG es la cuestión
técnica: para tener "páginas curradas y salir del
gueto" (sic!) necesitamos los GIFs. Dejando del lado lo del gueto
(con ese razonamiento llevado al absurdo, deberíamos usar
Micro$oft), reconozco que, a diferencia del anterior, para
mí este argumento es irrelevante pues, aunque fuera cierta
la superioridad técnica del formato GIF, prefiero a todas
luces un formato abierto y libre de patentes. Pero entiendo que
no todo el mundo tiene por qué compartir esta
visión (como puede suceder con otras en las que SinDominio
sí va contracorriente y no todo el mundo comparte). Lo que
pasa es que esa afirmación no se ha fundamentado de
ninguna manera y cae por sí sola si uno se documenta un
poco sobre las características técnicas
del formato PNG: resulta que supera en casi todo al formato GIF
(compresión, profundidad y precisión del color,
corrección gamma, extensibilidad…). Lo único que
no tiene PNG son animaciones por la simple razón de que no
fue diseñado para eso (hay otros desarrollos paralelos
para cubrir esa funcionalidad, concretamente el MNG, formato
multiimagen primo del PNG que se encuentra aun en fase temprana
de desarrollo). A cambio se
tiene un formato gráfico muy superior, que puede alcanzar
niveles extremadamente altos de compresión sin perder
calidad y que no está limitado a los 256 colores del GIF
(8 bits), por lo que conserva todos los colores que queramos
utilizar (hasta 48 bits). Las librerías de
comprensión y las extensiones en que se basa PNG son
públicas. La especificación en que se basa
está libre de patentes, y a disposición de los
programadores.
Recomiendo fervientemente a quien esté interesad@
de verdad en la cuestión técnica de este formato la
lectura del libro PNG:
The Definitive Guide. Permite conocer a fondo qué son
los PNG, tanto a programadores como a diseñadores, ya que
en el libro se discuten ampliamente sus ventajas y desventajas
frente a otros formatos. Lo publicó O'Reilly &
Associates en papel hace algunos meses y cuesta 26$ USA. Y si
pese a todo lo dicho, no ves claro el uso de PNG para tus
gráficos, siempre puedes usar el formato JPEG, que se
visualizará correctamente en cualquier navegador por muy
antiguo que sea. Y en la propia red puedes encontrar toda la
información técnica acerca del formato PNG
en http://graphicswiz.com/png/.
Evitar la exhibición de imágenes con
algoritmos patentados en nuestras páginas no es un asunto
de corrección política ni es algo que sólo
incumba a los puretas del GNU. Tampoco es de recibo
esperar "a ver qué pasa" o a ver si caduca tal o cual
patente. No importa si no pagamos por usar esos algortimos en
nuestro servidor: importa
la apuesta ética,
importa promover estándares abiertos y libres, gracias a
cuya existencia cualquiera puede capturar tranquilamente el
código
fuente de una página web y adaptarla a su gusto. Con
patentes esto no hubiera sido posible y es cínico
aprovecharse sin hacer algo por la propia comunidad que tan
generosamente ha puesto recursos tan increíbles a nuestra
disposición de modo totalmente desinteresado. Patentar una
idea tiene consecuencias reales (no sólo
simbólicas) y es fascista stricto sensu: impide la
transferencia de esa idea. Presuponer que las ideas pueden tener
propietarios, ha sido y sigue siendo uno de los pilares de la
propiedad privada capitalista –las leyes de copyright y de
patentes nacen con el capitalismo–,
que obstaculiza la cooperación sin mando y a menudo
prohíbe la ayuda mutua entre la gente. Usar patentes y
especificaciones sometidas a estándares cerrados es dar
oxígeno
a esas prácticas. Para mucha gente, la lucha contra las
patentes es equivalente a la que hubo durante décadas por
la libertad de expresión. Puedes leer la importancia que
le da a este tema la Free Software Foundation en http://www.gnu.org/philosophy/GIF.html
o, mejor aún, la web de la campaña contra los
GIFs http://burnallgifs.org/
No nos merecemos las patentes, no hay ninguna
obligación de apoyar su extensión pues disponemos
de alternativas válidas. Es hora de "liberar"
también nuestros sitios web. No usemos pues
imágenes GIFs en nuestras páginas.
Lupus Yonderboy