Hace 4 años | Por XQNO a civio.es
Publicado hace 4 años por XQNO a civio.es

El día 20 de junio presentamos nuestro recurso contencioso-administrativo ante la negativa del Consejo de Transparencia de obligar a hacer público el código de un programa que decide quién resulta beneficiario del bono social eléctrico. Entendemos que el derecho a saber también alcanza a aquellos programas informáticos que a diario toman decisiones sobre la vida de los ciudadanos. Y para conocer cómo un software, en su interpretación de la normativa, llega a un resultado —cómo toma una decisión— es necesario acceder a su código fuente.

Comentarios

baronrampante

#2 Hubo un tiempo en meneame en que este hombre era un profeta loco y Google nuestro mejor amigo.

Bourée

#6 Así debería ser.

Aokromes

#6 que el codigo fuente sea publico no tiene por que decir que el codigo usado sea el publico.

Arcueid

#24 En ese caso no cumplen con lo que pide esa carta: que el software usado en servicios de la administración pública sea público. Que los que se inscriben a un sorteo para obtener un bien, ya sea el caso del bono social eléctrico o cualquier otro beneficio:

> "La aplicación del bono social del Gobierno niega la ayuda a personas que tienen derecho a ella. Responde que no cumplen los requisitos a personas que sí los cumplen, y lo hace sin dar explicaciones concretas para resolverlo y pese a haberlo comprobado"

---

La falta de transparencia y claridad de la administración lleva a cuestionarse qué tipo de sistema hay detrás y cómo se asegura que la evaluación de los requisitos es justo y que la respuesta es informativa.

Está muy bien el paso de la demanda. Todo aquello mediante lo que se nos controle y regule desde la administración debería estar disponible y claramente definido; tanto código fuente como una interpretación clara y actualizada para aquellos que no puedan interpretar ese código.

De la demanda:

"En referencia a la resolución de 15 de noviembre de 2017, de la Secretaríade Estado de Energía, por la que se pone en marcha la aplicación telemáticaque permita al comercializador de referencia comprobar que el solicitantedel bono social cumple los requisitos para ser considerado consumidor vulnerable, solicitamos:
• La especificación técnica de dicha aplicación.
• El resultado de las pruebas realizadas para comprobar que la aplicaciónimplementada cumple la especificación funcional.
• El código fuente de la aplicación actualmente en producción.
• Cualquier otro entregable que permita conocer el funcionamiento de la aplicación.

Yrithinnd

#7 14Z

E

#9 Indra hubiera metido la pata al copiar de la servilleta lol

lecheygalletas

#7 Pues más o menos. El gerente de mi empresa tiene bono social, lo sé por que me lo encontré en correos recibiendolo, y no creo que sea pobre precisamente.

Paracelso

#31 ¿Familia numerosa?

E

#34 probablemente, mi anterior jefe también lo tenía. Del Opus y cobrando 170.000 anuales

lecheygalletas

#34 #60 divorciado con dos hijos pero adosada con piscina.

Aokromes

#10 es lo que dice #3 que pueden publicar un codigo fuente y usar otro.

D

#30 No basta. Si tú dices que tu código hace A y B y que devuelve C y D pero no almacena tus datos personales, te clonas el repo y compruebas que hace A y B, que devuelve C y D pero obviamente no puedes saber o demostrar que lo que está en producción sí se queda con tus datos.

Es como DuckDuckGo. Ellos dicen que no se guardan tus búsquedas pero es 100% confianza en ellos. Te pueden estar timando.

Z

#40 Y no solo eso, ¿qué pasa con algoritmos no deterministas o aquellos cuya entrada de datos es masiva y no simulable, como con con el big data y deep learning?

Ahí no tienes manera de comparar las salidas.

D

#3 El problema de las especificaciones funcionales es que están en una capa de abstracción muy muy lejana de la realidad computacional de las máquinas que ejecutarán finalmente los algoritmos.

Un programa informático es un conjunto de formulas que transforman datos para producir un resultado. El lenguaje para expresar esas transformaciones son las formulas. Las especificaciones funcionales son casi siempre deseos abstractos expresados de manera vaga por personas que no comprenden cómo funciona una computadora o cómo consigue computar sus resultados.

