Archivando la Wikiesfera

Actualización 22/12/2011: Bajados los 2688 wikis públicos de http://wikkii.com. Suman 176510 páginas (4.2 GB). Archivados por 20 céntimos (el precio de un DVD).
Actualización 15/12/2011: Trabajando en WikiIndex y aprovechando sus capacidades semánticas para generar listas como http://wikiindex.org/List_of_wikibackups para ver qué wikis quedan por ser archivados.

Actualización 06/12/2011: Han pasado varios meses desde que se creó WikiTeam y estoy satisfecho con lo que se ha hecho hasta ahora. Más de 130 wikis individuales se han archivado, y alguna wikifarm también (ShoutWiki) mientras que otras como Referata y Wikkii están de camino.

Actualización 23/07/2011: Google Code dice que no va a incrementar el espacio a la forja de WikiTeam. Tendremos que buscar una alternativa donde subir los dumps cuando empecemos a quedarnos sin espacio, o mejor empezamos ya.

Actualización 30/05/2011: Buscando, buscando hoy he encontrado un paper acerca de una herramienta para "preservación de wikis" (webcite) llamada Urobe (aunque no parece descargable aún) y un par de posts en blogs Working with Web Curator Tool (part 2): wikis (webcite) y Archiving a wiki (webcite) sobre cómo bajarse wikis con crawlers (tiene el problema que comenté del wget, no se lo baja todo, historiales por ejemplo, es muy ineficiente, y no es fácilmente importable en un wiki destino). Ya me he puesto en contacto con ellos a ver si surge alguna colaboración con WikiTeam. Estaría muy bien.

La vida media de una página web en Internet es de pocos meses. Tras eso, el enlace queda roto, bien porque la página se movió a otro servidor, bien porque definitivamente el webmaster la cerró, caducó el dominio, etc. Todo el mundo se encuentra a diario con enlaces rotos. Si las webs desaparecen en meses o años, imaginad el estado de la web dentro de 20 ó 30 años. ¿Qué webs de la actualidad quedarán en pie para entonces? Si no se aplicase ningún parche, seguramente podríamos decir que casi ninguna.

Existen algunas soluciones parciales a este problema, como
Internet Archive o Webcitation. Son organizaciones que tienen spiders rastreando Internet y almacenando copias de los sitios, para ofrecer una instantánea de cómo era tal sitio web en tal fecha. Estas organizaciones se enfrentan a varios problemas, tanto de hardware y software como legales. Hardware para poder traerse esas cantidades de datos de Internet y almacenarlas en servidores enormes, software para gestionar esas moles de datos, y problemas legales cuando alguien viene enfadado pidiendo explicaciones sobre porqué su sitio web se ha clonado. Algunos ni siquiera entienden que es para preservar para la posteridad lo que hoy nos parece tan duradero. Afortunadamente es una minoría la que se lo toma a mal.

Los wikis son páginas web al fin y al cabo, de modo que también sufren el mismo problema, quizás alguno más. Alguien instala un wiki en un servidor, empieza a trabajar sobre él, crea un par de tutoriales con ayuda de un amigo, y se olvidan del sitio. Si permiten la edición anónima o el registro sin
captcha, y además no tienen instalada ninguna extensión anti-spam, no tardarán mucho en aparecer los spambots para llenarle el wiki de spam y que el verdadero contenido quede enterrado en basura.

La mayoría de los wikis del mundo usan el software MediaWiki (creo que llega al 50% del
mercado), el resto de software wiki (que son cientos de motores distintos) se reparten el otro 50%. Además, muchísimos de ellos tienen licencia libre, por lo que copiar sus contenidos es perfectamente legal.

