Tag Archives: piratas

2014 en Agora Voting

Ha sido un año muy intenso para Agora Voting, en 2014 se han superado récords de participación, se han realizado grandes avances de desarrollo y ha nacido también la empresa AgoraVoting SL de la mano de los principales contribuyentes del proyecto y con Podemos, el gran fenómeno político del año, como principal cliente.
Pero no todo ha sido Podemos en 2014.

Al igual que hicimos el año pasado vamos a intentar resumir un poco lo acontecido. Con todos estos avances es difícil saber por donde empezar, así que empezaremos por el principio.

ENERO

No hay más que remontarse a principios de año para ver los humildes orígenes de este proyecto.  En enero se constataba la creación del partido PACO en la plataforma online de Agora Voting, con voluntad de practicar la democracia líquida en Orihuela. Fue también una de las semillas que nos permitirá cerrar el año con los mismos protagonistas con los que comienza.

Los avances técnicos también fueron modestos, se propuso por ejemplo el uso de bitcoin para distribuir las autoridades, pero a día de hoy es un proyecto en el tintero. También recibimos algunas aportaciones voluntarias con nuevos diseños de logotipos para la plataforma.

 

FEBRERO

Pero ya en febrero se dio un paso fundamental en el desarrollo del proyecto, la Confederación Pirata celebró sus primarias con Agora Voting para elegir a los candidatos a las elecciones europeas y Multireferendum lo utilizó accesoriamente para su consulta popular en un inmenso esfuerzo voluntario no carente de errores y que sirvió como base para las primarias de Podemos que tan revolucionarias resultaron.

En el aspecto técnico, la organización ONCE nos proporcionó un estudio para mejorar la accesibilidad.
En febrero también se realizaron los primeros crowdfunding para implementar y seguir desarrollando la herramienta. Podemos utilizó su propia plataforma para financiar unos 1.500 €  y Multirreferendum dedicó una pequeña partida a la implementación en Goteo.

MARZO

En marzo pudimos ver el impacto que podía y llegó a tener Podemos en la política nacional, Pablo Iglesias anunciaba primarias y el actor Alberto San Juan nos enseñaba a votar con Agora Voting.

Surgen también colaboraciones clave para dar mayor la legitimidad de los procesos, Civio ofrece apoyo técnico para actuar como autoridad de votación, un testigo neutral para garantizar el proceso. También lo haría más adelante OpenKratio.

ABRIL – MAYO

Se celebran las primarias de Podemos, la figura de Pablo Iglesias resulta clave para una participación que alcanzó las 33.000 personas, un récord para la plataforma.

El éxito es rotundo y el primero de muchos, la plataforma avanza en todos los sentidos. En el aspecto técnico, la herramienta avanza considerablemente, Podemos aporta nuevas necesidades y funciones, se genera documentación y el proyecto recibe la aportación de decenas de miles de “beta-testers”.

JUNIO

Tras el éxito de Podemos en las elecciones europeas, la participación ciudadana crece exponencialmente, y también se refleja en Agora Voting, se celebran varios encuentros de programación

y la abdicación del rey lleva a la iniciativa Referéndum Real Ya con una participación de más de 80.000 personas.

JULIO – AGOSTO

Izquierda Unida se suma a las primarias online y organiza las primarias de IU Andalucía con Agora Voting, la democracia interna online promete convertirse en un nuevo estándar.

Por otro lado, Podemos sigue creciendo vertiginosamente, sus círculos y apoyos son cada vez mayores y Agora Voting colabora con el círculo TIC de Podemos para avanzar en el desarrollo de la herramienta.

SEPTIEMBRE

En septiembre los principales programadores de la plataforma dan un salto crucial, se constituye la empresa AGORA VOTING SL,
su objetivo es claro, poder dar continuidad y sostenibilidad al proyecto.

OCTUBRE

En octubre se concreta este objetivo, se trata de desarrollar la versión 3.0 de Agora Voting. Hasta el momento las implementaciones más avanzadas del programa requieren de una intervención manual mayor de lo que sería satisfactorio, con el elevado coste que supone. Edulix y David ambicionan llevar esta plataforma a la web para que sea accesible para cualquiera.