Las especificaciones funcionales al final son "deseos" inespecíficos más o menos irrealizables que un ingeniero transforma, con imaginación, en un programa materializable que más o menos se le parece.

Obviamente la democracia no puede depender de eso.

#10 #23 Para protegerse de eso hay que utilizar un proceso auditable pero además seguro y privado. Los procesos que se usan en blockchain tienen mucho que aportar a problemas de esta índole. Es decir, la forma en la que se aborda ese problema es a través de procesos en el que las partes interesadas puedan matematicamente verificar lo suyo sin poder ver lo de los demás.

El gran problema de esto es como mantener privados los datos a la vez que auditables, eso se hace siempre con trucos de asimetria de información, de forma que nadie tiene todos los datos, pero todos podemos ver una parte y validar lo nuestro, para este caso habría que pensarlo un poco y conocer mejor los detalles de este proceso.

#36 #28 DTF? estamos en el 2019, madre mía.

#40 no, no es como duckduckgo, por que aquí tu miedo es que el computo se haga diferente, eso es algo que si se puede verificar si el proceso está bien diseñado. en Duckduckgo tu miedo es que guarden datos, sobre si alguien guarda datos o no, no hay forma posible de verificación.

#41 decisiones de este tipo no pueden depender de algoritmos no deterministas ,obviamente todo tiene que ser determinista para que pueda ser reproducible, idempotente y auditable, además de que sino, sería imposible alcanzar consenso en sistemas distribuidos etc etc, por lo que tiene que ser determinista. Sobre el tema del bigdata o del machine learning, no estamos preparados legalmente para que ciertas decisiones las tomen algoritmos de ese tipo, donde auditarlos es tan complejo, sino imposible.

Piensalo, una decisión administrativa no puede depender de un modelo de machine learning, que a saber como ha sido entrenado y que sesgos tiene.

D

#40 Es que este articulo no habla de quedarse con tus datos o no, sino de algoritmos

#41 Evidentemente, jamas va a existir un algoritmo "no determinista" que regule nada

#43 Exacto

s

#55 Uno que utilice un generador de números aleatorios como base de sus decisiones? Pregunto

D

#69 Y quien es el retrasado que va a crear normas aleatorias?

s

#71 decisiones que dependan de un sorteo por ejemplo del que se queda como excedente de contingente en el servicio militar obligatorio no hace tantos años.. jiji
Normas cuyas decisiones (por ejemplo si hacías o no lo mili obligatoria) puedan depender de una aleatoriedad...

D

#72 Pues el sorteo se hace a mano si hace falta...

s

#73 ¿y? ¿cambia algo? recuerdo que "algoritmo" es "una receta", los pasos a seguir, los siga una máquina o personas. Quiero decir ¿qué más da?

D

#76 Cambia que las personas cometen errores...

s

#84 Pero en nada a lo que he dicho. Yo he replicado contra algoritmls que tomen decisiones sin que puedan utilizar el azar para ello

#41 que tu volumen de datos sea enorme no quiere decir que tus resultados no puedan ser replicables desde un punto de vista estadístico. Es cierto que no vas a conseguir obtener el mismo valor para la muestra X cada vez que hagas su predicción, pero las salidas tienen que dar una métrica similar

eldarel

#28 si fuera por la DTF, jamás habría bugs lol
Yo más que el código fuente, exigiría auditar mediante un extenso y completo conjunto de pruebas...

eduasan

#10 En ese caso concreto puede ayudar la tecnología blockchain y los smart contracts. Echadle un ojo a los lightweight contracts de Ardor. Programas en java firmados (puedes decompilarlos para ver qué hacen y la firma evita que se puedan modificar de estrangis)

D

#75 ¿Existe ya una tecnologia que te permita publicar codigo usando blockchain en sus mecanismos de seguridad y que te permita verificar que ese binario corresponde al codigo publicado y no a otro?

Porque si no existe no se que hacemos barajando esa posibilidad. Y si pretendes que España invierta en I+D para desarrollarlo, siento desanimarte pero dudo que sea así.

eduasan

