One of the most interesting jokes that I have seen about the herculean task of software developers is illustrated in the above picture, yet the picture represents the dilemma of their work. That is why I have always emphasized that every software developer should take interest in learning the law (at least as it applies to them).
Are you a software developer and you are reading this piece? Below are 6 clauses that you must instruct your lawyer to note in preparing software agreements for your clients.
1. Do not give 100% guarantee that nothing would go wrong with your software. You probably will agree with me that something sometimes go wrong at some point. It is therefore important to have a balanced agreement with clauses that allows you and your client to share risk and responsibilities in a workable manner.
2. Correction of certain errors may take time, sometimes, you might need to deploy entirely new codes or even rewrite the software, so, do not agree to a fixed time within which to correct errors. The right thing to do is to provide in Agreement that your company will evaluate the extent of error and advice on the time frame within which the errors will be corrected.
3. Save yourself the headache of litigation by asking your lawyer to add problem solving clauses. Most times, we lawyers place emphasis on dispute resolution clause instead of problem solving clause by which parties to an agreement are made to work as a team in resolving problems. One of the beautiful things about working as a team to resolve problems is that you create a teaming bond with your client and avoid unnecessary confrontations which eventually may lead you and your client to the court room.
4. How would you feel, if your client identifies the staff that happened to be the brain behind the software and then lure him or her from your company? Terrible, I guess. Moreover, your team members may have access to the source code of the software- and that may be a top trade secret of your company. That is why you must have a clause against staff poaching by which your client agrees not to engage any of your staff for a period of time following the completion of the software.
5. Beware of the clients that are always changing their software specifications. One way to address such tendency is to insert a clause for software specification so that any proposed variation that amounts to an added task can be paid for.
6. When you have done all you can to keep a relationship and it seems that it has headed for the walls, your best bet will be to resort to third party intervention (mediation, arbitration, litigation etc.). Bearing in mind the technical nature of your profession, it is important that you opt for a dispute management mechanism by which the dispute settlers have considerable knowledge in your profession, and that necessarily means that you make court litigation your last option.
Other than the above suggested clauses, there are standard clauses which your agreement should have. In essence, the points listed in this article are not exhaustive and the peculiarity of each client’s specification may differ, it is therefore important that you seek advice from an experienced legal practitioner.