Contrato de Desarrollo de Software en Blockchain: 5 conceptos claves

En la siguiente guía vamos a analizar las principales cuestiones a considerar para realizar un contrato de desarrollo de software sobre Blockchain. En primer lugar veremos conceptos básicos para luego pasar a considerar los puntos imprescindibles al momento de realizar un contrato de desarrollo de software. Será preciso también hacer algunas conceptualizaciones respecto de términos básicos tales como Blockchain y Smart Contracts. También explicaremos cuáles son las cláusulas imprescindibles a la hora de confeccionar un contrato de desarrollo.

Es un hecho que las criptomonedas y la tecnología Blockchain han estado en boca de todos a raíz del boom en el año 2017 y 2018. Ahora bien, cabe hacerse algunas preguntas y reconsiderar conceptos viéndolos desde otra perspectiva. Con el auge de la Criptoeconomía y la tecnología Blockchain surgen algunos interrogantes que en el mundo analógico no se plantean. Por tal motivo, haremos una conceptualización respecto de dichos conceptos.

¿Qué entendemos por Blockchain?

Empezaremos definiendo el término Blockchain, como un gran libro de contabilidad descentralizado donde constan todas las transacciones realizadas desde el inicio de dicha tecnología allá por el año 2008. A raíz de esto, el principal beneficio que esto genera es que todas las transacciones se encuentran documentadas en dicha tecnología, sin que pueda modificarse la información allí vertida.

Asimismo, otra de las ventajas que esta tecnología permite, (si no la más importante) es la eliminación de la intermediación. Blockchain es una cadena descentralizada, por lo que, hay infinidad de nodos en diversos puntos del planeta que validan las transacciones de los usuarios. Dichos nodos son ordenadores que certifican que la transacción es válida, pasando la misma a formar parte de la cadena de bloques. Sobre la base de dicha tecnología se permitió el desarrollo tanto de las criptomonedas como así también de los denominados Smart Contracts.

¿Y por Smart Contracts?

Podemos definir a los Smart Contracts como programas informáticos que ejecutan acuerdos de voluntades entre dos o más partes, previamente programados sobre una Blockchain. Entonces, se trata de un acuerdo de voluntades previamente consensuado en el mundo analógico. Pero la forma del contrato como así también su ejecución se llevan a cabo en el entorno digital y se aloja sobre Blockchain.

Por lo tanto, hay diferencias esenciales con respecto a la contratación electrónica tanto desde el punto de vista del soporte como así también desde el punto de vista jurídico. En la contratación electrónica, el soporte es simplemente el medio común entre ambos contratantes.En un Smart Contract la tecnología Blockchain permite la ejecución del contrato. Sin ésta el Smart Contract no podría desarrollarse y por tanto autoejecutarse.

"Internet es a la contratación electrónica como Blockchain es a los Smart Contracts"

Así, la contratación electrónica y los Smart Contract no tienen virtualidad sin sus respectivos soportes digitales. La característica principal y diferenciadora de los Smart Contract es que son autoejecutables, a diferencia de lo que ocurre con la contratación electrónica. De allí, la importancia de esta característica para la confección de un contrato de desarrollo de software mediante un Smart Contract sobre la Blockchain.

Claves al momento de realizar un Contrato de desarrollo de software mediante Smart Contracts

Es sumamente relevante, teniendo en consideración los conceptos desarrollados previamente, las cláusulas contractuales indispensables al momento de negociar un contrato de desarrollo de software. Una cuestión no menor es el hecho que se trata de un contrato de tipo innominado en Argentina, por lo que, regirá el Principio de autonomía de la voluntad. Es un principio rector en materia civil y comercial, pudiendo las partes contratantes negociar las cláusulas que más se adecúen a sus necesidades. Claro está, sin que las mismas lleguen a ser abusivas para uno de los contratantes.

Ahora, veremos algunas de las cláusulas que deben ser negociadas a fin de que el contrato pueda ser ejecutado sin inconvenientes.

  1. Objeto del contrato
  2. Código fuente y código objeto
  3. Titularidad del software
  4. Pruebas de instalación y aceptación
  5. Cláusulas de garantía
1- Objeto del contrato

Esta cláusula si bien puede resultar obvia, no lo es dado que una indeterminación en el mismo, podría generar luego problemas de interpretación y hacer caer, luego el contrato. Se recomienda que, las partes estipulen cuál es el software a desarrollar, ya sea una página web, un sistema operativo o un programa de computación, lo más detallado posible.

2- Código fuente y código objeto

Esta cláusula del contrato resulta otra de las más importantes al momento de contratar. Recordemos que el código fuente es el lenguaje de programación que define el contrato a nivel sistema (Solidity en el caso de la Blockchain de Ethereum). Por otro lado, el código objeto puede definirse como la esfera visible del software y al cual tiene acceso el usuario.

Ahora bien, cabe preguntarse, ¿por qué es esencial la negociación de la propiedad del código fuente? Sencillamente, porque a raíz de este es posible realizar actualizaciones en el software, modificaciones, y perfeccionamientos. De modo que, el contratante que posea dicho código es quien tiene el acceso al núcleo del software. En atención a ello, dicha cláusula no puede soslayarse sin riesgo de caer en posibles litigios posteriores. Así es esencial que se negocie, quien tendrá la titularidad del código, ya sea cualquiera de los contratantes o un tercero ajeno al contrato. Este también podría fijarse en la Blockchain dada su característica como certificadora.