#83 Sí existe. Precisamente la plataforma de blockchain se llama Ardor y la característica se llama Lightweight contracts. Al usar java se puede decompilar fácilmente. Y al firmar el ejecutable (el .class) puedes garantizar que no lo cambian. Y al ser blockchain, la ejecución es publica y queda registrada de manera imborrable.

D

#86 No se como insistir ya en esto, una decompilación no te da el codigo original, te da un codigo cuyo resultado de ejecución es el mismo. Es imposible dar con el codigo original ya que el propio "compilador" que genera el bytecode hace un monton de arreglos para ayudar a los programadores patanes.

Por ponerte un ejemplo si tu compilas una concatenacion normal de string y otra con stringbuilder, el resultado del bytecode es el mismo.

eduasan

#87 El byte code generado es funcionalmente equivalente al código original. Sólo cambia ligeramente en pos de la eficiencia (concatenación de strings, try-with-resources...) las optimizaciones "fuertes" las hace el C2 al compilar a código máquina (tras pasar 15.000 veces por el mismo punto), y aún así, sigue siendo funcionalmente equivalente salvo que juegues peligrosamente con la concurrencia (que no debería ser el caso).

D

#88 ¿Y donde he negado eso?

o

Que se nos regule con código fuente???
Errónea como poco.

x

#4 Es interpretado

o

#5 Acepto barco, aún así no es muy correcto.

D

#5 Prefiero los compilados.

x

#16 Y los combinados

D

Voto sensacionalista porque regular "mediante codigo fuente" no significa nada. Como para leer el resto...

#4

o

#29 yo vote errónea, pero totalmente de acuerdo, no hay por donde cogerlo.

bradbury9

#11 si picas en el enlace puede darte la misma impresión

T

#17 soy más de tréboles.

D

Los "algoritmos" son las normas jurídicas , que deben ser públicas, claras y bien definidas, si no lo son existen remedios jurídicos y politicos. Lo de exigir el código fuente de los programas de las AAPP es una absurdez que no se le ocurre ni al que asó la manteca. ¿Qué será lo siguiente? ¿Publicar en el BOE cada commit al CVS o al git?

I

#15 no estaría mal un Git con todo el código de las administraciones públicas, para auditoría y para reutilización, que me juego el pescuezo que hay más de 200 programas de diferentes ayuntamientos que hacen lo mismo y se han pagado 200 veces.

D

#35 Pues ganarías la apuesta, pero para controlar eso es mas práctico controlar los contratos públicos. Todos los gastos de las AAPP son o deberían ser públicos, pero si no se puede o no se quiere controlar que no se gaste el dinero 200 veces en lo mismo, como para pedir la reutilización del código...

s

#15 Esto ya se hace sin ningun problema:

Algoritmo en pseudocodigo: https://www.agenciatributaria.es/static_files/AEAT/Contenidos_Comunes/La_Agencia_Tributaria/Informacion_institucional/Campanias/Retenciones_trabajo_personal/2019/ALGORITMO_2019.pdf

Codigo fuente: https://github.com/ctt-gob-es

Pero en mi opinion, el problema de fondo no es ese. El problema es que se estan aplicando unos criterios desconocidos, que no son recurribles por que no son publicos. La norma probablement es interpretable, y publicar un algoritmo ayudaria a entender su aplicación o recurrirla si no se ajusta a la norma.

c

Pero que tontería es esta ?

El código es código y depende lo que se busque hacer con el hará una cosa u otra .

Ya me gustaría a mí q estuviera más automatizada la política y hubiera menos políticos que lo único q hacen últimamente es separar, dividir y enfrentar a las personas.

Arcueid

#25 Que el código haga una cosa u otra no tiene nada que ver con que los individuos que dependen del resultado del mismo (el código) puedan conocer cómo funciona el mismo (para saber de qué depende la resolución de una petición, de un concurso, para hacer auditoría pública, etc).

D

#25 de tontería no tiene nada.

Basicamente te meten un código en decisiones administrativas, pero te ocultan el código que toma las decisiones, por lo que tu has perdido el derecho a auditar.

#38 que está mas inspirado que yo hoy lo explica de manera mas concisa y directa.

ChukNorris

