Nota del autor

Si la entrada que estás leyendo carece de imágenes, no se ve el vídeo que teóricamente lleva incrustado o el código fuente mostrado aparece sin formato, podéis conocer los motivos aquí. Poco a poco iré restableciendo la normalidad en el blog.
Este blog es un archivo de los artículos situados previamente en Lobosoft.es y ha dejado de ser actualizado. Las nuevas entradas pueden encontrarse en www.lobosoft.es. Un saludo,
Lobosoft.

domingo, 24 de octubre de 2010

Los cuatro principios éticos de Mason

Ha transcurrido casi un cuarto de siglo desde que Richard O. Mason publicara un artículo en el Management Information Systems Quarterly (en el nº 1 del volumen 10, en marzo de 1986) titulado “Cuatro Principios Éticos de la Era de la Información”. En él acuñó las siglas P.A.P.A. para referirse a los términos Privacy, Accuracy, Property y Accesibility. Aunque el alcance del artículo va mucho más allá de estos, planteándose la necesidad de un contrato social como medio para solucionar los problemas éticos que plantea el uso del ordenador en nuestros días. Este contrato, que se daría por consensuado de forma implícita en las relaciones entre los servicios de información y los individuos y grupos implicados (los generadores de información, sus usuarios y aquellos que resultasen afectados por la misma) estaría basado en los términos a que se refería Mason y que podríamos concretar como:
  • Privacidad (Privacy): se corresponde con el ámbito de la intimidad de las personas y su vida privada.
  • Exactitud (Accuracy): todo lo relacionado con las necesidades (y obligatoriedad) de tratar la información con exactitud, veracidad y objetividad.
  • Propiedad (Property): problemas relacionados con la propiedad intelectual de la información.
  • Accesibilidad (Accesibility): atañe a la regulación del uso de la informática: normas y límites aplicables en el acceso a la información.

La privacidad es un derecho básico en el uso de la información, ya que cada vez existen más medios para obtener información sobre los usuarios; sus datos personales, sus preferencias de compra o sus intereses, por ejemplo, constituyen además un preciado bien de intercambio entre las empresas, otros individuos o los propios gobiernos.

Aunque el uso de la informática para la gestión de la información debería ofrecer mayores garantías de exactitud en su proceso y puesta a disposición de los usuarios que otros métodos más tradicionales, lo cierto es que no siempre ocurre así. Este debería ser un derecho básico para estos y una obligación inexcusable para quienes proveen el servicio.

El derecho a la propiedad intelectual salvaguarda el trabajo de los creadores, regulando la copia ilegal de este mediante los mecanismos legales pertinentes. Herramientas como las patentes o el copyright sirven a este fin. Este derecho es uno de los más controvertidos, por ejemplo en lo tocante a los derechos de autor de obras artísticas (musicales, fílmicas, literarias…) y muy particularmente respecto al software (como ocurrió con las patentes del software en Europa). Es uno de los problemas éticos donde, con toda probabilidad, se genere un mayor debate y resulte más controvertida su aplicación, tendiéndose en ocasiones a “matar al mensajero”. Sin duda, hablaremos más adelante sobre ello en la bitácora.

Por último, el derecho de acceso quiere proteger el acceso a la información de forma libre por parte de los usuarios. Muchos datos que se encontraban disponibles en bibliotecas y hemerotecas, por ejemplo, pasan a formar parte de bases de datos comerciales y a limitarse su uso por parte de los usuarios (es uno de los miedos que despertó en su día, por ejemplo, el servicio de Google Books).

Resulta fácil establecer relaciones entre estos cuatro aspectos éticos y los diez mandamientos que vimos hace unos días, y entre ambos y los códigos deontológicos de muchas asociaciones de informáticos. A este respecto resulta de lo más interesante el texto introductorio de Porfirio Barroso titulado “Cuatro principios de ética en Internet”, cuya lectura recomiendo.

Los cuatro principios éticos de Mason

Entrada publicada originariamente en el blog Informática, sociedad y medio ambiente bajo el mismo título.

Ha transcurrido casi un cuarto de siglo desde que Richard O. Mason publicara un artículo en el Management Information Systems Quarterly (en el nº 1 del volumen 10, en marzo de 1986) titulado “Cuatro Principios Éticos de la Era de la Información”. En él acuñó las siglas P.A.P.A. para referirse a los términos Privacy, Accuracy, Property y Accesibility. Aunque el alcance del artículo va mucho más allá de estos, planteándose la necesidad de un contrato social como medio para solucionar los problemas éticos que plantea el uso del ordenador en nuestros días. Este contrato, que se daría por consensuado de forma implícita en las relaciones entre los servicios de información y los individuos y grupos implicados (los generadores de información, sus usuarios y aquellos que resultasen afectados por la misma) estaría basado en los términos a que se refería Mason y que podríamos concretar como:
  • Privacidad (Privacy): se corresponde con el ámbito de la intimidad de las personas y su vida privada.
  • Exactitud (Accuracy): todo lo relacionado con las necesidades (y obligatoriedad) de tratar la información con exactitud, veracidad y objetividad.
  • Propiedad (Property): problemas relacionados con la propiedad intelectual de la información.
  • Accesibilidad (Accesibility): atañe a la regulación del uso de la informática: normas y límites aplicables en el acceso a la información.