Para alcanzar este objetivo se lanza un Crowdfunding, sin embargo, el crowdfunding no resulta exitoso y el desarrollo de la herramienta depende de los clientes de Agora Voting SL. Los trabajos para Podemos y otras organizaciones siguen financiando el avance de la herramienta, al fin y al cabo esa es la ventaja del software libre, todo suma.

Mientras tanto, Podemos sigue superando sus propias cifras, 112.070 personas votan los documentos fundacionales de Podemos.

NOVIEMBRE

En noviembre se producen varios encuentros relevantes donde participa Agora Voting, en Austria se celebra el encuentro EVOTE2014 sobre voto electrónico a nivel europeo. También Julia Reda, europarlamentaria pirata, celebra un encuentro para impulsar el uso de la democracia líquida.

La difusión del proyecto también es notable en España, artículos como este  del diario.es ensalzan sus virtudes y este otro de Ricardo Galli demuestran la importancia de los observadores externos.

DICIEMBRE

El año cierra en círculo, Podemos celebra las elecciones internas en los círculos municipales, que bien podría servir para vislumbrar cómo será Agora Voting 3.0.

municipales_podemos

 

La plataforma muestra ya una gran madurez y profesionalidad, es el fruto de un gran trabajo donde 85.000 votantes participan en la elección de candidatos para 769 municipios en otras tantas votaciones simultaneas. Allí vemos a algún viejo conocido que apostaba ya hace un año por la democracia online.

2015

Aún no hemos descubierto los taquiones pero ya estamos cocinando 2015.  La primera noticia es la presencia de Agora Voting en Fosdem a finales de Enero. Se trata del mayor encuentro europeo de software libre y se intentará difundir el proyecto en Europa.

Por lo demás, los objetivos e ilusiones siguen siendo los mismos, por un año más libre y democrático, ¡salud!

Post Mórtem

Análisis de las primarias pirata

Ya se han publicado los resultados de las primarias en la Confederación Pirata para las elecciones europeas, esta votación ha dejado muchos elementos para el análisis; se han implementado nuevas funciones y se ha producido también algún fallo importante a tener en cuenta.

En esta votación se ponían a prueba las autoridades de votación, las autoridades actúan como testigos y guardianes de la votación: mientras una autoridad no esté comprometida, no se podrá descifrar el voto ni manipular el resultado. En este caso se utilizaron dos autoridades independientes, una en Pirates de Catalunya y otra en Piratas de Madrid.  Esta función aumenta la seguridad de la votación, pero se produjo un imprevisto en los archivos de texto que generan.

Eduardo estuvo pendiente de la votación y nos relató detalladamente las incidencias (texto integro).

El primer problema que nos encontramos fue alarmante: de 191 votos, el sistema de recuento de las autoridades parece que sólo había reconocido 37 y los demás los había dado por inválidos.

 

Cero a la izquierda

Un clásico en programación, al transformar los votos, no se identificaban correctamente los ceros a la izquierda.

Al principio entramos en modo pánico. No obstante, nos pusimos a mirar los votos uno por uno y nos dimos cuenta de que el problema era claro: el sistema de recuento de las autoridades no había tenido en cuenta que los votos cifrados donde la primera opción sea de una sola cifra, el voto no aparece como “0122” sino “122”.

[…]

Y fueron los ceros de la izquierda la razón principal por la que la inmensa mayoría de los votos habían sido invalidados en el recuento. Hemos también de indicar que el fallo era en el recuento de las autoridades (software election-orchestra) únicamente: en el servidor web de ágora (agora-ciudadana) se hace el recuento con una copia del mismo software que SÍ que había tenido en cuenta que faltaban los ceros a la izquierda y donde el recuento no iba a generar este problema. No obstante, como el servidor de ágora había recibido el recuento pero no lo había publicado (se acordó publicarlo al ída siguiente), este detalle tardamos un tiempo en recordarlo.

Este fallo se pudo solucionar satisfactoriamente, pero quedaron algunos intentos de voto fallidos. La situación fue preocupante en su momento y tuvimos que analizar con mayor profundidad la razón de ser de 3 votos que no se pudieron identificar y otros 2 votos perdidos por un fallo del programa.