Si se trata de un software diseñado a medida, quien deberá tener el código en este caso es el contratante usuario. Delegar en el desarrollador la titularidad del código fuente es riesgoso por los datos brindados y las posibles actualizaciones y mantenimiento del mismo. Si se trata del desarrollo de un paquete de software o software enlatado, es muy probable que el desarrollador sea quien retenga para sí el código fuente otorgando al otro contratante tan sólo el código objeto.

3- Titularidad del software

Esta cláusula es esencial en el contrato de desarrollo, porque dependiendo del tipo de contrato, variará la negociación. Si se trata de un software hecho a medida del cliente, lo natural es que quién ostente el carácter de propietario sea el contratante/cliente. Esto es así porque el software fue realizado por el proveedor de acuerdo a sus requerimientos. En este punto, sin perjuicio de la obviedad, es necesario que se ponga de manifiesto expresamente que la titularidad reside en el adquirente de dicho software.

4- Pruebas de instalación y aceptación (“entregables”)

Este punto también resulta crucial en cuanto al cumplimiento del contrato y, constituye el núcleo del Smart Contract. Así, si ambas partes contrataron sobre la Blockchain, se pactan sobre la plataforma que aloja el Smart Contract lo que se denomina “entregables”. Un “entregable” constituye el cumplimiento de una etapa en el desarrollo del software. De modo que, una vez que las partes han contratado mediante un Smart Contract alojado sobre la Blockchain, los mismos se vuelven inmutables, no pudiendo ser modificados. Ello trae aparejado que una vez ejecutada una etapa del contrato, este ya no puede modificarse, sólo resta avanzar hasta su finalización.

Mediante el “entregable” se van marcando los hitos de cumplimiento del contrato por parte del desarrollador. Ahora bien, no sólo el desarrollador es quien tiene a cargo obligaciones; del otro lado, el cliente tiene a su cargo la aceptación de dicho “entregable”. Es decir, es necesario que mediante un acto inequívoco, se acepte el hito realizado por el desarrollador. Si son constatados los requisitos por el cliente, se aprueba y se pasa a la siguiente etapa del contrato abonándose la etapa al desarrollador.

Entonces, tal como puede apreciarse, al determinarse fechas e hitos, pactados de común acuerdo por las partes, se reduce sensiblemente la posibilidad de conflicto entre ambas partes. Son las partes las que fijan los plazos para las entregas, cumplimiento de hitos y aceptación de los mismos. Pactan sus propios plazos, dado que en este contrato rige ampliamente la autonomía de la voluntad. Los beneficios, nuevamente en este punto residen en que, los plazos están estipulados de antemano y consensuados por ambos contratantes.

Asimismo, dado que se aloja sobre Blockchain, todos los hitos como así también la aceptación del cliente quedan certificados en la plataforma que aloja dicho Smart Contract. Se reducen sensiblemente las posibilidades de interpretación de cláusulas, dado que las mismas se autoejecutan cuando ambas partes cumplen.

5- Cláusulas de garantía

Por último, y no menos importante son las garantías debidas entre partes respecto del software a desarrollar. Se vuelve esencial que las garantías de indemnidad estén dadas, ya que una de las finalidades es reducir la incertidumbre en la contratación y dar seguridad a las relaciones comerciales. Por tal motivo, el cliente debe asegurarse de obtener una garantía de indemnidad respecto del software a desarrollar, tanto de reclamo de terceros como de la titularidad de los softwares utilizados para el desarrollo del encargado.

El futuro Smart del Contrato de Desarrollo de Software

Hemos desarrollado cuáles son los aspectos centrales al momento de contratar mediante la tecnología Blockchain. En el caso del contrato de desarrollo de software, se trata de un contrato típico y de gran utilización en el mundo Blockchain. Por tal motivo, es necesario plantear los lineamientos más importantes para que todo aquel interesado en utilizar los Smart Contracts conozcan los riesgos y beneficios de dicha contratación. Blockchain se plantea como una opción viable para promover la seguridad jurídica en las relaciones comerciales y contractuales. Asimismo, al quedar todo certificado en la plataforma se permite asegurar el cumplimiento de los objetivos perseguidos por las partes al negociar el contrato.

¿Conocés nuestra plataforma de Smart Contracts?

Dtecdeal es la plataforma de contratos inteligentes que va a revolucionar la forma de hacer contratos. Actualmente en fase de desarrollo, estamos creando distintos tipos de contratos que vas a poder utilizar siendo parte de la comunidad. El Contrato de Desarrollo de Software es uno de los primeros en lanzarse. Si estás interesado o tenés dudas hacenos tu consulta y seguinos en nuestras Redes Sociales.

Author: Belen Calvanese
Abogada Laboral e Integrante del equipo Dtecdeal.

Dtecdeal - plataforma de Smart Contracts

¿Tenés alguna duda? Contactamos y te daremos la información que necesitamos.

¿Tenés alguna duda? Contactanos y te daremos la información que necesitas.