jueves, 18 de agosto de 2011

Quien es el dueño de lo que yo desarrollo.

Como desarrolladores de software nos encontramos siempre con este caso: quien es el dueño de lo que hacemos?

Lo que siempre hay que tener en cuenta es bajo que norma se rigen las relaciones entre los individuos, estas normas están reglamentadas en leyes, códigos, decretos y una serie de cosas más que los abogados saben con más detalle.

En el desarrollo de software lo que se crea es una relación entre dos individuos (personas naturales o jurídicas) el desarrollador y el cliente, teniendo en cuenta este aspecto, esta relación se puede dar entre otras teniendo en cuenta los siguientes casos:

1. Caso 1: Al desarrollador lo contrataron como empleado por nómina con todas la prestaciones del caso o como freelance pagado por horas para desarrollar algo específico para la empresa por medio de una orden de prestación de servicos, para desarrollar algo con recursos de la empresa, en las instalaciones de la empresa. En este caso todas las líneas del código desarrollado, las librerías creadas, y el producto, serán propiedad del cliente. En este caso la relación está amparada bajo el código sustantivo del trabajo (contrato laboral) y el código de comercio (contrato de prestación de servicios) algo al respecto en este vínculo: http://www.gerencie.com/contrato-de-servicios.html.

En este caso el desarrollador ganó experiencia, reconocimiento.

2. Caso 2: Una empresa contrata a un desarrollador para que le haga un producto a la medida. El producto fue desarrollado por el desarrollador, en las instalaciones del desarrollador, con herramientas del desarrollador.

En este caso la relación cliente-desarrollador es regido por el código de comercio y por tanto se debe realizar un contrato entre las dos partes donde se especifique claramente quien es dueño de que, en este contrato debe de regir una cláusula de confidencialidad, para que el cliente proteja su negocio, que es lo importante para el cliente.

En este contrato también se debe especificar los derechos patrimoniales, es decir quién puede lucrarse de la comercialización de dicho producto. Sin embargo el derecho de autor o derechos morales son del desarrollador y no se pueden negociar ni ceder, al igual que pasa con las obras de arte.

En el contrato también se puede especificar quien es el dueño del código desarrollado, lo que yo hago, es que en mis contratos especifico que el producto es del cliente. Pero el código es de mi propiedad, es decir, el cliente puede coger su producto, modificarlo, ampliarlo, venderlo a su gusto, pero yo, puedo usar el código utilizado para crear dicho producto en otras aplicaciones, eso sí, sin infringir la cláusula de confidencialidad. Lo que quiere decir, que si yo hice durante el desarrollo del sistema para la empresa A, una librería que optimiza el acceso la base de datos, dicho código lo puedo utilizar en mis posteriores aplicaciones. Lo que no podría hacer, es venderle el producto que le hice parea la empresa A a la empresa B (si así se encuentra especificado en el contrato).

Hay una práctica que yo hago, y así lo específico en mis contratos, es que yo entrego el producto con el código fuente al cliente, sin embargo, aclaro que cualquier modificación que hagan al código anula la garantía. Y créanme que siempre el cliente me ha contratado de nuevo para que le haga yo mismo las mejoras al producto, y si eventualmente el cliente modifica el código y daña la aplicación, adivinen a quien llama y adivinen cuanto cobro yo por arreglar el daño…

3. Caso 3: Yo hice un producto y el cliente me quiere comprar dicho producto, en ese caso, el producto fue desarrollado por mí, en mis instalaciones y con mis recursos. En este caso el cliente adquiere el producto que yo le estoy ofreciendo, y también está regido por el código de comercio en una operación de compra-venta en la cual también hay que hacer un contrato y en este se especifica que la propiedad es mía y que, el cliente puede utilizar dicho producto para su beneficio. Como en el caso por ejemplo de un sistema de nómina, ahí no hay procesos del cliente a proteger ni confidencialidad sobre procedimientos ni nada, pues es una tarea común a muchos clientes, el producto se puede vender sin ninguna restricción de confidencialidad.

4. Caso 4: Ahora aprovechando las nuevas tecnologías, como Windows azure, surge una nueva posibilidad, el software como servicio, en este caso, el cliente compra el acceso al sistema por un tiempo especificado, por una cantidad de transacciones especificadas, etc, etc, etc, más o menos como un alquiler, en este caso también se debe realizar un contrato y es regido por el código de comercio, pero es más parecido a un contrato de arrendamiento, en el cual el cliente hace uso del producto bajo unas condiciones especificadas. Es contrato es lo que normalmente uno chequea como “Acepto” en algunos sitios sin ni siquiera leer lo que allí dice.

En conclusión hay que tener muy claro lo que se especifica en el contrato, pues en caso de un pleito jurídico es el primer documento que se tiene en cuenta para el desempate (es decir definir quién tiene la razón, si el cliente o el desarrollador), y por consiguiente sugiero que se valgan de un abogado para que les ayude a crear una buena minuta contractual que se encargará de regir la relación con sus clientes.

3 comentarios:

  1. Muy buen articulo, muchas gracias por compartirlo.

    Saludos,

    Diego.

    ResponderEliminar
  2. Muy interesante el objeto "Legal" del articulo, solo un comentario (nada que ver con el punto central, solo como aclaración).

    -->"Caso 4: Ahora aprovechando las nuevas tecnologías, como Windows azure, surge una nueva posibilidad, el software como servicio".<--

    "Software as a Service (Saas)", no es un concepto nuevo, por el contrario es algo que se viene implementando por muchos años, lo que traen tecnologias como Azure, Amazon cloud, Smartcloud, por nombrar algunas es dar una nueva dimensión a esta forma de negocio, pero no solo a esta, a muchas otras también.

    Saludos!!

    ResponderEliminar
  3. Muy buen articulo, lo tendre muy en cuenta cuando venda o arriende software.

    ResponderEliminar