Los 5 votos nulos

En el recuento de la votación, 3 votos emitieron un identificador no válido, en un principio no pudimos descubrir si se trataba de intentos maliciosos de sabotear la votación o de incompatibilidad con algún navegador.

No, no tengo aun respuesta para saber qué significan esos votos. Además debemos decir que como los votos los recibimos cifrados, no podemos bloquear aquellos votos que no sean válidos. Pero eso a nosotros no nos importa: el voto inválido, como meter un chorizo en el sobre, es legítimo. El problema es que te llegas a preguntar si es un error de nuestro software o si a lo mejor ha sido alguien que quiere jugar con nosotros y ha modificado su cabina de votación en su navegador para generar votos inválidos para él, su padre y su hermana a mano, por ejemplo. Es algo que no podemos verificar.

La única otra opción que barajamos que sea posible es que simplemente haya algún tipo de error que afecte a cómo se codifica el voto de esa curiosa manera en algún navegador. Nosotros hemos probado a votar en múltiples navegadores incluso tablets y móviles IOS/Android, pero no en todos (¿de veras crees que lo hemos probado en Internet Explorer 7.5 para Mac OS 10.2.3? lo siento pero no).

Más adelante David resolvió el misterio de los tres votos, se debió a una incompatibilidad con Internet Explorer 6 ó 7. Este descubrimiento ha permitido descifrar los votos, que no afectan a los resultados de las elecciones.

Recordad que una de las funciones que comenté que usábamos para codificar el voto era parseInt(). Resulta que no le especificamos la base (10), y que aunque en el standard [1] ECMAscript 3 se desaconseja y en ECMAscript 5 se prohibe, algunos navegadores si especificas un cero a la izquierda del número a parsear interpreta que la base es 8, correspondiente a numeros octales. Concretamente en IE6, IE7, IE8, o IE9 puede pasar esto.

Aquí se pueden consultar las aclaraciones más detalladas. Los tres votos son nulos por la incompatibilidad.

Esos 3 votos los sigo considerando inválidos porque no sabemos qué ocurrió, puede que alguien malicioso los escribiese a mano (poco probable) o probablemente fue con un Internet Explorer haciendo clic, en cualquier caso como digo no afectan al resultado.

Otros dos votos no se pudieron contar como votos en blanco, debido a que la opción de voto en blanco coincidía con una combinación de voto. Este error es propio de la herramienta, afortunadamente es de fácil solución.

Como error sí que hemos detectado que los votos en blanco se codificaban como “2424”. Que si lo traduces, le restamos uno y se queda en “2423” que significa “opción 24, opción 23”

En definitiva, estos cinco votos, dieron tema de debate para la aprobación de los resultados, cuando se analizaron detalladamente se pudo establecer que no afectaban a los resultados y que su origen era fácilmente identificable y verificable, gracias a las autoridades.

Pecata Minuta

Hubo más problemas en la votación, por un lado, algunos votantes no recibieron email de confirmación de su voto. Esta incidencia no afecta a la seguridad de la votación, ya que el votante siempre puede comprobar si su voto ha sido registrado. Sin embargo está ya en la lista de asuntos pendientes.

También he de decir que esta vez hemos tenido un número de incidencias muy bajo durante la votación: la puesta a punto que supusieron las dos experiencias de congresotransparente lo dejaron bastante fino en ese sentido. Sólo ha habido algún problema puntual de envío de emails notificando que el voto ha sido recibido correctamente.

También hubo problemas con la configuración de idioma de algunos navegadores, que impedía acceder correctamente según el idioma de algunos navegadores. Otro error con solución relativamente fácil.

Medidas para el futuro

Dado que nuestra colaboración con los piratas fue desinteresada y de los pocos recursos con que contamos, hicimos pruebas pero no se detectaron errores en las pruebas. En futuras ocasiones intentaremos que las pruebas sean más amplias, con más gente votando.

Además, dado que ha habido algún fallo de codificación previo al cifrado, vamos a implementar tests automáticos de comprobación de codificación y descodificación del voto en la propia cabina de votación para detectar si hay algún problema en el navegador al codificar el voto, y notificar el problema en tal caso.

