Contrato de desarrollador web freelance en España
El contrato de desarrollador web freelance en España regula cuestiones que no aparecen en contratos genéricos: propiedad del código, titularidad del dominio, periodo de garantía de bugs, cumplimiento RGPD y gestión de cambios de alcance.
Qué hace diferente al contrato de desarrollo web
El contrato de desarrollo web freelance tiene particularidades que no existen en otros servicios profesionales. Un diseñador entrega archivos; un redactor entrega textos. Un desarrollador web entrega un sistema funcional que el cliente va a operar, que va a alojar en infraestructura de terceros, que va a tratar datos de sus propios usuarios, y que puede fallar de formas que no son inmediatamente visibles.
Esas particularidades generan cuestiones legales específicas: ¿a quién pertenece el código? ¿quién es el propietario del dominio? ¿quién responde si hay un fallo de seguridad? ¿cuánto tiempo debe el desarrollador corregir errores gratis? ¿qué pasa si el cliente pide funcionalidades que no estaban en el presupuesto inicial?
Sin cláusulas que regulen estas preguntas, el desarrollador queda expuesto a reclamaciones ilimitadas y sin fecha de cierre.
Cláusula de alcance técnico: el antídoto contra el scope creep
El problema más frecuente en proyectos de desarrollo es el scope creep: el cliente va añadiendo funcionalidades al margen de lo presupuestado, con la asunción implícita de que están incluidas en el precio original.
El alcance técnico debe definir:
- Stack tecnológico elegido (lenguajes, frameworks, CMS, base de datos)
- Funcionalidades incluidas, descritas con suficiente detalle técnico
- Integraciones con sistemas de terceros incluidas (y las que quedan excluidas)
- Número de entornos entregados: desarrollo, staging, producción
- Navegadores y dispositivos cubiertos por las pruebas de compatibilidad
- Rendimiento mínimo esperado: tiempo de carga, Lighthouse score, si se ha pactado
Todo lo que no esté en este listado es, por defecto, fuera de alcance y sujeto a presupuesto adicional.
La cláusula de gestión de cambios (change management)
Para que el alcance tenga efecto real, el contrato debe incluir un proceso formal de gestión de cambios:
- El cliente solicita el cambio por escrito (correo, herramienta de gestión de proyectos)
- El desarrollador evalúa el impacto en tiempo y precio (plazo para responder: 3 días hábiles)
- Si hay impacto, se firma un addendum antes de ejecutar el cambio
- Sin addendum firmado, el cambio no se desarrolla
Este proceso no frena los proyectos: los estructura. Los clientes que trabajan bajo este esquema aprenden a priorizar y a tomar decisiones conscientes sobre el alcance.
Propiedad del código: cesión, licencia y código open source
El artículo 97 del Real Decreto Legislativo 1/1996 (LPI) establece que los programas de ordenador están protegidos como obras literarias. Los derechos corresponden al programador que los crea, salvo que exista relación laboral —en cuyo caso corresponden al empleador— o cesión contractual.
Para un desarrollador freelance, esto significa: el código te pertenece por defecto. El cliente adquiere el derecho a usar el resultado, no la titularidad del código, salvo que lo negociéis expresamente.
Opciones a negociar:
- Licencia de uso: el cliente puede usar el software, pero el código sigue siendo tuyo. Puedes reusarlo en proyectos similares.
- Cesión total: el cliente adquiere todos los derechos sobre el código. Justifica un precio mayor y excluye que uses ese código en otros proyectos.
- Cesión del código de negocio, retención del código genérico: cedes el código específico del proyecto (modelos de datos, lógica de negocio) pero retienes las librerías y componentes reutilizables que usas en todos tus proyectos.
Para el código open source incorporado, incluye una declaración de qué librerías usa el proyecto y bajo qué licencias, para que el cliente sepa a qué está sujeto.
Dominio, hosting y accesos: quién es el propietario real
Una fuente habitual de conflictos: el desarrollador registra el dominio "de paso" o configura el hosting en su propia cuenta, y cuando termina la relación, el cliente descubre que no tiene control real de su infraestructura.
El contrato debe ser rotundo:
- El dominio debe estar registrado a nombre del cliente, con sus datos de contacto en el WHOIS. Si el desarrollador lo registra temporalmente, el contrato debe incluir un plazo máximo para la transferencia.
- El hosting debe ser contratado por el cliente o transferido a su cuenta antes de la entrega final del proyecto.
- Las credenciales de todos los sistemas (CMS, servidor, base de datos, Google Analytics, Search Console) deben entregarse al cliente al finalizar el proyecto.
- Las API keys de terceros (Stripe, SendGrid, Google Maps, etc.) deben estar en la cuenta del cliente, no en la del desarrollador.
Si el desarrollador gestiona el hosting como servicio adicional y recurrente, ese servicio debe estar en un contrato de mantenimiento separado, con precio mensual y condiciones de cancelación.
Periodo de garantía y corrección de errores
La pregunta más incómoda del desarrollo web: ¿hasta cuándo estás obligado a corregir errores gratis?
Sin cláusula de garantía expresa, el marco legal general del artículo 1258 del Código Civil (buena fe en la ejecución de los contratos) y las normas sobre arrendamiento de obra pueden obligarte a corregir defectos en plazos y bajo condiciones que no controlaste.
La cláusula de garantía debe establecer:
- Periodo de garantía: habitualmente 30-60 días desde la entrega en producción
- Qué cubre la garantía: errores o mal funcionamiento de funcionalidades incluidas en el alcance original, no errores causados por modificaciones del cliente o actualizaciones de plugins
- Qué no cubre: nuevas funcionalidades, cambios de diseño, problemas de terceros (caídas del hosting, cambios en APIs externas)
- Plazo de respuesta: días hábiles máximos para iniciar la corrección de un error reportado
RGPD y obligaciones legales en proyectos web
Si el sitio web que desarrollas va a tratar datos personales de usuarios —registro de usuarios, formularios de contacto, cookies de seguimiento, comercio electrónico, área de clientes— debes incluir en el contrato:
Cláusula de encargo de tratamiento: formaliza tu posición como encargado del tratamiento bajo el Reglamento (UE) 2016/679 (RGPD) y la Ley Orgánica 3/2018 (LOPDGDD). Establece que tratas los datos solo siguiendo las instrucciones del cliente, que adoptas medidas de seguridad técnicas adecuadas y que notificas cualquier brecha de seguridad en el plazo legal.
Declaración de cumplimiento técnico: si el proyecto incluye el desarrollo del sistema de gestión de cookies, el aviso legal o la política de privacidad, el contrato debe especificar que esos textos son informativos y que la responsabilidad última del cumplimiento legal recae en el cliente como responsable del tratamiento. No eres tú quien elige qué datos recoger: eres quien implementa lo que el cliente decide.
Uso de librerías con implicaciones de privacidad: Google Fonts servidas desde los servidores de Google, scripts de analítica de terceros, píxeles de remarketing. Muchas de estas herramientas han sido objeto de sanciones de autoridades de protección de datos europeas. Informa al cliente de las implicaciones y deja constancia escrita de que la decisión de incluirlas es suya.
Compatibilidad, rendimiento y accesibilidad
Define por escrito qué es "funcionar correctamente":
- Navegadores soportados y versiones mínimas (Chrome, Firefox, Safari, Edge; las versiones actuales menos 1)
- Dispositivos y resoluciones de pantalla (mínimo: móvil desde 375px, tablet desde 768px, escritorio desde 1280px)
- Objetivos de rendimiento si se han pactado (Lighthouse performance score mínimo de X en dispositivo móvil)
- Nivel de accesibilidad WCAG 2.1 si el cliente opera en sectores sujetos al Real Decreto 1112/2018 sobre accesibilidad web del sector público
Sin estos parámetros, "funcionar" es una opinión, y la del cliente siempre será más exigente que la tuya.
Genera tu contrato de desarrollador web con todas estas cláusulas técnicas y legales en Firmia — personalizado para tu proyecto en minutos.
Preguntas frecuentes
¿A quién pertenece el código que desarrollo para un cliente?
Por defecto, a ti. El artículo 97 de la LPI protege los programas de ordenador como obras del autor. Para que el cliente adquiera la titularidad, el contrato debe incluir una cesión expresa por escrito.
¿Estoy obligado a corregir errores sin cobrar después de la entrega?
Solo durante el periodo de garantía que hayas pactado en el contrato. Define expresamente su duración (30-60 días recomendado), qué cubre y qué no, para evitar obligaciones abiertas.
¿Cómo me protejo si el cliente cambia los requisitos?
Con una cláusula de gestión de cambios que exija solicitud escrita, evaluación del impacto y firma de un addendum antes de ejecutar cualquier cambio fuera del alcance original.
¿Necesito cláusula RGPD en contratos de desarrollo web?
Sí, si el sitio trata datos personales de usuarios. Debes formalizar tu posición como encargado del tratamiento bajo el RGPD y la LOPDGDD mediante una cláusula de encargo de tratamiento.
¿Puedo usar librerías open source en proyectos de clientes?
Sí, pero verifica las licencias. MIT y BSD son permisivas. GPL y AGPL son copyleft y pueden obligar a publicar el código del proyecto. Declara en el contrato qué librerías de terceros incorpora el proyecto y bajo qué licencias.
También te puede interesar: Contrato de desarrollo web para freelancers y Contrato de desarrollo de software freelance y NDA o acuerdo de confidencialidad en España.
Genera tu contrato de desarrollador web con todas las cláusulas técnicas incluidas
Gratis para empezar. Sin necesidad de conocimientos legales.
Crear mi primer contrato