La privacidad es un derecho básico en el uso de la información, ya que cada vez existen más medios para obtener información sobre los usuarios; sus datos personales, sus preferencias de compra o sus intereses, por ejemplo, constituyen además un preciado bien de intercambio entre las empresas, otros individuos o los propios gobiernos.
Aunque el uso de la informática para la gestión de la información debería ofrecer mayores garantías de exactitud en su proceso y puesta a disposición de los usuarios que otros métodos más tradicionales, lo cierto es que no siempre ocurre así. Este debería ser un derecho básico para estos y una obligación inexcusable para quienes proveen el servicio.
El derecho a la propiedad intelectual salvaguarda el trabajo de los creadores, regulando la copia ilegal de este mediante los mecanismos legales pertinentes. Herramientas como las patentes o el copyright sirven a este fin. Este derecho es uno de los más controvertidos, por ejemplo en lo tocante a los derechos de autor de obras artísticas (musicales, fílmicas, literarias…) y muy particularmente respecto al software (como ocurrió con las patentes del software en Europa). Es uno de los problemas éticos donde, con toda probabilidad, se genere un mayor debate y resulte más controvertida su aplicación, tendiéndose en ocasiones a “matar al mensajero”. Sin duda, hablaremos más adelante sobre ello en la bitácora.
Por último, el derecho de acceso quiere proteger el acceso a la información de forma libre por parte de los usuarios. Muchos datos que se encontraban disponibles en bibliotecas y hemerotecas, por ejemplo, pasan a formar parte de bases de datos comerciales y a limitarse su uso por parte de los usuarios (es uno de los miedos que despertó en su día, por ejemplo, el servicio de Google Books).
Resulta fácil establecer relaciones entre estos cuatro aspectos éticos y los diez mandamientos que vimos hace unos días, y entre ambos y los códigos deontológicos de muchas asociaciones de informáticos. A este respecto resulta de lo más interesante el texto introductorio de Porfirio Barroso titulado “Cuatro principios de ética en Internet”, cuya lectura recomiendo.

viernes, 15 de octubre de 2010

Los diez mandamientos

En la entrada anterior realizaba una breve introducción acerca de la necesidad de elaborar un código ético que sirva de guía a las decisiones que los profesionales de las nuevas tecnologías y, en particular, de la informática deben adoptar cuando llevan a cabo su trabajo. Como parte de esta “ética informática” cabría destacar la que los usuarios de la tecnología manifestarían durante el aprovechamiento de la misma. Al final del artículo aparecía un listado de “Los 10 mandamientos de la ética informática” que publicase en su día el Instituto de Ética e Informática en un intento de formalizar unos criterios mínimos a tener en cuenta al establecer un código de conducta para el uso de la informática.

