jueves, 9 de enero de 2014

¿La culpa es del programador o del usuario?

Estaba ahora leyendo una conversación de amigos por Hangout en la que estuve ausente ayer, y me he encontrado con el siguiente problema:

Una dudilla existencial para variar. Es un tema legal sobre programación que no se si conocéis, pero comentándolo con alguien me ha saltado la duda. ¿Qué tan cierto es que hacer aplicaciones que no cumplan la ley hagan que tu puedas comerte una multa o alguna cosa rara?
Es decir yo hago una aplicación que no sé que incumple incumple una ley, pero que sí lo hace. Este caso era el de crear una app que genere facturas y que no obligue a alguien numerarlas. La aplicación no te obliga a numerar las facturas, una chorrada a mi pensar, pero resulta que hay una ley que obliga a numerar facturas...


Mi respuesta ha sido: ¡Demandar a  Microsoft!
Millones de personas hacen facturas con el Word, y este... NO PONE LAS AUTONUMERACIÓN
Es el ejemplo básico.

Por otro lado, un programa se cierra por contrato, y si en los requisitos del cliente firmado, no está la autonumeración, esta no se hace. Quizá el cliente la quiere poner a mano, o quizá la pone de otra forma. Es problema del cliente, no del programador.
Un cuchillo es un arma, pero también sirve para comer. Que te metan a la cárcel por usarlo de una forma u otra sólo depende del que lo usa, no de la empresa que lo hizo.
Otra cosa es que tu programa se dedique deliberadamente a robar en bancos, por ejemplo, pero ahí tendríamos lo mismo.
¿El problema es del programador o del que inventó el lenguaje de programación?
Pues lógicamente, el problema será del que usa herramienta, que no la usa debidamente.

Bit torrent, Emule y otros programas que hay quien considera "ilegales", son totalmente legales ¿o acaso yo no os puedo pasar las fotos de las navidades o los vídeos de alguna cena? son programas para enviar archivos a amigos y punto, no hay vuelta de hoja.
Incluso en España, está permitida la copia de seguridad (no se si la SGAE consiguió abolirlo... creo que no pero corregirme) por lo que yo puedo tener una copia de todos mis cedes en el ordenador (más aún hoy en día que casi no se usan), es más... puedo dejársela a un amigo mientras no me lucre con ello.

Así pues, esos programas no son ilegales, la ilegalidad la cometerá el que envíe archivos que realmente sean ilegales (pederastia, virus, incitación a la violencia etc.)
O por poner otro ejemplo, si dos terroristas quedan por teléfono para un atentado, ¿demandamos a Samsung por no poner un filtro anti terroristas?, ¿demandamos a Movistar por no filtrar la llamada?, ¿demandamos a Google por hacer que Android deje hacer ese tipo de llamadas?, ¿demandamos a la empresa que fabricó el micrófono por escuchar esas cosas? o ¿demandamos al cirujano que le arregló la muñeca rota al terrorista y que hizo que así pudiese coger el móvil para llamar?
El problema jamás estará en quién da la herramienta (mientras que no incite deliberadamente a un mal uso)
El problema siempre será del que la usa.

No soy abogado ni conozco las leyes al dedillo, así que si alguien piensa que no es así lo que estoy diciendo, le agradeceré enormemente que me corrija en los comentarios.

¡Pasar un buen y legal día!

2 comentarios:

  1. Estoy de acuerdo parcialmente, en los pliegos de condiciones no se recogen muchas cuestiones como suelen ser la inserción, edición y eliminación de muchos elementos de las aplicaciones que se desarrollan y posteriormente hay que hacerlos. En la carrera nos comentaron que una empresa en el pasado se negó a hacer la inserción, edición y eliminación de algo básico y perdió el juicio al que fue llevada y posteriormente alguien mas me ha comentado cosas similares, de todos modos seguro que los abogados pueden ayudarnos en este tema a los informáticos

    ResponderEliminar
    Respuestas
    1. Para ser más claros, en los pliegos de condiciones no se recoge casi nada de lo que al final el usuario quiere.
      El usuario nunca sabe lo que quiere, ya sea una simple persona o una gran empresa.
      Ahí entra la labor del desarrollador de saber qué es lo que el usuario pide, qué se va a hacer, y de definir a grandes rastos, pero siendo lo más precioso posible, que hará y como la aplicación.
      Cada pantalla tiene un valor, cada botón tiene un valor, cada funcionalidad tiene un valor.
      El problema viene cuando ofreces por ejemplo... un "editor de texto" y no se escribe nada más.
      En el editor viene implícito guardar, modificar, eliminar.... poner formatos...
      Si hay algo que no haces, el usuario siempre te lo puede pedir, y tu se lo deberás dar, a menos que hayas especificado muy muy detalladamente lo que podía hacer el editor. Pero a veces eso implica pillarse muchísimo los dedos.
      Vamos, que es preferible hacer un pliego de condiciones que defina las funcionalidades principales, y firmarlo, y luego sobre la marcha, ir hablando con el cliente para adaptar las funcionalidades acordadas.

      Muchas gracias por comentar la entrada!!!!

      Eliminar