Este artículo ofrece una descripción general de la ética profesional aplicada a la programación de computadoras y al desarrollo de software , en particular las pautas éticas que se espera que los desarrolladores sigan y apliquen al escribir código de programación (también llamado código fuente ) y cuando son parte de un programador. relación cliente o empleado-empleador. Estas reglas moldean y diferencian las buenas prácticas y actitudes de las incorrectas al crear software o al tomar decisiones sobre un tema crucial o delicado relacionado con un proyecto de programación. También son la base de las habilidades de toma de decisiones éticas en la realización del trabajo profesional.
Historia
El académico estadounidense Norbert Wiener , profesor de Matemáticas e Ingeniería en el Instituto Tecnológico de Massachusetts , fue la primera persona en sentar las bases de un nuevo tipo de Ética a mediados de los años 1940. Notó que las innovaciones y avances en la ciencia y la tecnología , junto con el rápido crecimiento de la industria informática, estaban propiciando la aparición de este tipo de Ética a la que denominó “cibernética” (de la palabra griega para el piloto de un barco). El uso emergente de computadoras y otras tecnologías estaba planteando nuevas cuestiones éticas que debían analizarse cuidadosamente utilizando nuevas directrices éticas.
Wiener escribió tres libros que sentaron las bases para una nueva división de la Ética después de que terminó la Segunda Guerra Mundial. Los libros fueron Cybernetics (1948), The Human Use of Human Beings (1950) y God and Golem, Inc. (1963). Aunque nunca se vio a sí mismo creando una nueva área de la ética, Wiener dio ejemplos detallados en los que se podían identificar algunas cuestiones e implicaciones éticas y sociales generadas por el uso de las computadoras . Sin embargo, sus ideas no fueron tomadas en serio por otros estudiosos porque lo consideraban un científico excéntrico que fantaseaba con la Ética (Bynum). [1]
En 1976, Walter Maner propuso un nuevo término relacionado con la ética, denominado “ética informática”, basado en las ideas y principios de Norbert Wiener . Maner consideró que era necesario tener un campo de Ética para la industria informática tal como lo tenían en ese momento las industrias médica y empresarial. Maner también definió ese campo como aquel que “estudia los problemas éticos agravados, transformados o creados por la tecnología informática” (Bynum), [1] e incluso diseñó un curso de ética informática que podría impartirse a estudiantes universitarios.
A principios de la década de 1990, Donald Gotterbarn afirmó que la ética informática debería considerarse una ética profesional que podría tener el poder de conducir al desarrollo y avance de estándares de buenas prácticas y códigos de conducta para los profesionales de la informática (Bynum). [1] Trabajó con varios defensores de la ética profesional para escribir pautas éticas para la creación de códigos de ética. Formó parte de 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 por el Institute of Electrical and Electronics Engineers (IEEE) y la ACM también. Estos códigos también incluyen principios de ética de la programación.
Pautas éticas de programación
La Association for Computing Machinery (ACM) es la sociedad informática educativa y científica más grande del mundo. Tiene 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 práctica de la ingeniería de software . Estos códigos son el Código de Ética y Conducta Profesional y el Código de Ética y Práctica Profesional de Ingeniería de Software, respectivamente, y algunos de sus lineamientos se presentan a continuación:
Del Código de Ética y Conducta Profesional (ACM): [2]
- Contribuir a la sociedad y al bienestar humano. Los programadores deberían trabajar para desarrollar sistemas informáticos que puedan reducir las consecuencias negativas para la sociedad, como las amenazas a la seguridad y la salud, y que puedan facilitar las actividades y el trabajo cotidianos. Es “una obligación de desarrollarse con altos estándares” (Savage). [3]
- Evite dañar a los demás. Los sistemas informáticos tienen un impacto indirecto sobre terceros. Pueden causar pérdida de información y recursos que podrían resultar gravemente perjudiciales 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 estándares para diseñar y probar sistemas (Código de Ética y Conducta Profesional). [2]
- Sea honesto y digno de confianza. Este principio anima a los programadores a ser honestos y conscientes de sus limitaciones en conocimiento y educación al escribir sistemas informáticos. Además, si un programador sabe que hay algún problema con un sistema informático, debe informarlo de inmediato para evitar consecuencias indeseables.
- Dar el crédito adecuado a la propiedad intelectual. Es obligatorio que todo desarrollador de software nunca utilice ni se atribuya el mérito del trabajo de otra persona, incluso cuando no haya estado protegido por una ley de derechos de autor , patente , etc. Debe reconocer y acreditar plenamente el trabajo de otras personas, y debe utilizar el suyo propio. ideas para desarrollar software.
- Respete la privacidad de los demás. Algunas personas utilizan incorrectamente los sistemas informáticos para violar la privacidad de otras. Los desarrolladores de software deben escribir programas que puedan proteger la información privada de los usuarios y que puedan evitar que otras personas no deseadas tengan acceso no autorizado a ella (Código de Ética y Conducta Profesional).
- Honrar la confidencialidad. A menos que lo exija la ley o cualquier otra directriz ética, un programador debe mantener en secreto cualquier información adicional relacionada con su empleador que surja de trabajar en un proyecto.
Del Código de Ética y Práctica Profesional de Ingeniería de Software [4] (IEEE, ACM):
- Apruebe el software sólo si tiene la creencia fundada de que es seguro y cumple con las especificaciones. Los programadores no pueden asumir que un sistema está listo para usarse sólo 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 contra piratas informáticos que podrían robar información importante o dinero. Por lo tanto, se deben realizar varias pruebas para garantizar la seguridad de un sistema antes de aprobarlo.
- Aceptar plena responsabilidad por su propio trabajo. Si un programa presenta errores, el desarrollador de software debe aceptar total responsabilidad por su trabajo y debe trabajar para revisarlo, corregirlo, modificarlo y probarlo .
- No utilizar deliberadamente software obtenido o conservado de forma ilegal o poco ética. Si se va a utilizar un sistema informático como base para la creación de otro, el programador debe solicitar permiso para hacerlo. Este principio prohíbe el uso de cualquier otro software para cualquier propósito si la forma en que se obtuvo no está clara o se sabe que es ilegal o poco ético.
- Identificar, definir y abordar cuestiones éticas, económicas, culturales, legales y ambientales relacionadas con los proyectos de trabajo. Si un programador nota e identifica que trabajar en un proyecto generará algún tipo de problema, entonces el programador debe informarlo a su empleador antes de continuar.
- Asegurar que las especificaciones del software en el que trabajan satisfagan los requisitos de los usuarios y tengan las aprobaciones adecuadas. Los desarrolladores de software deben acudir a sus empleadores para solicitar la aprobación correspondiente al sistema que están creando antes de continuar trabajando en la siguiente parte. Si no cumple con los requisitos, entonces se deberá realizar una modificación en el código fuente del sistema.
- Garantizar pruebas, depuración y revisión adecuadas del software. Los programadores deben realizar las pruebas apropiadas en las piezas de software con las que trabajan y deben verificar si hay errores y agujeros de seguridad en el sistema para asegurarse de que los programas estén bien implementados.
- No participar en prácticas financieras engañosas como soborno, doble facturación u otras prácticas financieras inadecuadas. Los programadores están expuestos a participar en actividades ilegales para obtener dinero. Se involucran en ellos por amenazas, cuestiones económicas o simplemente porque quieren obtener dinero fácil aprovechando sus conocimientos sobre el funcionamiento de los sistemas informáticos. Esta directriz prohíbe la participación de programadores en este tipo de acciones ilegales.
- Mejorar su capacidad para crear software de calidad seguro, confiable y útil. Dado que la tecnología avanza más rápido año tras año, al igual que la criminalidad virtual, la necesidad de programas bien estructurados y diseñados está aumentando. Los sistemas informáticos se vuelven viejos y limitados por otros nuevos y nuevos dispositivos. Los programadores deben “ampliar su conocimiento de los desarrollos en el análisis, especificación, diseño , desarrollo, mantenimiento y prueba de software y documentos relacionados” (Código de Ética y Práctica Profesional de Ingeniería de Software) [4] para crear mejores piezas de software.
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 ACM. [5]
Consecuencias legales
Cometer errores intencionalmente, como crear contraseñas inseguras o dejar agujeros de seguridad en la implementación de un programa que podrían comprometer la seguridad y confiabilidad de un sistema, expone al programador a ser juzgado. [3] Las sanciones específicas que podrían resultar de una disputa legal relacionada con la programación variarán de un estado a otro. Las sanciones pueden incluir acciones correctivas, una determinada cantidad de horas de trabajo social o meses o años de cárcel.
Ver también
Referencias
- ^ abc Bynum, Terrel (26 de octubre de 2015) [14 de agosto de 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) . Consultado el 21 de junio de 2021 .
- ^ ab Grupo de trabajo del Código ACM 2018. “Código de Ética y Conducta Profesional de ACM”. Asociación para Maquinaria de Computación . Consultado el 28 de septiembre de 2013 .
{{cite web}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace ) - ^ ab Savage, Brandon (12 de agosto de 2009). "¿Ética para programadores?". BrandonSavage.net . Consultado el 29 de septiembre de 2013 .
- ^ ab Donald Gotterbarn , Keith Miller y Simon Rogerson (28 de septiembre de 2013). “Código de Ética y Práctica Profesional de la Ingeniería del Software”. Asociación de Maquinaria de Computación , IEEE . doi : 10.1145/265684.265699 . S2CID 9789551. Mantenimiento CS1: varios nombres: lista de autores ( enlace )
- ^ "Mundo de la programación". Universidad de Ohio . 2021-05-08.