Resulta a todas luces manifiesto, tal y como se apunta, que “los diez mandamientos” pretenden simplemente establecer unas líneas generales sobre las que trazar un código ético mucho más elaborado. Ni todos ellos tienen la misma importancia, ni son exhaustivos ni, tan siquiera, infalibles. Sin embargo, dada la difusión que han tenido a lo largo del tiempo en Internet, he creído interesante profundizar un poco más en ellos, en su alcance y limitaciones. Veámoslos en detalle.

  1. No usarás una computadora para dañar a otros seres humanos:
    (Thou shalt not use a computer to harm other people)
    Este primer “mandamiento” puede parecer demasiado evidente pero no lo es. Por un lado, al igual que no es ético destruir la biblioteca de una persona tampoco lo será borrar o dañar sus archivos informáticos o invadir su privacidad. ¿Y si no es ético construir un misil que matará personas lo es acaso más el software que controla la lanzadera desde el que será disparado?

    Además, las implicaciones de esta premisa deberían ir más allá. Los daños al medio ambiente durante la producción de los ordenadores y la eliminación de residuos y equipos obsoletos implican un menoscabo de la calidad medioambiental y de la salud de muchas personas. Esto forma parte del concepto de “ecología en la sombra” que el profesor de ciencia política Peter Dauvergne definiese en su obra Shadows in the Forest. Japan and the Politics of Timber in Southeast Asia y que se refiere al impacto medioambiental que unos países llevan a cabo en otros y que a menudo no se hace visible en las formas de contabilización y valoración habituales.

  2. No interferirás en el trabajo del ordenador de otras personas:
    (Thou shalt not interfere with other people's computer work)
    Lo que implica no interrumpir la ejecución del software, interferir en el buen funcionamiento de los equipos ajenos o degradar el rendimiento de sus sistemas informáticos. Aquí podríamos incluir el uso de virus informáticos, troyanos y otro malware.

  3. No accederás a los archivos informáticos de otros individuos:
    (Thou shalt not snoop around in other people's files)
    Este mandamiento protege la privacidad de las personas y se extiende tanto al acceso como a la no destrucción o manipulación de la información. También abarca el mal uso de cuentas de usuario en los sistemas (acceder con cuentas ajenas, permitir a otros usuarios el uso de la propia o la gestión de contraseñas), el acceso al correo electrónico ajeno, que sería igual de poco ético que leer su correspondencia “tradicional”, etcétera. Para la protección de la información puede recurrirse a las técnicas de cifrado, por lo que volvemos a citar el ámbito de la seguridad informática como garante de los derechos de los usuarios de la informática.

    Sin embargo, tanto este como el anterior plantean también un dilema ético. ¿Qué ocurre con los sistemas informáticos y los datos de organizaciones criminales? ¿Y si mediante estas herramientas informáticas se están vulnerando otros mandamientos, por ejemplo al estar siendo usadas para dañar a otras personas? Comenzamos a ver cómo, al igual que en otros campos, mantener una conducta adecuada va a depender de la situación en que nos veamos involucrados.

  4. No utilizarás un ordenador para perpetrar un robo:
    (Thou shalt not use a computer to steal)
    Abarca tanto la vulneración de leyes en contra de la apropiación indebida de dinero o recursos materiales como la copia o distribución de datos informáticos o software.

  5. No utilizarás un ordenador para dar falso testimonio:
    (Thou shalt not use a computer to bear false witness)
    Internet pone al alcance de sus usuarios una cantidad ingente de información que puede ser tanto verdadera como no. La mentira, en este medio, puede propagarse tan rápido como la verdad, y difundir a través de la Red información falsa lleva a la “desinformación” de los usuarios.

    Es más, la difusión de rumores falsos sobre una persona (física o jurídica) o hecho histórico puede provocar daños muy graves. La difamación y la falsa propaganda sobre acontecimientos históricos son actos denostables, pero no lo son menos la difusión de rumores no probados (¿cuántas veces no habrá recibido el lector correos electrónicos informando que se le va a cobrar un importe por el uso del servicio de e-mail o cartas “en cadena”?) o la descarga y almacenamiento de archivos o mensajes obscenos, denigrantes o amenazantes (pornografía infantil, hoaxes como la “estafa a la nigeriana”, …).

    Una vez más se nos plantea un dilema. ¿Qué ocurre si el falso testimonio es usado para desviar la atención y evitar un daño aún mayor? Abundaremos en el tema en futuras entradas pero, por ejemplo, es a lo que se dedican empresas que “inundan” internet con información benigna sobre usuarios cuya imagen en la red ha sido dañada (por propia inconsciencia o por una tercera persona). Por otro lado, ¿es lícito propagar información falsa que beneficie a una persona? Pensemos que este beneficio puede ir en menoscabo de posibles competidores, lo que nos llevaría a pensar en nuestro primer mandamiento aunque esté siendo vulnerado de forma indirecta.

  6. No copiarás o usarás software propietario por el que no hayas pagado:
    (Thou shalt not use or copy software for which you have not paid)
    El software es un producto intelectual y como tal queda “protegido” también por el mandamiento octavo de la lista que nos ocupa. Al igual que como los libros (aunque con las peculiaridades de cada cual), la obtención de copias ilegales de software con derechos de autor podría equipararse a la fotocopia un libro con derechos de autor. En ambos casos las leyes en protegen a quienes ostentan los derechos de propiedad intelectual, por lo que queda salvaguardado de cualquier uso de estos recursos en que se viole la ley (uso, copia o transmisión no autorizada del software). La protección del software en este caso puede darse mediante la inclusión de códigos de activación, uso de hardware de protección… Las imágenes pueden contener marcas de agua y la música o películas hacer uso de tecnología DRM (Digital Rights Management).

    Frente a esto cabría preguntarse si por el software que usamos ha sido desarrollado cumpliendo con estas premisas éticas que presentamos. Las patentes de software vulneran, en ocasiones, licencias de uso de software libre sin que pueda llegar a demostrarse o permiten a las compañías apropiarse del trabajo de desarrolladores anónimos. En el coste económico del software pueden incluirse los de licencias de funcionalidades que no vayamos a usar (por ejemplo, un ordenador en un almacén con un sistema operativo de código cerrado que reproduzca formatos de audio o vídeo que nunca van a ser reproducidos y por los cuales, sin embargo, se ha pagado una cierta cantidad). ¿En ese caso es lícito que la casa de software cobre un elevado importe por su producto? ¿Hasta qué punto permitiría ser personalizado y, por tanto, ajustado su coste al usuario?

    Ante esta situación el software libre cobra una importancia crucial. Además de estar inspirado en unas sólidas bases éticas (hablaremos sobre ello en un futuro) permite a los usuarios gestionar su propio software y no permanecer atado a los intereses de una determinada empresa.

  7. No usarás los recursos computacionales de otras personas sin autorización o una compensación adecuada:(Thou shalt not use other people's computer resources without authorization)
    En este mandamiento quedarían englobadas las técnicas de hacking o el uso de información obtenida, por ejemplo, de Internet, sin hacer referencia a las fuentes y autoría de la misma.

    Un dilema ético que podrían presentarse aquí sería, por ejemplo, tener que acceder a un sistema informático ante una emergencia para prevenir daños mayores.

  8. No te apropiarás del trabajo intelectual de otras personas:
    (Thou shalt not appropriate other people's intellectual output)
    Engloba aspectos tan variados como el plagio (apropiarse del trabajo de otros sin dar crédito a su autor), el envío de comunicaciones personales sin el consentimiento del autor (dar difusión a comunicaciones privadas) o distribuir el código fuente del software en el que está trabajando un desarrollador cuando sea, por ejemplo, para su empresa.

    Ben Fairweather, en su documento “Commentary on the Ten Commandments of Computer Ethics” (que ha constituido una fuente de inspiración para este artículo) presenta un interesante dilema: ¿qué ocurre si tiene una idea brillante que puede producir grandes beneficios sociales pero que no se tomará en serio si el verdadero autor es desconocido? Al apropiarse de su producción intelectual y ser publicada la sociedad en su conjunto se beneficiará sustancialmente. ¿Esto legitima a quien pueda darle difusión a apropiarse del trabajo? Personalmente pienso que en este caso sería más conveniente respaldar la idea de este creador anónimo mediante un adecuado mecenazgo que la ponga en valor sin restarle las debidas atribuciones.

  9. Reflexionarás sobre las consecuencias sociales del programa que estás escribiendo o el sistema que estás diseñando:
    (Thou shalt think about the social consequences of the program you write)
    Podríamos relacionarlo con el quinto mandamiento y el uso indebido de la tecnología, por ejemplo, para dar difusión a contenidos denigrantes o que puedan dañar al destinatario. Ahmet Celal Cem Say en su documento “Introduction to Computing” para un curso impartido por su departamento en la Universidad de Boğaziçi (en Estambul) presenta un ejemplo de esto último:

    For example, if you are working for an animation house, and are producing animated films for children, you are responsible for their contents. Do the animations include scenes that can be harmful to children? In the United States, the Communications Decency Act was an attempt by lawmakers to ban certain types of content from Internet websites to protect young children from harmful material. That law was struck down because it violated the free speech principles in that country's constitution. The discussion, of course, is going on.
    Aquí, a mi parecer, entramos en el campo de la responsabilidad ética (que no culpabilidad) de nuestras acciones. El debate entre los mandamientos de ética informática, el derecho de expresión o la “Hacking communities constitution” ha estado siempre presente y, por supuesto, se ofrece a múltiples interpretaciones. Sin embargo, creo que estas discusiones tienden a enriquecer la comprensión del tema siempre controvertido del alcance de los derechos y deberes de los individuos. En las referencias al final de la entrada es posible encontrar más información sobre este debate.

  10. Usarás siempre tu ordenador de forma que asegure la consideración y el respeto hacia quienes te rodean:
    (Thou shalt use a computer in ways that show consideration and respect)

    Por ejemplo, no acaparando los recursos de un sistema informático: usando todas las conexiones o el ancho de banda de una red, interfiriendo en las de los demás para conseguir mayores privilegios, etc.
Aunque sea a grandes rasgos y con las limitaciones que impone no extender demasiado una entrada que se ha alargado más de lo que habría deseado, espero que esta introducción haya resultado de vuestro interés y despierte, cómo no, un debate que será a buen seguro tan enriquecedor como interesante.

Para saber más:

Los diez mandamientos

Entrada publicada originariamente en el blog Informática, sociedad y medio ambiente bajo el mismo título.

En una entrada anterior realizaba una breve introducción acerca de la necesidad de elaborar un código ético que sirva de guía a las decisiones que los profesionales de las nuevas tecnologías y, en particular, de la informática deben adoptar cuando llevan a cabo su trabajo. Como parte de esta “ética informática” cabría destacar la que los usuarios de la tecnología manifestarían durante el aprovechamiento de la misma. Al final del artículo aparecía un listado de “Los 10 mandamientos de la ética informática” que publicase en su día el Instituto de Ética e Informática en un intento de formalizar unos criterios mínimos a tener en cuenta al establecer un código de conducta para el uso de la informática.

Resulta a todas luces manifiesto, tal y como se apunta, que “los diez mandamientos” pretenden simplemente establecer unas líneas generales sobre las que trazar un código ético mucho más elaborado. Ni todos ellos tienen la misma importancia, ni son exhaustivos ni, tan siquiera, infalibles. Sin embargo, dada la difusión que han tenido a lo largo del tiempo en Internet, he creído interesante profundizar un poco más en ellos, en su alcance y limitaciones. Veámoslos en detalle.

  1. No usarás una computadora para dañar a otros seres humanos:
    (Thou shalt not use a computer to harm other people)
    Este primer “mandamiento” puede parecer demasiado evidente pero no lo es. Por un lado, al igual que no es ético destruir la biblioteca de una persona tampoco lo será borrar o dañar sus archivos informáticos o invadir su privacidad. ¿Y si no es ético construir un misil que matará personas lo es acaso más el software que controla la lanzadera desde el que será disparado?

    Además, las implicaciones de esta premisa deberían ir más allá. Los daños al medio ambiente durante la producción de los ordenadores y la eliminación de residuos y equipos obsoletos implican un menoscabo de la calidad medioambiental y de la salud de muchas personas. Esto forma parte del concepto de “ecología en la sombra” que el profesor de ciencia política Peter Dauvergne definiese en su obra Shadows in the Forest. Japan and the Politics of Timber in Southeast Asia y que se refiere al impacto medioambiental que unos países llevan a cabo en otros y que a menudo no se hace visible en las formas de contabilización y valoración habituales.

  2. No interferirás en el trabajo del ordenador de otras personas:
    (Thou shalt not interfere with other people's computer work)
    Lo que implica no interrumpir la ejecución del software, interferir en el buen funcionamiento de los equipos ajenos o degradar el rendimiento de sus sistemas informáticos. Aquí podríamos incluir el uso de virus informáticos, troyanos y otro malware.

  3. No accederás a los archivos informáticos de otros individuos:
    (Thou shalt not snoop around in other people's files)
    Este mandamiento protege la privacidad de las personas y se extiende tanto al acceso como a la no destrucción o manipulación de la información. También abarca el mal uso de cuentas de usuario en los sistemas (acceder con cuentas ajenas, permitir a otros usuarios el uso de la propia o la gestión de contraseñas), el acceso al correo electrónico ajeno, que sería igual de poco ético que leer su correspondencia “tradicional”, etcétera. Para la protección de la información puede recurrirse a las técnicas de cifrado, por lo que volvemos a citar el ámbito de la seguridad informática como garante de los derechos de los usuarios de la informática.

    Sin embargo, tanto este como el anterior plantean también un dilema ético. ¿Qué ocurre con los sistemas informáticos y los datos de organizaciones criminales? ¿Y si mediante estas herramientas informáticas se están vulnerando otros mandamientos, por ejemplo al estar siendo usadas para dañar a otras personas? Comenzamos a ver cómo, al igual que en otros campos, mantener una conducta adecuada va a depender de la situación en que nos veamos involucrados.

  4. No utilizarás un ordenador para perpetrar un robo:
    (Thou shalt not use a computer to steal)
    Abarca tanto la vulneración de leyes en contra de la apropiación indebida de dinero o recursos materiales como la copia o distribución de datos informáticos o software.

  5. No utilizarás un ordenador para dar falso testimonio:
    (Thou shalt not use a computer to bear false witness)
    Internet pone al alcance de sus usuarios una cantidad ingente de información que puede ser tanto verdadera como no. La mentira, en este medio, puede propagarse tan rápido como la verdad, y difundir a través de la Red información falsa lleva a la “desinformación” de los usuarios.

    Es más, la difusión de rumores falsos sobre una persona (física o jurídica) o hecho histórico puede provocar daños muy graves. La difamación y la falsa propaganda sobre acontecimientos históricos son actos denostables, pero no lo son menos la difusión de rumores no probados (¿cuántas veces no habrá recibido el lector correos electrónicos informando que se le va a cobrar un importe por el uso del servicio de e-mail o cartas “en cadena”?) o la descarga y almacenamiento de archivos o mensajes obscenos, denigrantes o amenazantes (pornografía infantil, hoaxes como la “estafa a la nigeriana”, …).

    Una vez más se nos plantea un dilema. ¿Qué ocurre si el falso testimonio es usado para desviar la atención y evitar un daño aún mayor? Abundaremos en el tema en futuras entradas pero, por ejemplo, es a lo que se dedican empresas que “inundan” internet con información benigna sobre usuarios cuya imagen en la red ha sido dañada (por propia inconsciencia o por una tercera persona). Por otro lado, ¿es lícito propagar información falsa que beneficie a una persona? Pensemos que este beneficio puede ir en menoscabo de posibles competidores, lo que nos llevaría a pensar en nuestro primer mandamiento aunque esté siendo vulnerado de forma indirecta.

  6. No copiarás o usarás software propietario por el que no hayas pagado:
    (Thou shalt not use or copy software for which you have not paid)
    El software es un producto intelectual y como tal queda “protegido” también por el mandamiento octavo de la lista que nos ocupa. Al igual que como los libros (aunque con las peculiaridades de cada cual), la obtención de copias ilegales de software con derechos de autor podría equipararse a la fotocopia un libro con derechos de autor. En ambos casos las leyes en protegen a quienes ostentan los derechos de propiedad intelectual, por lo que queda salvaguardado de cualquier uso de estos recursos en que se viole la ley (uso, copia o transmisión no autorizada del software). La protección del software en este caso puede darse mediante la inclusión de códigos de activación, uso de hardware de protección… Las imágenes pueden contener marcas de agua y la música o películas hacer uso de tecnología DRM (Digital Rights Management).

    Frente a esto cabría preguntarse si por el software que usamos ha sido desarrollado cumpliendo con estas premisas éticas que presentamos. Las patentes de software vulneran, en ocasiones, licencias de uso de software libre sin que pueda llegar a demostrarse o permiten a las compañías apropiarse del trabajo de desarrolladores anónimos. En el coste económico del software pueden incluirse los de licencias de funcionalidades que no vayamos a usar (por ejemplo, un ordenador en un almacén con un sistema operativo de código cerrado que reproduzca formatos de audio o vídeo que nunca van a ser reproducidos y por los cuales, sin embargo, se ha pagado una cierta cantidad). ¿En ese caso es lícito que la casa de software cobre un elevado importe por su producto? ¿Hasta qué punto permitiría ser personalizado y, por tanto, ajustado su coste al usuario?

    Ante esta situación el software libre cobra una importancia crucial. Además de estar inspirado en unas sólidas bases éticas (hablaremos sobre ello en un futuro) permite a los usuarios gestionar su propio software y no permanecer atado a los intereses de una determinada empresa.

  7. No usarás los recursos computacionales de otras personas sin autorización o una compensación adecuada:(Thou shalt not use other people's computer resources without authorization)
    En este mandamiento quedarían englobadas las técnicas de hacking o el uso de información obtenida, por ejemplo, de Internet, sin hacer referencia a las fuentes y autoría de la misma.

    Un dilema ético que podrían presentarse aquí sería, por ejemplo, tener que acceder a un sistema informático ante una emergencia para prevenir daños mayores.

  8. No te apropiarás del trabajo intelectual de otras personas:
    (Thou shalt not appropriate other people's intellectual output)
    Engloba aspectos tan variados como el plagio (apropiarse del trabajo de otros sin dar crédito a su autor), el envío de comunicaciones personales sin el consentimiento del autor (dar difusión a comunicaciones privadas) o distribuir el código fuente del software en el que está trabajando un desarrollador cuando sea, por ejemplo, para su empresa.

    Ben Fairweather, en su documento “Commentary on the Ten Commandments of Computer Ethics” (que ha constituido una fuente de inspiración para este artículo) presenta un interesante dilema: ¿qué ocurre si tiene una idea brillante que puede producir grandes beneficios sociales pero que no se tomará en serio si el verdadero autor es desconocido? Al apropiarse de su producción intelectual y ser publicada la sociedad en su conjunto se beneficiará sustancialmente. ¿Esto legitima a quien pueda darle difusión a apropiarse del trabajo? Personalmente pienso que en este caso sería más conveniente respaldar la idea de este creador anónimo mediante un adecuado mecenazgo que la ponga en valor sin restarle las debidas atribuciones.

  9. Reflexionarás sobre las consecuencias sociales del programa que estás escribiendo o el sistema que estás diseñando:
    (Thou shalt think about the social consequences of the program you write)
    Podríamos relacionarlo con el quinto mandamiento y el uso indebido de la tecnología, por ejemplo, para dar difusión a contenidos denigrantes o que puedan dañar al destinatario. Ahmet Celal Cem Say en su documento “Introduction to Computing” para un curso impartido por su departamento en la Universidad de Boğaziçi (en Estambul) presenta un ejemplo de esto último:

    For example, if you are working for an animation house, and are producing animated films for children, you are responsible for their contents. Do the animations include scenes that can be harmful to children? In the United States, the Communications Decency Act was an attempt by lawmakers to ban certain types of content from Internet websites to protect young children from harmful material. That law was struck down because it violated the free speech principles in that country's constitution. The discussion, of course, is going on.
    Aquí, a mi parecer, entramos en el campo de la responsabilidad ética (que no culpabilidad) de nuestras acciones. El debate entre los mandamientos de ética informática, el derecho de expresión o la “Hacking communities constitution” ha estado siempre presente y, por supuesto, se ofrece a múltiples interpretaciones. Sin embargo, creo que estas discusiones tienden a enriquecer la comprensión del tema siempre controvertido del alcance de los derechos y deberes de los individuos. En las referencias al final de la entrada es posible encontrar más información sobre este debate.

  10. Usarás siempre tu ordenador de forma que asegure la consideración y el respeto hacia quienes te rodean:
    (Thou shalt use a computer in ways that show consideration and respect)

    Por ejemplo, no acaparando los recursos de un sistema informático: usando todas las conexiones o el ancho de banda de una red, interfiriendo en las de los demás para conseguir mayores privilegios, etc.
Aunque sea a grandes rasgos y con las limitaciones que impone no extender demasiado una entrada que se ha alargado más de lo que habría deseado, espero que esta introducción haya resultado de vuestro interés y despierte, cómo no, un debate que será a buen seguro tan enriquecedor como interesante.

Para saber más:

miércoles, 13 de octubre de 2010

A modo de introducción


Un objetivo esencial de los profesionales de la informática es minimizar las consecuencias negativas de los sistemas informáticos, así como las amenazas a la salud y la seguridad. Cuando diseñen o implementen sus sistemas, los profesionales de la informática deben intentar garantizar que el producto de sus esfuerzos se utilizará de manera socialmente responsable, respondiendo a las necesidades sociales, y evitando efectos perjudiciales para la salud y el bienestar.

Además de un entorno social seguro, el bienestar humano incluye un medio natural seguro. Por lo tanto, los profesionales de la informática que diseñan y desarrollan sistemas deben estar alerta ante cualquier daño potencial al medio ambiente local o global.
Asociation for Computing Machinery (ACM), "Code of Ethics and Professional Conduct".
El Diccionario de la Real Academia Española define la informática como el “conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores”. Por su concisión, y sin dejar de ser cierta, esta acepción puede inducir al lector a mantener una visión sesgada de este campo del conocimiento tecnológico que le lleve a olvidar las importantes interacciones existentes con otros ámbitos (social, medioambiental, económico…) cuando hacemos uso de ella y las repercusiones que, para mal o para bien, tendrá cada decisión que tomemos como profesionales (generadores) o usuarios (receptores) de la tecnología existente. La trascendencia de este hecho es tanto mayor cuanto lo es la expansión de la tecnología en juego y, a día de hoy, es más que evidente que la informática se manifiesta en nuestras vidas en casi cualquier acto cotidiano que llevamos a cabo. Desde la música que escuchamos en el reproductor portátil al dirigirnos a estudiar o al trabajo, el navegador GPS del coche o el ordenador que usamos para llevar a cabo actividades diarias como leer el correo electrónico, llevar la contabilidad de la empresa o, simplemente, visualizar esta bitácora, la informática está involucrada en todo momento en cada uno de estos procesos.

El alcance de la informática en la sociedad a día de hoy llega mucho más allá del tratamiento, transmisión y almacenamiento de la información, habiendo propiciado cambios en la forma de pensar y actuar de importantes sectores de la población. No hay más que pensar durante un momento en cómo accedemos actualmente a las noticias a través de Internet, a contenidos culturales como música, cine o literatura y, especialmente, cómo nuestros datos personales han entrado a formar parte de la Red mediante la adición de contenidos personales a partir de la aparición de la llamada Web 2.0, con los blogs y todo tipo de redes sociales.

Además de lo anterior, que podríamos admitir (con ciertas reservas en las que entraremos a profundizar en futuras entradas de esta recién nacida y apenas esbozada bitácora) como efectos beneficiosos de la popularización del uso de los ordenadores y la informática en nuestras sociedades, habría que tener en cuenta el incremento de actos delictivos que se apoyan en herramientas informáticas o en la ingeniería social para acceder a información especialmente sensible: la personal, sanitaria o bancaria, entre otros datos, constituye un jugoso botín para los artífices de crímenes informáticos (conocidos en ocasiones por los nombres, no necesariamente excluyentes, de “cibercrimen” y “ciberterrorismo”).

Por todo lo anterior se hace necesaria, tal vez más que nunca, adquirir concienciación y formación adecuada dentro del ámbito de la ética para posibilitar que seamos capaces de dar respuesta a los dilemas que nos irán surgiendo a usuarios y profesionales de las NTIC (Nuevas Tecnologías de la Información y de la Comunicación). Para ello, como punto de partida podríamos tomar “Los diez mandamientos de la ética informática” propuestos por el Instituto de Ética e Informática (CEI, o Computer Ethics Institute), a saber:
  1. No usarás una computadora para dañar a otros seres humanos.
  2. No interferirás en el trabajo del ordenador de otras personas.
  3. No accederás a los archivos informáticos de otros individuos.
  4. No utilizarás un ordenador para perpetrar un robo.
  5. No utilizarás un ordenador para dar falso testimonio.
  6. No copiarás o usarás software propietario por el que no hayas pagado.
  7. No usarás los recursos computacionales de otras personas sin autorización o una compensación adecuada.
  8. No te apropiarás del trabajo intelectual de otras personas.
  9. Reflexionarás sobre las consecuencias sociales del programa que estás escribiendo o el sistema que estás diseñando.
  10. Usarás siempre tu ordenador de forma que asegure la consideración y el respeto hacia quienes te rodean.
 (El original puede encontrarse en "Ten commandments of Computer Ethics").

Pero, ¿qué es la ética informática? Para J.H. Moor, “la ética informática es el análisis de la naturaleza y el impacto social de la tecnología informática y la correspondiente formulación y justificación de políticas para un uso ético de la misma”, según la describe en su artículo “What is Computer Ethics?” Esto englobaría tanto a las preocupaciones en torno al software como al hardware, incluyendo las redes de conexión de los propios equipos.

Respecto a los “mandamientos” del CEI, procederemos a estudiar su alcance y, por qué no, sus limitaciones, en la próxima entrada. De cualquier modo constituyen un punto de partida interesante sobre el que construir un enriquecedor debate sobre los aspectos que he pretendido esbozar en esta primera entrada. A partir de aquí inicio una aventura, espero que apasionante, en torno a las relaciones que se establecen entre la informática, la sociedad y el medio ambiente que, así al menos lo deseo, no transcurrirá en solitario ya que será de agradecer cualquier aportación de los lectores.

martes, 5 de octubre de 2010

La putridez del software

Para quienes trabajamos en el diseño y desarrollo de software no resulta ajena la imagen de aplicaciones de retorcidas entrañas en las que realizar cualquier cambio mínimo en su código fuente supone un arriesgado ejercicio además de una tortura. Sin embargo, no siempre fue así. Al principio, cuando la aplicación estaba aún en la mente de sus diseñadores, su estructura era simple y elegante. Los programadores la imaginaron eficiente y eficazmente descrita por líneas de código limpias y estructuradas. Pero algo cambió y esa aplicación primigenia e ideal tornó en un monstruo de difícil trato y desagradable aspecto. ¿Qué había ocurrido?

Resulta demasiado habitual que el software pensado por los diseñadores no sea en su totalidad el que imaginaron los clientes, o estos se den cuenta a posteriori de que no cumple con todo lo que esperaban de él. Esto lleva a continuos cambios en los requisitos existentes y a la aparición de otros no previstos originariamente que se ven plasmados en diversos cambios realizados sobre la marcha que, de no ser bien gestionados (en muchas ocasiones se llevan a cabo en plazos de tiempo reducidos, a veces por desarrolladores que no están familiarizados con el diseño original…), dan como resultado un código fuente difícil de entender, modificar y, por tanto, de mantener a largo plazo.

Dos aguerridos programadores se disponen a realizar un cambio en el software preexistente.
Como todo lo que se encuentra en proceso de deterioro, el software pútrido se manifiesta con la aparición de varios indicadores:
  • Rigidez o, como personalmente me gusta llamarlo, “el hilo de Ariadna”: es la oposición del software al cambio y se hace evidente cuando hasta la más pequeña modificación del mismo requiere de un esfuerzo y tiempo superiores a los que cualquiera habría sido capaz de estimar. Lo llamo el “hilo de Ariadna” porque empiezas a tirar del hilo, que parece corto, y terminas metido en el laberinto del Minotauro. El desarrollador verá que está ante software excesivamente rígido si, cuando tiene que realizar un cambio, se ve obligado a realizar, en cascada, muchas más modificaciones de las que había previsto.
  • Fragilidad: está muy relacionada con la anterior, ya que un cambio puede tener repercusiones sobre otras funcionalidades de la aplicación y, dando solución a un problema llegamos a provocar otro incluso mayor en cualquier lugar inesperado. Esto puede llevar a que se produzcan numerosos errores durante el proceso de cambio y a que los clientes tengan la sensación de que el equipo de desarrollo tiene escaso control sobre su propia creación.
  • Inmovilidad: supone la dificultad o imposibilidad de reutilizar el código entre distintos proyectos. Se manifiesta cuando un desarrollador sabe que un determinado módulo podría ser usado en una nueva aplicación por llevar a cabo una función similar a la que realiza en la original pero al intentar usarlo se encuentra con que tiene demasiadas dependencias con la aplicación en la que se encuentra integrado.
  • Viscosidad: cuando un desarrollador necesita realizar un cambio en el software en ocasiones encuentra varias formas de implementarlo. Unas serán más respetuosas con el diseño original, manteniendo la arquitectura de la aplicación y otras serán más agresivas, incrementando la complejidad del software y “pudriéndolo” aún más. Este síntoma se manifiesta cuando para el desarrollador resulta más sencillo realizar el cambio con una de las implementaciones que rompen el diseño que con una que lo preserve.
Relacionados con los indicadores anteriores podemos encontrarnos que el código presenta:
  • Una complejidad innecesaria: Aunque los diseñadores y desarrolladores deben tener en mente que se producirán cambios futuros en el software, bien por cambios en los requerimientos, bien por tener que incorporar nuevas funcionalidades, y por esto mismo deberían de huir de la rigidez haciéndolo más flexible, lo cierto es que esto puede llevar a imprimirle una complejidad que no se corresponda con lo exigible al mismo: el sistema habrá sido sobredimensionado (“sobrediseñado”, por decirlo de algún modo) y presentará una infraestructura que habrá implicado un costo sin que vayan a obtenerse beneficios de ella.
  • Una repetición innecesaria: ¿cuántas veces habrá loado un desarrollador a Larry Tesler, creador del “copiar y pegar”? Mas, ¿cuántas otras habrá maldito esta operación cuando se ha encontrado con bloques de código repetidos en la aplicación con la que está trabajando, viéndose obligado a rehacer el código o, manifestando los síntomas de rigidez y viscosidad, replicando una y otra vez el cambio mínimo que se ha visto obligado a hacer en diversas partes del programa? El código duplicado debería unificarse y ofrecerse bajo una única abstracción. Esto facilitará que el software no se manifieste excesivamente inmóvil.
  • Opacidad: el código fuente se manifiesta “opaco” cuando no puede leerse e interpretarse con claridad, sino que aparece desorganizado, con líneas de código comentadas, ya obsoletas y sin uso, “código espagueti” ante el cual una sentencia goto nos parecería encomiable y que crea en el desarrollador la sensación de no terminar de entender qué hace el programa. Escribimos el código para que pueda ser leído y entendido (por otros y por nosotros mismos).
Si nos fijamos, según lo expuesto una de las características del software que puede llevarlo a un estado de indeseable putridez es la existencia de dependencias entre los módulos que lo componen. Podremos lidiar de forma más eficaz con los imprevistos si seguimos unos principios básicos en el diseño de nuestras aplicaciones orientadas a objetos. Ya que existen artículos más que completos e interesantes sobre el tema, os animo a profundizar en el tema siguiendo, por ejemplo, la serie que The Art of Left Foot dedica al mismo,
además de leer el inspirador y completo artículo de Robert C. Martin, Design Principles and Design Patterns, sin perder de vista el  trabajo sobre los principios de S.O.L.I.D. recogidos por Robert "Tio Bob" Martin en su página web bajo el título The principles of OOD.

viernes, 1 de octubre de 2010

A modo de introducción

Entrada publicada originariamente en el blog Informática, sociedad y medio ambiente bajo el mismo título.


Un objetivo esencial de los profesionales de la informática es minimizar las consecuencias negativas de los sistemas informáticos, así como las amenazas a la salud y la seguridad. Cuando diseñen o implementen sus sistemas, los profesionales de la informática deben intentar garantizar que el producto de sus esfuerzos se utilizará de manera socialmente responsable, respondiendo a las necesidades sociales, y evitando efectos perjudiciales para la salud y el bienestar.

Además de un entorno social seguro, el bienestar humano incluye un medio natural seguro. Por lo tanto, los profesionales de la informática que diseñan y desarrollan sistemas deben estar alerta ante cualquier daño potencial al medio ambiente local o global.
Asociation for Computing Machinery (ACM), "Code of Ethics and Professional Conduct".
El Diccionario de la Real Academia Española define la informática como el “conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores”. Por su concisión, y sin dejar de ser cierta, esta acepción puede inducir al lector a mantener una visión sesgada de este campo del conocimiento tecnológico que le lleve a olvidar las importantes interacciones existentes con otros ámbitos (social, medioambiental, económico…) cuando hacemos uso de ella y las repercusiones que, para mal o para bien, tendrá cada decisión que tomemos como profesionales (generadores) o usuarios (receptores) de la tecnología existente. La trascendencia de este hecho es tanto mayor cuanto lo es la expansión de la tecnología en juego y, a día de hoy, es más que evidente que la informática se manifiesta en nuestras vidas en casi cualquier acto cotidiano que llevamos a cabo. Desde la música que escuchamos en el reproductor portátil al dirigirnos a estudiar o al trabajo, el navegador GPS del coche o el ordenador que usamos para llevar a cabo actividades diarias como leer el correo electrónico, llevar la contabilidad de la empresa o, simplemente, visualizar esta bitácora, la informática está involucrada en todo momento en cada uno de estos procesos.

El alcance de la informática en la sociedad a día de hoy llega mucho más allá del tratamiento, transmisión y almacenamiento de la información, habiendo propiciado cambios en la forma de pensar y actuar de importantes sectores de la población. No hay más que pensar durante un momento en cómo accedemos actualmente a las noticias a través de Internet, a contenidos culturales como música, cine o literatura y, especialmente, cómo nuestros datos personales han entrado a formar parte de la Red mediante la adición de contenidos personales a partir de la aparición de la llamada Web 2.0, con los blogs y todo tipo de redes sociales.

Además de lo anterior, que podríamos admitir (con ciertas reservas en las que entraremos a profundizar en futuras entradas de esta recién nacida y apenas esbozada bitácora) como efectos beneficiosos de la popularización del uso de los ordenadores y la informática en nuestras sociedades, habría que tener en cuenta el incremento de actos delictivos que se apoyan en herramientas informáticas o en la ingeniería social para acceder a información especialmente sensible: la personal, sanitaria o bancaria, entre otros datos, constituye un jugoso botín para los artífices de crímenes informáticos (conocidos en ocasiones por los nombres, no necesariamente excluyentes, de “cibercrimen” y “ciberterrorismo”).

Por todo lo anterior se hace necesaria, tal vez más que nunca, adquirir concienciación y formación adecuada dentro del ámbito de la ética para posibilitar que seamos capaces de dar respuesta a los dilemas que nos irán surgiendo a usuarios y profesionales de las NTIC (Nuevas Tecnologías de la Información y de la Comunicación). Para ello, como punto de partida podríamos tomar “Los diez mandamientos de la ética informática” propuestos por el Instituto de Ética e Informática (CEI, o Computer Ethics Institute), a saber:
  1. No usarás una computadora para dañar a otros seres humanos.
  2. No interferirás en el trabajo del ordenador de otras personas.
  3. No accederás a los archivos informáticos de otros individuos.
  4. No utilizarás un ordenador para perpetrar un robo.
  5. No utilizarás un ordenador para dar falso testimonio.
  6. No copiarás o usarás software propietario por el que no hayas pagado.
  7. No usarás los recursos computacionales de otras personas sin autorización o una compensación adecuada.
  8. No te apropiarás del trabajo intelectual de otras personas.
  9. Reflexionarás sobre las consecuencias sociales del programa que estás escribiendo o el sistema que estás diseñando.
  10. Usarás siempre tu ordenador de forma que asegure la consideración y el respeto hacia quienes te rodean.
 (El original puede encontrarse en "Ten commandments of Computer Ethics").

Pero, ¿qué es la ética informática? Para J.H. Moor, “la ética informática es el análisis de la naturaleza y el impacto social de la tecnología informática y la correspondiente formulación y justificación de políticas para un uso ético de la misma”, según la describe en su artículo “What is Computer Ethics?” Esto englobaría tanto a las preocupaciones en torno al software como al hardware, incluyendo las redes de conexión de los propios equipos.

Respecto a los “mandamientos” del CEI, procederemos a estudiar su alcance y, por qué no, sus limitaciones, en la próxima entrada. De cualquier modo constituyen un punto de partida interesante sobre el que construir un enriquecedor debate sobre los aspectos que he pretendido esbozar en esta primera entrada. A partir de aquí inicio una aventura, espero que apasionante, en torno a las relaciones que se establecen entre la informática, la sociedad y el medio ambiente que, así al menos lo deseo, no transcurrirá en solitario ya que será de agradecer cualquier aportación de los lectores.