Este artículo ofrece una visión general de la ética profesional aplicada a la programación y el desarrollo de software , en particular las directrices éticas que se espera que los desarrolladores sigan y apliquen al diseñar y desarrollar el código fuente de software de aplicación , y cuando forman parte de una relación programador-cliente o empleado-empleador. Estas reglas definen y distinguen las buenas prácticas y actitudes de las incorrectas [ 1 ] al crear software o al tomar decisiones sobre un asunto crucial o delicado relacionado con un proyecto de programación. También constituyen la base de las habilidades para la toma de decisiones éticas en el ejercicio de la profesión.
Historia
El académico estadounidense Norbert Wiener , profesor de Matemáticas e Ingeniería en el Instituto Tecnológico de Massachusetts (MIT ), fue el primero en sentar las bases de un nuevo tipo de ética a mediados de la década de 1940. Observó que las innovaciones y los avances en ciencia y tecnología , junto con el rápido crecimiento de la industria informática, estaban dando lugar a la aparición de este tipo de ética, a la que denominó «cibernética» (del griego «piloto de barco»). El uso emergente de ordenadores y otras tecnologías planteaba nuevos dilemas éticos que debían analizarse cuidadosamente con base en nuevas directrices éticas.
Wiener escribió tres libros que sentaron las bases de una nueva rama de la Ética tras el fin de la Segunda Guerra Mundial. Los libros fueron Cibernética (1948), El uso humano de los seres humanos (1950) y Dios y Golem, Inc. (1963). Aunque nunca se consideró a sí mismo como creador de una nueva área de la Ética, Wiener ofreció ejemplos detallados donde se podían identificar algunos problemas e implicaciones éticas y sociales generados por el uso de las computadoras . Sin embargo, sus ideas no fueron tomadas en serio por otros académicos, quienes lo consideraban un científico excéntrico que fantaseaba con la Ética (Bynum). [ 2 ]
En 1976, Walter Maner propuso un nuevo término en el campo de la ética, denominado «ética informática», basado en las ideas y principios de Norbert Wiener . Maner consideró necesario contar con un campo de la ética para la industria informática, al igual que existía en aquel momento en los sectores médico y empresarial. Maner también definió dicho campo como aquel que «estudia los problemas éticos agravados, transformados o creados por la tecnología informática» (Bynum) [ 2 ] , e incluso diseñó un curso de ética informática para estudiantes universitarios.
A principios de la década de 1990, Donald Gotterbarn afirmó que la ética informática debía considerarse una ética profesional con el potencial de impulsar el desarrollo y el avance de estándares de buenas prácticas y códigos de conducta para los profesionales de la informática (Bynum). [ 2 ] Colaboró con varios defensores de la ética profesional para redactar directrices éticas para la creación de códigos de ética. Participó en la creación del Código de Ética y Conducta Profesional, adoptado por la Association for Computing Machinery (ACM) en 1992, y del Código de Ética y Práctica Profesional de Ingeniería de Software, adoptado tanto por el Institute of Electrical and Electronics Engineers (IEEE) como por la ACM. Estos códigos también incluyen principios de ética de la programación.
Directrices éticas para la programación
La Association for Computing Machinery (ACM) es la mayor sociedad de informática educativa y científica del mundo. Cuenta con su propio Código de Ética y otro conjunto de principios éticos que también fueron aprobados por el IEEE como estándar para la enseñanza y la práctica de la ingeniería de software . Estos códigos son, respectivamente, el Código de Ética y Conducta Profesional y el Código de Ética y Práctica Profesional de la Ingeniería de Software, y algunas de sus directrices se presentan a continuación:
Del Código de Ética y Conducta Profesional (ACM): [ 3 ]
- Contribuir a la sociedad y al bienestar humano. Los programadores deben trabajar para desarrollar sistemas informáticos que reduzcan las consecuencias negativas para la sociedad, como las amenazas a la seguridad y la salud, y que faciliten las actividades y el trabajo cotidianos. Es una obligación desarrollar con altos estándares (Savage). [ 4 ]
- Evitar daños a terceros. Los sistemas informáticos tienen un impacto indirecto en terceros. Pueden causar la pérdida de información y recursos, lo que podría resultar gravemente perjudicial para los usuarios, el público en general o los empleadores. Por lo tanto, los desarrolladores de software deben minimizar el riesgo de dañar a otros debido a errores de codificación o problemas de seguridad, siguiendo los estándares para el diseño y las pruebas de sistemas (Código de Ética y Conducta Profesional). [ 3 ]
- Sé honesto y confiable. Este principio anima a los programadores a ser honestos y conscientes de sus limitaciones de conocimiento y formación al desarrollar sistemas informáticos. Asimismo, si un programador detecta algún problema en un sistema informático, debe informarlo de inmediato para evitar consecuencias indeseables.
- Reconocer debidamente la propiedad intelectual. Es obligatorio que todo desarrollador de software nunca utilice ni se atribuya el trabajo de otra persona, incluso si no está protegido por derechos de autor , patentes , etc. Deben reconocer y dar el crédito correspondiente al trabajo ajeno, y utilizar sus propias ideas para desarrollar software.
- Respeta la privacidad de los demás. Algunos usuarios hacen un uso indebido de los sistemas informáticos para violar la privacidad ajena. Los desarrolladores de software deben crear programas que protejan la información privada de los usuarios y eviten que personas no autorizadas accedan a ella (Código de Ética y Conducta Profesional).
- Respete la confidencialidad. A menos que lo exija la ley o cualquier otra norma ética, un programador debe mantener en secreto cualquier información adicional relacionada con su empleador que surja del trabajo en un proyecto.
Del Código de Ética y Práctica Profesional de Ingeniería de Software [ 5 ] (IEEE, ACM):
- Solo se debe aprobar el software si se tiene la certeza de que es seguro y cumple con las especificaciones. Los programadores no pueden dar por sentado que un sistema está listo para usarse solo porque realiza las tareas necesarias. Deben asegurarse de que estos sistemas también sean seguros y cumplan con todas las especificaciones requeridas por el usuario. Si los programas no son seguros, los usuarios quedan desprotegidos ante posibles ataques de hackers que podrían robar información importante o dinero. Por lo tanto, se deben realizar diversas pruebas para garantizar la seguridad de un sistema antes de aprobarlo.
- Asumir la plena responsabilidad de su propio trabajo. Si un programa presenta errores, el desarrollador del software debe asumir la plena responsabilidad de su trabajo y dedicarse a revisarlo, corregirlo, modificarlo y probarlo .
- No se debe utilizar a sabiendas software obtenido o conservado de forma ilegal o poco ética. Si un sistema informático se va a utilizar como base para la creación de otro, el programador debe solicitar permiso para ello. Este principio prohíbe utilizar cualquier otro software, para cualquier fin, si no está claro cómo se obtuvo o si se sabe que es ilegal o poco ético.
- Identificar, definir y abordar los problemas éticos, económicos, culturales, legales y ambientales relacionados con los proyectos laborales. Si un programador detecta que trabajar en un proyecto podría generar algún problema, debe informarlo a su empleador antes de continuar.
- Asegúrese de que las especificaciones del software en el que trabajan satisfagan los requisitos de los usuarios y de que cuenten con las aprobaciones correspondientes. Los desarrolladores de software deben solicitar la aprobación del sistema que están creando a sus empleadores antes de continuar con la siguiente fase. Si el sistema no cumple con los requisitos, se deberá modificar el código fuente.
- Garantizar pruebas, depuración y revisión adecuadas del software. Los programadores deben realizar las pruebas pertinentes a los programas con los que trabajan y comprobar si hay errores o vulnerabilidades de seguridad del sistema para asegurar que los programas estén bien implementados.
- No participar en prácticas financieras engañosas como sobornos, facturación doble u otras prácticas financieras indebidas. Los programadores están expuestos a participar en actividades ilegales para obtener dinero. Se involucran en ellas debido a amenazas, problemas económicos o simplemente porque desean obtener dinero fácil aprovechándose de sus conocimientos sobre el funcionamiento de los sistemas informáticos. Esta directriz prohíbe la participación de los programadores en tales acciones ilícitas.
- Mejorar su capacidad para crear software seguro, fiable y útil. Dado que la tecnología avanza cada vez más rápido, al igual que la ciberdelincuencia, la necesidad de programas bien estructurados y diseñados es cada vez mayor. Los sistemas informáticos envejecen y se ven limitados por los nuevos sistemas y dispositivos. Los programadores deben «profundizar sus conocimientos sobre los avances en el análisis, especificación, diseño , desarrollo, mantenimiento y pruebas de software y documentos relacionados» (Código de Ética y Práctica Profesional de la Ingeniería de Software) [ 5 ] para crear mejores programas.
El papel de la universidad
La Universidad de Ohio también capacita a sus estudiantes de informática en el campo de la ética de la programación. Esperan que cada estudiante comprenda y siga los principios y responsabilidades de la ACM. [ 6 ]
Consecuencias legales
Cometer errores intencionalmente, como crear contraseñas inseguras o dejar vulnerabilidades en la implementación de un programa que puedan comprometer la seguridad y confiabilidad del sistema, expone al programador a un juicio. [ 4 ] Las sanciones específicas que podrían resultar de una disputa legal relacionada con la programación varían de un estado a otro. Las sanciones pueden incluir medidas correctivas, un número determinado de horas de trabajo social o meses o años de prisión.
Véase también
Referencias
- ↑ Ingeniería de software poco ética: patrones oscuros . LeanPub. 25/12/2024.
- 1 2 3 Bynum, Terrel (26-10-2015) [14-08-2001]. "Ética informática y de la información" . En Edward N. Zalta (ed.). La enciclopedia de filosofía de Stanford (edición de primavera de 2011) . Recuperado el 21-06-2021 .
- 1 2 Grupo de trabajo del Código ACM 2018. "Código de ética y conducta profesional de la ACM" . Association for Computing Machinery . Consultado el 28 de septiembre de 2013 .
{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace ) - 1 2 Savage, Brandon (12 de agosto de 2009). "¿Ética para programadores?" . BrandonSavage.net . Recuperado el 29 de septiembre de 2013 .
- 1 2 Donald Gotterbarn , Keith Miller y Simon Rogerson (28 de septiembre de 2013). "Código de ética y práctica profesional de la ingeniería de software" . Association for Computing Machinery , IEEE . doi : 10.1145/265684.265699 . S2CID 9789551 .
{{cite journal}}: La cita de la revista requiere|journal=( ayuda ) CS1 maint: nombres múltiples: lista de autores ( enlace ) - ↑ "El mundo de la programación" . Universidad de Ohio . 8 de mayo de 2021.
- ética informática