Etica en la programacion y desarrollo de software: como escribir codigo etico y evitar sesgos.

Principios Eticos Generales

Este principio, que se refiere a la calidad de vida de todas las personas, subraya la obligación de los profesionales de la Informática, tanto individual como colectivamente, de utilizar sus habilidades en beneficio de la sociedad, de sus miembros y del entorno que les rodea. Esta obligación implica la promoción de los derechos humanos fundamentales y la protección del derecho a la autonomía de cada individuo. Un objetivo esencial de los profesionales de la informática es minimizar las consecuencias negativas de la Informática, como las amenazas a la salud, la seguridad, la seguridad personal y la privacidad. Cuando los intereses de múltiples grupos entran en conflicto, las necesidades de los menos favorecidos deben recibir ser priorizadas y recibir una mayor atención. Los profesionales de la computación deben evaluar si los resultados de sus esfuerzos respetarán la diversidad, si serán utilizados de manera socialmente responsable, satisfaciendo las necesidades sociales y si serán ampliamente accesibles. Se les anima a contribuir activamente a la sociedad mediante el trabajo voluntario y altruista que beneficie el bien público. Además de un entorno social seguro, el bienestar humano requiere de un entorno natural seguro. Por lo tanto, los profesionales de la Informática deberían promover la sostenibilidad del medio ambiente tanto a nivel local como global.

Evitar el Daño

En este documento "daño" equivale a consecuencias negativas, especialmente cuando son significativas e injustas. Los ejemplos de daño incluyen lesiones físicas o mentales injustificadas, destrucción injustificada o divulgación de información y daños injustificados a la propiedad, la reputación y el medio ambiente. Esta lista no es exhaustiva. Las acciones bienintencionadas, incluidas las que cumplen funciones asignadas, pueden causar daños. Cuando el daño es involuntario, los responsables están obligados a deshacer o mitigar el daño tanto como sea posible. Para evitar daños es necesario comenzar por una evaluación cuidadosa de los posibles impactos para todos los afectados por la toma de decisiones. Por otra parte, cuando el daño es parte intencional del sistema, los responsables están obligados a garantizar que el daño está éticamente justificado. En cualquier caso, es necesario asegurarse de que todos los daños son minimizados. Para minimizar la posibilidad de dañar a los demás de manera indirecta o no intencional, los profesionales de la computación deben seguir las buenas prácticas generalmente aceptadas, a menos que exista una razón ética convincente para hacerlo de otra manera. Además, es necesario analizar cuidadosamente las consecuencias de la agregación de datos y las propiedades emergentes de los sistemas. Quienes participan en sistemas generalizados o de infraestructura también deberían considerar el Principio 3.7. Un profesional de la Informática tiene la obligación adicional de informar sobre cualquier signo de riesgo del sistema que pueda ocasionar daños. Si los responsables no actúan para reducir o mitigar dichos riesgos, puede ser necesario dar la voz de alarma para reducir el daño potencial. Sin embargo, una información capciosa o equivocada sobre riesgos potenciales puede ser dañina. Antes de informar sobre los riesgos, un profesional de la Informática debe evaluar cuidadosamente los aspectos relevantes de la situación.

Contexto Cultural

Durante su paso por las facultades los futuros ingenieros informáticos estudian matemáticas, lógica, fundamentos de física, estadística, sistemas operativos, procesadores de lenguaje, programación y un extenso y rico currículo en el que a menudo la ética ocupa un lugar secundario, apenas una asignatura a lo largo de un plan de estudios amplio y exigente. Cuando abandonan las aulas y se dedican a la programación gran parte de ellos se encuentran sin embargo con que su labor va más allá de las cifras, objetivas, mesurables y frías. En su día a día se ven obligados a encarar dilemas morales, más peliagudos conforme el software gana espacio en la sociedad y asume funciones sensibles, como la gestión de bancos de datos privados o información estratégica. Las situaciones con implicaciones morales son más comunes de lo que cabría pensar. Y con frecuencia alcanzan calados dignos de los diálogos socráticos o las disquisiciones de Kant. A principios de 2017 varios programadores compartían que algunos de los bretes éticos con los que habían lidiado en sus empresas: el desarrollo de software para la mejora de armas que luego se usan con fines ofensivos, programas para empresas petroleras con un impacto directo en la degradación del medioambiente o simplemente el diseño de webs de venta que “presionan” a los usuarios con una subida gradual de tarifas para que compren cuanto antes. Uno de los ejemplos más recientes y que muestra la clase de conflictos a los que pueden dar lugar los dilemas éticos cuando colisionan los intereses de las empresas y los empleados lo brinda Google. A finales de 2018 trabajadores de la multinacional alzaron la voz de forma pública contra "Project Dragonfly", un servicio censurado de búsquedas para el mercado chino que podría usarse además para la vigilancia. En una carta divulgada por Medium, los empleados de Google muestran su recelo sobre el uso que podría darse a la herramienta y piden a los líderes de la compañía que cancelen el proyecto. No era la primera vez que lo hacían. Solo unos meses antes, en verano, un millar de trabajadores de Google ya habían rubricado una carta en contra de "Project Dragonfly".