– implementaremos también en javascript decodificación del voto, y comprobaremos antes de votar que si codificas y decodificas tu voto, sale lo mismo que tenías al principio. Es difícil que si hay algún fallo ese fallo sea exactamente inverso en la decodificación por lo que es un test interesante.

– implementaremos varios tests unitarios aleatorios que se ejecutarán también automáticamente en la cabina de votación antes de votar, donde se generarán votos aleatorios y se les pasará por el proceso de codificación y el de descodificación.

– implementaremos varios tests unitarios con ejemplos de codificación que podría fallar, donde comprobaremos que el resultado de la codificación es el esperado.

Veredicto: Los piratas ya tienen sus 3 primeros candidatos

El resultado de las votaciones fue aprobado unánimemente (8 votos a favor y 1 abstención) por la confederación pirata y ya han notificado los resultados, que enlazamos nuevamente aquí. La experiencia ha sido muy positiva, se han presentado problemas que han sido corregidos por la seguridad del sistema, sin embargo, es también un recordatorio de que el software nunca se acaba y que nadie es perfecto :)

Mi conclusión es que es cierto que ha sido un poco arriesgado usar esta versión “beta” para las primarias, pero que por otra parte el sistema incluye una serie de medidas de seguridad como es la distribución de confianza en autoridades que lo hacen medianamente robusto. Sin quererlo, hemos demostrado la utilidad del sistema de autoridades para que no se tenga que confiar sólo en nosotros. Además el secreto del voto se ha preservado, y el recuento es verificable.

¡Gracias!

Gracias a todos los que han ayudado a sacar este proyecto adelante, quedan muchos retos por delante, no solo técnicos, la participación por ejemplo es un desafío constante. Pero como diría Gimli: “Muerte segura, victoria incierta… ¿¡A qué esperamos?!”.

 

 

Crónica del 2013

Despedimos el año y es un buen momento para mirar atrás. El proyecto ha estado muy activo en 2013, se han llevado a cabo varias iniciativas, nuevos contactos, importantes desarrollos en la herramienta y también iniciamos el año con grandes expectativas.

2013  no empezó con buen pie, se había presentado una propuesta FP7 en la Unión Europea para una beca de investigación y desarrollo junto con universidades, empresas y asociaciones, pero la propuesta fue denegada y el proyecto corría el riesgo de ser abandonado.

 

En gran medida fue el Proyecto Baldoví lo que nos empujó a seguir adelante, la oportunidad era única, un diputado recurriría por primera vez a la democracia directa en el congreso de los diputados, y la herramienta elegida fue agoravoting. En junio se presentó la versión 2.1 con grandes mejoras y que fue la utilizada en el proyecto Baldoví.

 

 

 

La segunda edición del Proyecto Baldoví fue la impulsora también de un Hackaton en el que continuamos con el desarrollo, la gran novedad fue la inclusión del voto cifrado, que pudo utilizarse en el congreso, para entonces también habíamos conseguido tener la herramienta disponible en 4 idiomas. En octubre se añadió el voto cifrado en un hackaton que celebramos en Madrid y se utilizó en el congreso nuevamente gracias a Baldoví, Equo y Compromís.

 

Ya en noviembre lanzamos una nueva iniciativa de autoridades distribuidas, con el mismo sistema de Bitcoin y con el primer intento de Crowdfunding (en bitcoins) que ha realizado el proyecto.

 

Muchas cosas se quedan en el tintero, los contactos, apoyos y colaboraciones han sido también innumerables, además del PdI, Equo y Piratas de Madrid con los que llevamos tiempo colaborando, hemos conocido a la Democracia en Red de Argentina, a los Piratas de Islandeses y de Minessota, que se han interesado y han abierto vías para la colaboración.

 2014

 Pero lo más importante es que 2014 se presenta con nuevos proyectos e ilusiones, el 23 de enero comienzan las primarias Pirata para el parlamento europeo en agoravoting. Y también el proyecto Escaño 110 ciudadano en el parlamento andaluz. Pero ya tendremos tiempo para hablar de ello, por ahora gracias a todos los que habéis participado y ánimo para un 2014 lleno de democracia y software libre.