Source Codes: MoD Learns Expensive Drafting Lesson
A costly mistake by the Ministry of Defence (MoD) has highlighted the importance of careful drafting to ensure access to a software program’s source code.
The source code is the line of code in which the software is written, in language intelligible to a suitably trained software developer.
Through the use of a compiler, the source code is converted to object code which forms the software program. Without the source code it is virtually impossible to modify a program in the future.
In 2001 the MoD started a programme to make airworthy eight Chinook Mk3 helicopters. The MoD contracted to buy the aircraft without securing access to the software source code. Without the source code, the MoD was unable to demonstrate that the helicopters met UK airworthiness standards and that they were safe to fly.
Eight years later the helicopters have only just left the hangar, with costs set to exceed £422m.
What does this mean?
Ownership of the source code is particularly important where software is bespoke. In this situation, access to the source code may be required to allow future modifications. A contract for bespoke software should require the developer to deliver the source code upon request.
The source code will not be immediately required where the developer is providing maintenance services. However, provision should be made for access should the developer be unwilling or unable to support the software any longer. If the source code is not to be owned by you, this will normally be achieved through an escrow agreement.
It is also important to ensure you get access to all the relevant source code materials and information necessary to understand the source code and run the software.
What are the risks?
Failing to obtain access to the source code could prevent you from developing your software further or maintaining it in the future.
This can have serious ramifications for the efficiency of your business and its ability to meet customer demand effectively. As the MoD has found out, failing to obtain the source code can be an expensive mistake to rectify.
What should you do?
- Consider the nature of the software you are contracting for. If you are purchasing packaged software, the developer is unlikely to offer you access to the source code. Access will only be relevant for more bespoke software arrangements.
- If you are contracting for bespoke software and will obtain ownership of the software, ensure that you also obtain ownership of all source code materials.
- If you are entering into an agreement whereby a developer will provide software support and maintenance services, ensure that provision is made to access the source code should the developer withdraw such assistance. This should be set out clearly in the software maintenance agreement and backed up with an escrow agreement.
Link to article