Home / Publications / The Source Code of the Software Agreement

The Source Code of the Software Agreement


During the recent years, the IT sector is one of the most rapidly developing sectors in the Bulgarian economy. It generates great potential for innovation and its growth is based primarily on export of services or software products made in Bulgaria.

A well-structured software agreement is essential both for the customer and the supplier of the software. Knowledge of legal and technical options of such an agreement is a prerequisite for the successful launch of the software and the good cooperation between the parties.


The software agreement may be concluded for the use of certain software and/or software support. The agreement for use of software, in turn, may be an agreement for the use of existing software or agreement for the development of new software. The agreement may assign the customer with an exclusive or non-exclusive right of use.


Most often the parties are focused on the price while the arrangements regarding terms of payment are underestimated. The agreement may provide for an advance payment of certain portion of the price and deferred payment, respectively, or payment of the total price upon receipt of the software. The customer benefits from the payment of the main portion of the price after installation and testing of the software, and respectively, advanced or deferred payment is in favour of the supplier.

A specific feature of this type of contract is that the price can be agreed on the basis of man-days or a lump sum, as the case may be. It is advisable the payment for installation, maintenance, training, etc., to be negotiated in advance.

Rights and obligations

In particular, when the contract refers to development of new software, it is essential to provide comprehensive specification whereas the client should state in detail any requirements the program should meet. Fulfillment of the latter condition is essential for both parties, since in practice it raises most of the disputes between the parties afterwards.

The parties should agree on cases where changes in the specification are allowed, how they will be made and whether there will be an additional charge, and the way of communication, as well. The customer can demand specific professionals to participate in the development of the software, as well as to be involved in the selection of and monitoring of the team.

The Parties should specify software delivery and acceptance procedure, which usually is in the form of a protocol. Further, it is necessary to stipulate to what extent and for what period the supplier will be responsible for the repair of defects and will he be liable to update versions of the software.

Finally, the parties should prescribe a test and warranty periods of the software. Unless agreed otherwise, the minimum warranty period of six (6) months will be applied. According to the law, if within the six-month period flaws that are so significant that make the software unfit for its contractual or ordinary purpose arise, the customer may terminate the agreement.

Regardless of the legal provisions, in order to protect the interests of the parties, it is advisable that the software agreement defines the meaning of material breach of contract, way of notification and respective consequences. A period, within which the default party may repair the violation, as well as an option for software replacement, can be negotiated.

Representations and warranties
Often these are representations that the software meets its specifications and there are no material visible or latent defects and/or viruses, warranty of merchantability and fitness for a particular purpose, and that the supplier owns the software and the rights of third parties are not infringed, including intellectual property. If such stipulations exist, a period during which each of them is valid should be determined.

It is in the interest of the supplier to ensure that software warranty will not be valid in case of misuse, modification by third parties, failure to update the version by the client, hardware failures, etc.

Protective clauses
According to their will, the parties could include explicit safeguards such as a ban on processing, provision to third-party, distribution, copying, destruction of the product after a certain period, etc.

Besides the protective clauses in a software agreement, in order to provide further security to the parties upon its execution, the supplier could conclude "Professional Liability" insurance covering risks such as failure to provide a business decision, virus transmitting, loss of databases and documents, etc.

It is important that the copyrights holder is stated explicitly. More complicated are cases concerning joint authorship and international dimensions of the transaction.

In particular cases where software protection concerns are present, a specific arrangement for ensuring the source code escrow and related documentation could be provided. In this case, the parties shall appoint a third person who escrows the source code, usually for a remuneration, and is obliged to provide it to the customer upon the occurrence of predetermined circumstances (e.g., insolvency of the supplier, material breach of contract, etc.

Surviving clauses
Parties may agree that some of the provisions of the software contract are going to remain effective even after its termination. Usually, such provisions refer to insurance, representations and warranties, indemnities, confidentiality, etc. Often surviving clauses are negotiated for a period of time or upon occurrence of an event significant for the parties.


Maya Aleksandrova