Los wikis tienen una particularidad, y es que almacenan un historial con todos los cambios de cada página. De modo que si capturas la página tal y cómo está en este momento, solo te estás trayendo parte de la información. Vale, te estás trayendo la última versión de cada artículo, pero toda la información sobre cómo se construyó ese artículo, quienes participaron, etc, es decir, los historiales, no los estas bajando. MediaWiki dispone de una página especial llamada
Special:Export con la que puedes bajarte grupos de artículos (en formato XML, junto con metadatos de los historiales, la información que decíamos antes que se perdía si hacías un mero wget) siempre que le pases la lista con los nombres de los que te interesan. La cosa está en generar antes esa lista, dado que si te interesa guardarte una copia de todo el wiki, y el wiki tiene cientos de páginas, es impracticable.

De modo que me propuse hacer un
script que capturara la lista completa de títulos de páginas del wiki, se los pase a Special:Export, se baje los XML por separado, luego los funda en uno solo (esto es importante) y además se baje las imágenes. Es importante que todo el XML quede fusionado en un solo fichero por si más adelante quisieras importarlo a una instalación limpia de MediaWiki, podrías hacerlo con una sola línea de consola (ver cómo hacerlo).

Hay organizaciones como la
Fundación Wikimedia que ofrecen backups públicos de sus wikis (Wikipedia, Wikcionario, etc...) por lo que esta herramienta no es necesaria. Este programa viene a llenar el hueco que había antes, en el que la mayoría de wikis que se ven en Internet, no ofrecen backups completos del sitio. Y eso es un problema, puesto que tarde o temprano el sitio caerá, bien por abandono, por un ataque, porque la comunidad quiera irse y crear un fork, etc. Si no hay ningún usuario con ningún backup, el wiki estaría casi con total seguridad perdido. La última esperanza sería que el administrador del servidor tuviese una copia reciente, si es que tenía un plan de copias de seguridad. Muchas veces esto no es así por increible que parezca. En otras ocasiones, hay comunidades que usan servicios gratuitos de wikis (llamadas granjas de wikis o wikifarms), y a veces pierden todos sus datos o cierran, dejando a sus usuarios a dos velas. Ya pasó con ScribbleWiki, que perdió la información de todos sus wikis. Cientos.

De modo que
existen miles de wikis en Internet, muy pocos ofrecen voluntariamente backups de sus contenidos, así que sus usuarios están totalmente desprotegidos ante eventuales desastres. Estoy ejecutando el script sobre los wikis que me van llegando, por ejemplo algunas locapedias de España (Wikanda, WikiSalamanca, MadriPedia, etc).

El
script es software libre y está en Google Code (http://code.google.com/p/wikiteam/). Todos los backups que se van generando se van subiendo a la sección de "Descargas" que ya acumula una pequeña biblioteca de wikis. Que no te engañe el tamaño de los ficheros, están comprimidos con 7zip, y cuando los descomprimes se expanden *entre 30 y 100 veces su tamaño*. De modo que el backup de Cadizpedia, que ocupa apenas 3 MB en 7zip, es en realidad un fichero XML de más de 100 MB.

También me estoy bajando las imágenes de esos wikis, el
script lo hace automáticamente, pero no las subo a Google Code por falta de espacio (ofrecen solo 4 GB).

Si tienes dudas sobre cómo usarlo, lee la
FAQ y el tutorial. Si quieres informar de algún bug o pedir una nueva funcionalidad, hazlo aquí. Y si has realizado alguna investigación estudiando las comunidades de estos wikis a través de los backups, avisa y cuenta cómo te ha ido.

Todo esto lo estoy haciendo como miembro del
WikiTeam, un grupo de trabajo dentro de Archive Team (la gente que salvó GeoCities y que está trabajando para archivar Yahoo! Videos). Me gustan los wikis y detesto que se pierdan sitios web, ya que forman parte de la historia de Internet, de modo que aquí encontré un lugar donde participar con mis conocimientos.

Si alguien quiere trabajar en un generador de backups para otros motores wiki, que se ponga manos a la obra, no hay tiempo que perder.
*Nota: La idea es hacer generadores de backups que se traigan toda la información de historiales, textos e imágenes del wiki cuando tú eres un mero lector del wiki y el administrador no pone de su parte para publicar backups*
Comments