El juramento hipocrático del programador es una idea que lleva varias décadas ganando tracción. Muchos lo reclaman como necesario, debido a la enorme responsabilidad que tienen estos profesionales en nuestra sociedad y el gran poder que acumulan, que con frecuencia solo es auditado por ellos mismos en un ejercicio de autocrítica y autocontrol. ¿Es viable este juramento?

¿Qué es el juramento hipocrático (para los médicos)?

Es una compromiso que realizan las personas graduadas en carreras universitarias de medicina y ramas afines. Es una promesa ética completamente voluntaria tanto en el juramento como en el cumplimiento, que en esencia vincula al médico a prácticas a la vanguardia de la ética social aceptada, con la protección del paciente en el centro.

A pesar del hecho de que los juramentos hipocráticos no son de obligado cumplimiento, y que en ocasiones son meramente protocolarios, la realidad es que la cumplen casi todos. Con dos mil años de historia, la ética hacia el paciente está muy arraigada en la profesión médica. ¿Se puede diseñar un código ético del programador, y hacerlo tan universal como el médico?

El poder del programador: cuando el código es la ley

Durante muchos años, los programadores han tenido un poder descomunal en la forma en que toda la humanidad ve el mundo. No hace demasiado que descubrimos que grandes sesgos en el acceso a la programación por parte de varones blancos, heterosexuales y de países ricos (principalmente Estados Unidos y europeos) jugaban en contra del software accesible, por ejemplo.

Otro caso fue cuando en 1931 los criminólogos chicagüenses Clifford R Shaw y Henry D McKay relacionaron la delincuencia juvenil de Chicago con la geolocalización y el marco temporal, el sistema policial empezó a enviar patrullas allí donde había más delitos. Barrios marginales racializados y pobres. ¿El resultado? Allí encontraban más delitos, una profecía autocumplida que se retroalimentaba a sí misma. Un big data con sesgo algorítmico.

Algo parecido ocurrió con la Wikipedia, una enciclopedia que nació en 2001 con espíritu abierto pero cuyo código impedía la edición a todo usuario que no supiese programar. Eso dejaba fuera a casi todos los países pobres, pero también a las mujeres de los países ricos, cuyas competencias tecnológicas no es que fuesen escasas, sino que con frecuencia eran vetadas históricamente.

Artículos de la Wikipedia por idioma | Wikipedia | Consultado a 22 de julio de 2021
Artículos de la Wikipedia por idioma | Wikipedia | Consultado a 22 de julio de 2021 | Levanta la cabeza

Para muestra, la lengua sueca es hablada solo por unos 10 millones de personas, muy por debajo del chino mandarín (921 millones de personas) y el español (471 millones). Sin embargo, la wikipedia sueca tiene casi el doble de artículos que estos dos idiomas juntos. El código es la ley, como afirma Cathy O’Neil en su best seller ‘Armas de destrucción matemática’ (2017), y necesita ética con urgencia.

Todos a favor de la ética, pero cada uno la suya

La ética está cada vez más presente en la programación, aunque a menudo se ve en áreas específicas como la inteligencia artificial o la robótica, la publicación de propuestas éticas no se ponen de acuerdo. Como ejemplo, respecto a la IA estos años ha habido muchas propuestas:

A veces publicadas con meses o días de diferencia (2019 fue muy productivo), muchos de estos textos tienen líneas comunes pero no se observa una convergencia de valores. A veces, de hecho, se observa lo contrario: divergencias muy marcadas por diferentes filosofías históricas. ¿Tiene sentido que el juramento hipocrático de Pekín sea el mismo que en Madrid o que en Nueva York, cuando las éticas específicas difieren tanto como muchas leyes?

¿Cómo sería un corpus ético para programadores?

Desde hace unos años se puede leer en algunos foros especializados una modificación del juramento hipocrático médico a fin de convertirlo en un juramento hipocrático del programador. Sus puntos principales son:

  1. No produciré código dañino.
  2. El código que escriba será siempre mi mejor trabajo. No dejaré de forma consciente que el código defectuoso se acumule.
  3. Produciré para cada nueva versión, una prueba rápida, segura y repetible de qué el código funciona como debería.
  4. Organizaré las nuevas versiones de forma que sean pequeñas y frecuentes, para así no obstaculizar el progreso de los demás.
  5. Mejoraré mi código sin descanso y sin piedad a cada oportunidad. Nunca lo degradaré o haré peor.
  6. Haré todo lo que pueda para mantener mi productividad, y la de los demás, tan alta como sea posible. No haré nada que la perjudique.
  7. Me aseguraré continuamente de que otros puedan cubrirme la espalda y yo la suya.
  8. Mis estimaciones serán honestas tanto en magnitud como en precisión. No haré promesas sin estar seguro de ellas.
  9. Nunca dejaré de aprender y mejorar mis habilidades.

Por descontado, este juramento no garantiza una buena praxis, pero al menos sí fomenta un clima de cooperación con objetivos marcados. Al igual que los médicos organizan reuniones para determinar líneas de actuación en aquellos aspectos éticos más grises y complejos, los programadores pueden hacer uso de herramientas análogas.