focus on
-
Average read time 7'

Breach of contract in software development: how to recover the source code?

Published in: Intellectual Property
by Margherita Manca
Home > Breach of contract in software development: how to recover the source code?

When a company commissions the development of software, it expects to receive a functional and complete product. But what happens if the supplier fails to comply with the contract and refuses to deliver the source code? Or worse, if they disappear without a trace?

The source code is the core of any software: without it, modifications, troubleshooting, or improvements over time are impossible. Failure to deliver it can cause serious economic and operational damage, putting a company in the difficult position of having to start from scratch.

In this article, we will explore how to prevent these problems with a well-structured contract, the legal tools available to recover the source code, and the alternatives in case recovery is not possible.

What is source code and why is it so important?

Imagine buying a car without having access to the engine. You could drive it, but you wouldn’t be able to modify, repair, or improve it without depending entirely on the manufacturer. In the software world, source code is precisely the “engine” of a program: the set of instructions written by developers to make it work.

Every software application, from a simple website to an enterprise management system, is built using source code. This code is written in programming languages such as Python, Java, or PHP and then compiled into an executable format for end users. Without access to the source code, a company can use the software but cannot modify, update, or fix it without relying on the original developer.

But why is it so important to have control over the source code? Here are a few concrete examples:

  • A company commissions a developer to create a custom management software. After a few years, the supplier stops providing support or raises maintenance costs. Without the source code, the company is stuck—it cannot update the software or assign it to another developer.
  • An e-commerce business uses a customized system to manage orders. If the source code is unavailable and the software stops working, sales halt, leading to potentially enormous financial losses.
  • A startup invests in an innovative app developed by a software house. If the contract does not include the delivery of the source code, the startup does not truly own its technology and cannot develop it freely.

These scenarios demonstrate how lacking access to source code can become a serious operational and economic issue. But how can this situation be prevented? The key lies in drafting a solid contract with the supplier. In the next section, we will explore the essential clauses needed for protection.

How to prevent the problem: proper contract drafting

By default, the source code should belong to the client, as they commission and finance the software development. However, many software houses include contract clauses that limit access to or transfer of the source code to protect their know-how and retain control over the software. This can lead to situations where, despite having paid for development, the client is unable to modify or evolve the software independently (for more details, see Source code: is the software house required to hand it over to the client? – Canella Camaiora by A. Canella).

To avoid future problems, the contract must clearly define:

  • who owns the intellectual property rights to the source code;
  • whether and to what extent the supplier can reuse parts of the code for other projects;
  • if the code includes open-source or third-party components, which might limit its exclusive use by the client.

Additionally, it is essential to specify the timing and method of source code delivery to prevent delays or incomplete deliveries. The contract should include:

  • periodic releases of the source code during development;
  • access to a shared Git repository, ensuring transparency and continuous monitoring;
  • final delivery of the source code along with documentation, ensuring future maintenance and updates.

A useful tool to prevent the risk of non-delivery is a software escrow clause. This agreement involves depositing the code with an escrow agent, a trusted third party, who releases it to the client under specific conditions

Lastly, it is fundamental to include penalties and dispute resolution mechanisms to protect the client from potential supplier breaches. A strong clause should cover:

  • financial penalties for delays in source code delivery;
  • clear termination conditions, specifying that failure to deliver the source code results in immediate contract termination;
  • the right to obtain the source code upon termination, preventing the supplier from blocking access.

Establishing these rules from the beginning helps avoid disputes and protects the company’s technological investment. But what if the supplier refuses to deliver the code despite contractual clauses? The next section will examine the legal actions available.

What if the supplier refuses to deliver the code?

When a supplier refuses to deliver the source code, it is crucial to act quickly with the support of a legal expert. The recovery process typically involves two steps: a formal notice to attempt an amicable resolution and, if necessary, legal action to enforce compliance.

The first step is sending a formal notice via certified email (PEC) or registered letter with return receipt, demanding source code delivery within a specific timeframe. This action serves three purposes:

  • encouraging the supplier to comply with the contract and resolve the issue amicably;
  • demonstrating the client’s good faith in seeking an out-of-court resolution, should litigation arise;
  • preventing the supplier from misusing the code, such as by selling it to competitors.

If the supplier does not respond or refuses to comply, the next step is legal action.

If the formal notice does not yield results, the client can file an urgent legal proceeding in court. It is a swift legal procedure designed to either obtain the source code immediately or prevent its misuse.

In the appeal, the company may request the judge to:

  • primarily, issue an order for the immediate delivery of the source code. If the judge confirms the client’s entitlement, they can mandate the supplier to hand over the code without further delay;
  • if delivery is not feasible or the supplier refuses, the court may order the seizure of the source code. The code may be placed in the custody of a third party (such as an expert or a judicial custodian), ensuring that neither the supplier nor the client can use it until a final decision is reached. This measure prevents the supplier from leveraging the code for unauthorized purposes and ensures the client does not use it in violation of any remaining rights held by the supplier.

This approach provides the company with the highest level of protection, allowing it to regain control over the software while mitigating potential operational and financial damages.

Each step of this process should be handled with the assistance of an experienced legal professional who can properly draft the formal notice and structure the legal action effectively. Acting promptly is crucial—delays could lead to the loss of control over the code and irreversible consequences.

If recovering the source code proves impossible, alternative strategies may still allow the project to move forward. In the next section, we will explore options such as reverse engineering or transitioning to a new software solution.

What if the source code cannot be recovered?

If the source code is permanently lost, the situation is not ideal, but there are solutions. The first and most obvious option is to develop new software with another provider. This approach offers complete control over the project, the ability to update the technology, and the opportunity to correct any limitations of the old system. However, time and costs can be significant, especially for complex software.

A more technical alternative is reverse engineering, meaning reconstructing the code starting from the executable. If the software has accessible databases and documented APIs, it may be possible to recreate it without starting from scratch. However, be cautious: this practice may violate licenses and copyright laws, so it is essential to assess legal risks with an expert.

Finally, if the software is not irreplaceable, an existing solution can be considered. Purchasing or adopting an alternative software solution may be the fastest and most cost-effective route, although there may be limitations in terms of customization and compatibility with company systems.

How to avoid this problem in the future? The key is a well-structured contract: the source code must be explicitly transferred or made accessible through escrow, with delivery deadlines and penalties for any delays. Software is not just an operational tool but a strategic asset—protecting the code means ensuring independence, security, and business continuity.

© Canella Camaiora Sta. All rights reserved.
Publication date: 19 March 2025

Textual reproduction of the article is permitted, even for commercial purposes, within the limit of 15% of its entirety, provided that the source is clearly indicated. In the case of online reproduction, a link to the original article must be included. Unauthorised reproduction or paraphrasing without indication of source will be prosecuted.

Margherita Manca

Lawyer at The Canella Camaiora Law Firm, member of the Milan Bar, she specialises in industrial law.
Read the bio
error: Content is protected !!