Reunión 2 (MeekSTV): Reunión con el equipo de Agora Voting

De Wiki de EGC
Revisión del 12:35 24 nov 2015 de Danababar (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Realizado el 18 de Noviembre de 2015

- Asisten a la reunión: Abadín Barrantes, Daniel; Orcajo Delgado, Santiago

La reunión virtual se realiza a través de Mumble y Titanpad.

Dudas resueltas:

• ¿Para qué sirve el archivo go.r dentro del agora Tally?

El archivo go.r implementa en el lenguaje R un sistema de recuento de votos de comparaciones por pares. La comparación por pares es un sistema de votos que sirve por ejemplo para unas primarias, se tienen parejas de candidaturas ordenadas y tú eliges cual es la que prefieres. Pero el archivo go.r debemos ignorarlo en nuestro ámbito, ya que no interviene para nada con nuestro módulo, así que lo que haremos será comentar los tests referentes a él.

• ¿Tenemos que simular el sistema al completo con los cambios en el meekstv o solo 'nuestra' parte?

Lo primero que tenemos que conseguir es que la clase MeekSTV funcione con el agora-tally, y después ya en el agora-result si hubiera tiempo (imprimiendo los resultados en el formato que se quiera, JSON por ejemplo). Pero principalmente, hay que satisfacer el correcto funcionamiento para agora-tally.

• ¿Existe algún tipo de documentación del proyecto más allá de los comentarios dentro del código?

No existe más documentación a parte de la que se encuentra en el código. El equipo de Agora Voting simplemente se dedico a utilizar la librería de terceros sin comentarla detalladamente.

• ¿Exactamente por qué el soporte de MeekSTV está deprecated? ¿Tiene algo que ver con el hecho de que la librería OpenSTV dejó de ser código libre?

El MeekStv está deprecado, porque el equipo de Agora Voting no lo ha vuelto a usar, pero verdaderamente no saben si está deprecado. Lo que quieren es que veamos si sigue funcionando, o si por el contrario falla en algún sitio, por ejemplo porque se hubiera actualizado la interfaz del MeekSTV. Pero la razón principal es que lo han puesto deprecado porque no lo han vuelto a usar desde su implementación.

• ¿Por qué el código de BaseSTVTally está copiado con diferentes nombres y cambios menores a todas las clases que implementan recuento excepto la de MeekSTV, que directamente usa BaseSTVTally? ¿Tiene esto algo que ver con el hecho de que MeekSTV esté deprecated?

La razón por la que el código de BaseSTVTally esté copiado con diferentes nombres y cambios menores es que no hubo tiempo en la fase de desarrollo para hacer la abstracción de código. Respecto a nosotros, la clase MeekSTV apenas cambio de BaseSTV. No tiene nada que ver con que el MeekSTV esté deprecated.

Se nos explicó un poco el funcionamiento de la clase BaseSTV:

 * Esta clase se puede considerar como un wrapper (clase envoltorio).
 * El getId es el identificador del sistema de votación a usar.
 * El getDescription no tiene ninguna utilidad, pero para que una votación funcione debe tenerlo.
 * Cada pregunta tendrá un recuento diferente.
 * En el método parse_vote se realiza la codificación de los votos. Con el fin de contar también los votos en blanco.
 * En los otros sistemas de votación, en el archivo result_json se especifica la lista de ganadores, pero en el sistema de votación Meek no existe 
   la lista de ganadores como tal, ya que éste es un sistema de votación por rondas.