#38 Con comprobar que los resultados sean correctos, debería ser mas que suficiente ...

e

#47 No puedes comprobarlo puesto que son algoritmos que se aplican a datos personales a los que no debes tener acceso. Si no fuera así pues vale, casi que te podría dar la razón. Pero no es técnicamente posible.

ChukNorris

#50 Tienen los datos de las personas que reclaman diciendo que está mal ... incluso el juez podría pedir que auditasen el programa y sancionar en consecuencia. De ahí a exigir que el código sea público ... (que estaría bien, pero no es necesario).

e

#54 Y no te das cuenta de que es inviable reclamar ante el juez por 100€ y que suponiendo que alguien lo haga unos cuantos millones de quedan fuera de la reclamación? Cómo el tema de los contadores, etc.
Eso es legislar en la chapuza y a sabiendas de que en la práctica, se están vulnerando los derechos de millones de usuarios.

ChukNorris

#57 Las bases para reclamar el bono social están claras y son bastante simples, con reclamar a quien corresponda ya está ... la reclamación ante el juez es para que les den el código fuente, no para reclamar el bono social.

¿Según tú debería publicarse el código fuente de hacienda que detecta defraudadores?

e

#59 ¿Según tú debería publicarse el código fuente de hacienda que detecta defraudadores?
Según yo el código fuente de hacienda que detecta defraudadores lo debe hacer basándose en lo que la ley permite a hacienda de meterse en los asuntos de los demás, que no es poco, pero no ir más allá de eso. Porque si va más allá es lo mismo que si un policía entra en tu casa sin orden judicial, por ejemplo. ¿Según tú debería está bien que esté prohibido que un policía pueda entrar en tu casa sin orden judicial?
Que lo pretendas hacer mediante auditorías, mediante partes de código fuente públicas dejando otras que sean privadas o el método que mejor se te ocurra se puede debatir y seguro que se puede llegar a algo mejor que poner el culo en pompa.
Lo que no es admisible es que por el hecho de que una tarea sea realizada de forma automática, pretendas que se puedan saltar las garantías legales y procesales que deben ir asociadas a cualquier procedimiento legal, más aún cuando es precisamente más fácil asegurar esta garantía procesal... si se quiere, pero no se puede dejar a la buena de dios cómo se resuelve un procedimiento del que puede depender tu vida, tu futuro, tu solvencia o cosas muy gordas.

WarDog77

#57 Ese es el problema de no tener una figura de protección al ciudadano consumidor pública, funcional y proactiva que centralize todas las reclamaciones para detectar acumulaciónes de "errores" no casuales.

D

Mejor código civil...

bradbury9

Código de por si con una licencia no pública, demandar acceso al mismo debido al uso dado... ¿Qué se han fumado? Lo lógico sería legislar para que eras herramientas fuesen OpenSource. Se me ocurre preguntar que componentes emplean y si alguno de ellos es GPL obligarles a publicar el código del conjunto, como obra derivada

Aviso, no estoy puesto en licencias de software

Aokromes

#13 usar codigo GPL para programas servidor no obliga a publicar las modificaciones, solo si redistribuyes binarios a terceros, es mas, puedes modificar programas GPL para tu empresa, distribuir dichos programas en tu empresa pero no estar obligado a compartir el codigo.
Es mas, si alguien hiciese leak de ese codigo modificado para un entorno privado seria ILEGAL usarlo.

D

#27 A menos que sea la Affero GPLv2, o bien en la GPLv3 incluya la cláusula Affero. En ese caso sí tienen que publicar el código.

Aokromes

#42 AGPL != GPL
P.D. GPL 2.0 == basura lol y la cantidad de gente que odia GPL 3.0 es de aupa lol

D

#53 Tú has dicho "código GPL" en genérico, y el código cubierto por la affero GPL ES GPL.

Por otro lado, por la segunda parte deduzco que eres fan de las licencias BSD

Aokromes

#65 gpl 2.0 para clientes bueno, pasable, siempre y cuando no le heche la garra una empresa, para servidores, una aberracion total.
https://github.com/TrinityCore/TrinityCore me gustaria cambiar la licencia de este proyecto, pero vete tu a encontrar todos los colaboradores, o reescribir el codigo hecho por los mismos.

