Contrato de Desarrollo de Software para Programador Freelance
Marco legal del contrato de desarrollo de software en España
El contrato de desarrollo de software es el instrumento jurídico mediante el cual un programador freelance se compromete a crear, adaptar o mantener una aplicación, sistema o producto digital a cambio de una contraprestación económica. Desde el punto de vista del derecho español, este tipo de contrato se encuadra principalmente en la figura del arrendamiento de obra o de servicios regulado en el artículo 1544 del Código Civil, dependiendo de si el programador se obliga a entregar un resultado concreto —una aplicación funcional— o a prestar su actividad durante un periodo determinado.
Cuando el objeto es la entrega de un producto terminado y funcional, estaremos ante un contrato de obra, donde el programador asume el riesgo del resultado. Si, por el contrario, el encargo consiste en prestar horas de desarrollo sin garantía de resultado específico, se trataría de un contrato de servicios. Esta distinción tiene consecuencias prácticas relevantes: en el contrato de obra, el incumplimiento del resultado puede dar lugar a la resolución del contrato y a una indemnización conforme al artículo 1101 del Código Civil; en el de servicios, la obligación es de medios, no de resultado.
A estas normas generales se superpone la Ley de Servicios de la Sociedad de la Información y de Comercio Electrónico (Ley 34/2002, de 11 de julio, LSSI-CE), que resulta aplicable cuando los servicios se prestan o contratan a través de medios electrónicos, circunstancia habitual en el trabajo remoto de los programadores freelance. El artículo 23 de la LSSI-CE reconoce plena validez jurídica a los contratos celebrados por vía electrónica.
Por último, el software es una obra protegida por la Ley de Propiedad Intelectual (Real Decreto Legislativo 1/1996, de 12 de abril). El artículo 10.1.i) LPI incluye expresamente los programas de ordenador como obras susceptibles de protección. Esto tiene una implicación directa: salvo pacto expreso en contrario, los derechos patrimoniales sobre el código desarrollado pertenecen al programador que lo ha creado, no al cliente que lo ha encargado.
Titularidad del código fuente y cesión de derechos
La cuestión de a quién pertenece el código fuente desarrollado por encargo es, con diferencia, la que genera más conflictos entre programadores freelance y sus clientes. El artículo 97 LPI, que regula específicamente la protección jurídica de los programas de ordenador, establece que la titularidad originaria corresponde al autor o autores. La transmisión de esos derechos al cliente requiere una cesión expresa, que debe especificar las modalidades de explotación autorizadas, el territorio y la duración, de conformidad con el artículo 43 LPI.
En ausencia de cláusula de cesión, el cliente que incorpora el software encargado a su producto comercial, lo distribuye o lo modifica está infringiendo los derechos de propiedad intelectual del programador, con independencia de que haya pagado íntegramente los honorarios pactados. El pago del precio no implica automáticamente la transmisión de los derechos sobre la obra: ambas cosas deben pactarse de forma separada y explícita.
Adicionalmente, cuando el contrato incluya el desarrollo de software que maneje datos personales, el programador actuará como encargado del tratamiento en el sentido del artículo 28 del Reglamento (UE) 2016/679 (RGPD), lo que obliga a formalizar un acuerdo de encargo del tratamiento como anexo o cláusula específica del contrato principal.
Cláusulas esenciales de un contrato de desarrollo de software
Un contrato de desarrollo de software que proteja eficazmente los intereses del programador freelance debe incorporar, al menos, los siguientes elementos:
- Identificación de las partes: datos completos del programador (nombre, NIF, domicilio fiscal, alta como autónomo o sociedad) y del cliente (persona física o jurídica, CIF, representante legal si procede).
- Objeto y alcance del proyecto: descripción técnica detallada del software a desarrollar, funcionalidades incluidas, tecnologías empleadas y, expresamente, lo que queda fuera del alcance del encargo.
- Metodología y hitos de entrega: si se trabaja por fases o sprints, calendario de entregas parciales y criterios de aceptación de cada entrega.
- Precio, forma de pago y penalizaciones: honorarios totales o por fase, IVA aplicable, plazos de pago y consecuencias del impago, con referencia al artículo 1101 del Código Civil y a la Ley 3/2004 de medidas de lucha contra la morosidad en operaciones comerciales.
- Cesión de derechos de propiedad intelectual: alcance de la cesión (uso, distribución, modificación, sublicencia), exclusividad o no exclusividad, territorio y duración, conforme al artículo 43 LPI.
- Titularidad del código fuente: si el cliente adquiere el código fuente o solo una licencia de uso del software compilado.
- Confidencialidad: obligación de no divulgar información técnica o de negocio del cliente, con duración que se extienda más allá de la finalización del contrato.
- Garantía y mantenimiento post-entrega: periodo de garantía para corrección de errores o bugs sin coste adicional, y condiciones para contratar mantenimiento evolutivo o correctivo posterior.
- Uso de software de terceros y licencias: declaración sobre librerías, frameworks o componentes de terceros incorporados al desarrollo y responsabilidad sobre el cumplimiento de sus licencias.
- Encargo del tratamiento de datos (RGPD): cuando proceda, identificación del responsable y encargado del tratamiento, medidas de seguridad aplicadas y obligaciones de confidencialidad sobre los datos personales accesibles durante el desarrollo.
- Resolución del contrato: causas de resolución anticipada, consecuencias económicas y entrega de los trabajos realizados hasta la fecha de resolución.
- Ley aplicable y fuero: derecho español como ley aplicable y tribunal competente, generalmente el del domicilio del programador como prestador del servicio.
El pago por fases como herramienta de protección del programador
Estructurar el precio en pagos vinculados a hitos de entrega es la práctica más eficaz para que el programador freelance proteja sus ingresos a lo largo de proyectos de duración media o larga. Un esquema habitual incluye un anticipo al inicio del proyecto —generalmente entre el 30 % y el 50 % del presupuesto total—, pagos intermedios ligados a la entrega y aceptación de fases concretas, y un pago final a la entrega del producto terminado.
Este sistema tiene respaldo en el artículo 1544 del Código Civil y en los principios generales de las obligaciones sinalagmáticas recogidos en los artículos 1088 y 1091 del mismo texto. Si el cliente rechaza sin causa justificada una entrega que cumple los criterios de aceptación pactados, el programador puede exigir el pago correspondiente a esa fase e incluso resolver el contrato por incumplimiento, reclamando los daños y perjuicios sufridos.
Riesgos de trabajar sin contrato escrito en el desarrollo de software
La ausencia de contrato escrito en proyectos de desarrollo de software no solo expone al programador a impagos difíciles de reclamar judicialmente; también crea una zona de incertidumbre sobre la propiedad intelectual del código, el alcance exacto del proyecto y las condiciones de la garantía post-entrega. Dado que los contratos verbales son válidos conforme al artículo 1278 del Código Civil, cualquiera de las partes puede alegar en juicio que el acuerdo tenía un contenido diferente al que la otra parte sostiene, y la resolución del conflicto dependerá exclusivamente de la valoración de la prueba.
En proyectos de cierta envergadura, trabajar sin contrato escrito puede significar que el programador entrega un sistema complejo, el cliente lo usa durante años en su negocio, y cuando surge el conflicto —por impago, por reclamación de correcciones que van más allá de la garantía razonable, o por disputa sobre la titularidad del código— el programador carece de documentación que acredite los términos del encargo. El artículo 1583 del Código Civil, que regula el arrendamiento de servicios por tiempo cierto, presupone precisamente que las condiciones esenciales del encargo están fijadas con claridad: sin contrato, esa claridad simplemente no existe.
En Firmia ofrecemos a los programadores freelance la posibilidad de generar contratos de desarrollo de software adaptados a su proyecto concreto, ajustados a la legislación española y configurables en función de si el encargo es de obra o de servicios, si incluye cesión de código fuente, si requiere cláusulas RGPD o si se estructura en fases. El contrato queda listo para firmar digitalmente en pocos minutos.
Genera este contrato personalizado en minutos con Firmia
Gratis para empezar. Sin necesidad de conocimientos legales.
Crear mi contrato ahora