Custom software developers sometimes anxiously wait for the maintenance period to begin. During maintenance, the software is already locally installed on the customer's equipment and infrastructure, and the detailed job of adapting the software to the customer's processes and needs is in almost all respects finished.
If the development and implementation phases were well managed and finalized, during the maintenance phase, the software developer's effort should be significantly diminished and the profitability should increase. With a little luck (or maybe it's more than luck at stake), during maintenance, the developer's work and allotted resources will be minimum, while the maintenance cost (some quite generous) will compensate for the low profitability of the project in earlier phases.
For this reason, once the software is delivered, many developers (rightfully so) will bill maintenance services. This is grounded on the erroneous idea that the software product is transmitted towards the customer as such; with no guarantee regarding the way it later functions. Therefore, maintenance services should come at a cost.
There are developers (quite a few, but a minority percentage-wise) who assume a warranty period for their software products, which means that maintenance services are done free of charge. Only after the assumed warranty period expires, are maintenance services performed at a cost.
Starting from these practical tendencies, some questions arise: whether there is a legal obligation to offer free maintenance and for how long, whether this obligation can be withdrawn, etc.
The answer to these questions is not easy to find for several reasons.
The first difficulty is the lack of a widely-accepted definition of software maintenance. For example, the customers I worked with generally include activities such as: diagnosing and remedying functional errors, adapting the software to the changes in the software or hardware ecosystem and the software upgrades. Nevertheless, the IT industry seems to have a relaxed perception of maintenance, which includes any intervention (on more or less arbitrary criteria) performed by developers on the software after the final delivery to the customer.
On the other hand, there is no legal definition of software maintenance (to the best of our knowledge), which complicates the answer to the questions above.
Nevertheless, there are legal obligations related to the intervention/remedy/correction/adjustment of sold products, which may lead to the idea that at least some of the maintenance activities (as loosely understood as possible) are compulsory for software producers, according to the law, and, in some cases, these must be delivered free of charge. I further discuss the relevant rules and regulations currently enforced.
The first example is featured by the Civil Code which tackles warranty in the case of hidden vice. Any seller (such as the software developer) bears responsibility towards the buyer for any hidden vice of the sold product (the custom-made software). The hidden vice refers to any serious product flaws (which cannot be ascertained in the absence of thorough examination) which render the product unusable for the purpose it was built for or which diminish its usage and value. Should the buyer have known about the vice, the buyer would have not bought the product or would have paid a lower price. In our case, we can imagine identifying a serious software malfunction after the customer receives the product, fact which can trigger the developer's responsibility to remedy the flaw at its own expense.
Another example (less frequently in the custom-made software-development world) is given by law no. 449/2003, which refers to individual customers. The seller is liable for the lack of product conformity. Conformity compels the seller to ensure that the respective product corresponds to any of the end goals required by the customer, goal made known to and acknowledged by the seller when drafting the purchase contract. Moreover, the lack of conformity which results from the incorrect installation of the products is equivalent to lack of conformity if installation is part of the purchase contract and the product was installed by the seller. Practically, due to the ambiguity of the term "conformity", in its relationship with its consumers, many of the software malfunctions, which emerge after the final delivery to the customer, can be considered as being non-conformous aspects which developers must remedy without any additional cost from the customer's part.
Of course, there are exceptions or limitations to the maintenance obligations imposed by the law onto software developers, but which we will talk about on another occasion.
The topic we discussed here is very generous and the number of questions that may arise is unlimited. We did not aim at exhausting all the problems that may arise from the software maintenance activity. Instead, we would like to invite professionals to a winder debate which we hope to have very soon.
by Oana Călugar
by Bianca Leuca
by Vlad But
by Adrian Vîntu
by Andrei Adam
by István Kiss