D

#66 Ya... es que cuando se escribió la GPLv2, la tendencia era la computación personal. La GPLv3, sin embargo, sí incluye opción de integrar la cláusula Affero. Lo que no se es si se puede tomar código licenciado como "GPLv2 o posterior" y convertirlo en "GPLv3 con clausula Affero".

Aokromes

#68 "poderse" se puede si logras la aceptacion de todos los que contribuyeron, y no vale "anuncio cambio de licencia y si no se responde en x tiempo se da por aceptado" por eso hay que o reescribir todo el codigo de los que no se pueden localizar o seguir con las mismas, con lo cual.... a lo facil lol

D

#74 Hombre, esa solución es la obvia. Me refiero a que no puedes hacer como en otros casos, como por ejemplo coger código BSD y relicenciarlo como GPL con tus cambios.

Aokromes

#77 de todas formas en el caso de ese proyecto poco se puede hacer con las licencias lol, me refiero, si alguien se las salta no es que podamos hacer nada por evitarlo lol

polvos.magicos

Ese es el problema, que hay quien piensa que vivimos en un estado de derecho cuando en realidad es un franquismo tardío disfrazado de democracia, la verdadera aquí no le he mos conocido nunca.

D

Esta bien que le pidamos a programas informáticos lo que no le pedimos a nuestros dirigentes

D

#39 si se lo pedimos, las administraciones son todas auditables y además todas se rigen a través de unos procesos marcados por la ley, y si no lo hacen están obrando mal, ya sea consciente o inconscientemente, lo cual llega incluso a ser un delito.

Los programas informáticos les permiten esconderse detrás de decisiones de algoritmos a los cuales no tienes acceso.

D

#48 Entiendo que un word o un excel te los vendan ya compilados porque son para el usuario final, pero que un programa destinado a regular lo público tenga opacidad a la hora de mostrar el código fuente lo veo difícilmente justificable

D

#49 absolutamente de acuerdo.

M

Las leyes son un "código fuente" que como dice la frase "No conocer las leyes, no exime de cumplirlas" https://es.wikipedia.org/wiki/Ignorantia_juris_non_excusat , cosa que salvo que fuera asignatura obligatoria en la escuela, yo solo me se un par de leyes y el manual de conducir que ese si me obligaron a saberlo para tener el permiso de conducir.

l

Todo el sistema legislativo debería de estar en repositorios git o similares.

m

en serio, quién se ha creído lo del estado de derecho?

katinka_aäå

Echaré un vistazo a estos de civio, quizás merezcan una pequeña donación ya que me están ayudando mientras yo comento desde el sofá.

joselib

No veis lo tonta que es esta noticia? Qué importa que el código esté o no esté publicado? Lo que importa es que estén publicados los motivos por los que se recibe esa ayuda y los que la reciben.

Y si se implementara la función que calcula esto por hardware como se podría dar el código fuente? O si se hace en código ensamblador.

dark_soul

Ya se nos controla con el adn.

d

si hombre lo que faltaba

D

Microchip bajo la piel (aqui los paletos ya lo llevan, y el sistema, claro, esta encantado) , el gran hermano chino... o, sin tardar la nueva entrega, la pupila tallada con un código de barras.

En realidad... son DNIses modernos...que controlan mas tus movimientos fisicos, de cuentas, etc.

Que maravilloso es vivir en la seguridad que te da estar tras unos barrotes!! juas juas juas

D

Bien. Al fin se abre el debate. Codigo libre EN TODA LA ADM PUBLICA. ¿Xk confiar en humanos si tenemos tecnología confiable? Ya veras como desaparecen los chorizos y ya nadie querrá ser politico. La solucion la tenemos delante, solo hace falta abrir el cerebro. O esperar a la proxima generacion.

a

El Estado es una herramienta de la plutocracia y fue creada por el subsistema Política.

Cualquier herramienta creada por la plutocracia aplica la única versión del concepto del derecho que existe: la creada por la plutocracia.

El Pueblo jamás creamos, hemos creado ni crearemos otra versión del concepto de derecho: el único que existe no nos pertenece.