Codigos Eticos Internacionales

A lo largo de las últimas décadas, organizaciones de prestigio internacional en el campo de la informática, como el Institute of Electrical and Electronics Engineers (IEEE), la Association for Computing Machinery (ACM) o la International Federation for Information Processing (IFIP) han elaborado códigos de conducta para sus propios profesionales. Hace dos décadas ACM e IEEE fueron un poco más allá y acordaron incluso un corpus para los ingenieros de software que destaca todavía hoy a nivel internacional como uno de los referentes deontológicos. No son los únicos. Con frecuencia los colegios profesionales se dotan a sí mismos de pautas regladas. La iniciativa suele emanar de la toma de conciencia de los propios expertos, quienes aprecian la responsabilidad de la labor que desempeñan y sus implicaciones crecientes. Los puntos en los que inciden son la integridad, transparencia, sostenibilidad o no colisionar con el interés público. Entre las entidades que se han dotado de pautas similares en España figuran, entre otros muchos, el Colegio Profesional de Ingenieros en Informática de Andalucía (CPIIAND), el de la Comunidad de Madrid (CPIICM), Catalunya (COEInf) o el del Principado de Asturias (COIIPA). A menudo recogen como en el caso del CPIIAND una relación de faltas e infracciones.

Son Suficientes Esas Pautas Profesionales?

Expertos en la materia advierten de los retos crecientes. Mary Eugenia Cartaya, licenciada en Ciencias de la Computación por la Universidad de La Habana, reconoce en su ensayo sobre ética y software el alcance cada vez mayor de los programadores, pero advierte de “riesgos insospechados que alcanzan a todas las esferas de la vida social”. “Es preciso que nos detengamos a reflexionar acerca de los valores éticos, porque están presentes en la primera relación de conexión entre el desarrollo tecnológico y la sociedad: el hombre”, señala: “Dada la repercusión de la informática en todas las esferas, cobra especial importancia la observancia de los valores éticos”. El célebre Catedrático de Lógica y Filosofía de la Ciencia Fernando Broncano apunta en una dirección similar. “Hay que desarrollar códigos de buenas prácticas y si es posible algún tipo de juramento hipocrático en general en todas aquellas ingenierías que sean sensibles”, abunda. Broncano señala que “la iniciativa individual” de cada profesional juega un papel determinante, pero admite también que es en el punto en el que esta choca con las dinámicas y pautas de las empresas donde a menudo se pueden producir conflictos. Por muy concienciado que esté un desarrollador, ¿Cómo puede aplicar un código deontológico si su compañía no se lo permite? "Me parece que es el momento para empezar a plantearse los límites éticos del software. La cuestión es si es algo que hay que cargar sobre las espaldas de los desarrolladores uno a uno o si hay que plantearse algún tipo de código que obligue a las plataformas y empresas a introducir los códigos de auto restricción en lo que respecta a los límites éticos”, comenta Broncano, quien señala las ventajas de que los profesionales se doten de pautas que gocen de “respaldo social o institucional” y que las empresas dispongan de un “código ético de buenas prácticas”. El reto no es sencillo. “Lo que ocurre con los abogados y médicos es que no solo manejan un código ético, sino una legislación positiva en la que se establecen límites al tipo de acciones que pueden realizar. En el caso de los abogados la confidencialidad, por ejemplo. Si hablamos de desarrolladores la cuestión es un poco más compleja. ¿Cuáles serían los contenidos de ese código ético, por ejemplo, en lo que respecta a si sus acciones van a tener efectos sobre el derecho a la privacidad de los usuarios? En casos así lo que puede hacer un escritor de códigos es una parte, pero la empresa tiene que hacer la otra, que es la más importante”, reflexiona el filósofo. El debate se encuentra todavía en “una primera fase”, pero Broncano valora que al menos se haya puesto ya sobre la mesa y tomada conciencia de su relevancia. “Los límites éticos deben ser una consideración intrínseca desde el primer momento en el que te pones a programar”, señala el Catedrático de Filosofía de la Ciencia antes de abogar por una mayor formación ética en las aulas donde se forma a los desarrolladores de software. “Hay un déficit serio. En Medicina hay biomedicina, pero en las ingenierías no hay algo parecido”, apostilla.

Complimiento del Codigo

El futuro de la Informática depende de la excelencia técnica y ética. Los profesionales de la informática deben adherir a los principios del Código y contribuir a mejorarlos. Los profesionales de la Informática que reconocen incumplimientos del Código deben tomar medidas para resolver los problemas éticos identificados, incluso, cuando sea razonable, expresando su preocupación a la persona o personas que se cree que violan el Código. Cada miembro de ACM debe alentar y apoyar la adhesión de todos los profesionales de la Informática independientemente de su afiliación a ACM. Los miembros de ACM que reconocen una violación del Código deben evaluar reportarla a ACM, con la posibilidad de resultar en acciones correctivas, tal como se especifica en el Código de Ética de ACM y en la Política de Aplicación de la Conducta Profesional.