Software licenses are the foundation for building win-win relationships between software vendors and clients. The basis for a good contract is that it is beneficial to both parties. A good foundation will cement the responsibilities and obligations of the parties after areas of agreement has been negotiated. Unfortunately, software licenses do not always reflect what is best for all. Some clauses are definitely for the benefit of the vendor while others are required by a prudent client. The resulting contract is then a matter of reasonable compromise to achieve a good business relationship.
Major issues of warranty, liability, training, support, and payment may be in conflict. Topics such as maintenance, testing, patents, extent of use, and return of software are often overlooked or addressed unevenly.
Legal counsel should always be consulted before signing a software contract. During negotiations all parties benefit from a practical working knowledge of what must be included in the agreement. An understanding of the consequences of certain legal phrases is also of value. Better understanding of the viewpoints of both vendor and client results in a better working relationship.
The first item of discussion for a software client must obviously be, "What are we getting for our money?' In a legal sense we are not usually buying" a computer program. If something is "owned" then the has the full rights to do with the asset as they wish: modify it, sell it, or give it away. In the computer software industry we are usually purchasing is a license to use the computer software. If the agreement's term is limited in time we commonly refer to the license as a lease. If the term is open, we should commonly call the agreement a perpetual license. The major difference is the term of the agreement and the agreed action on termination. The important factor is that for both types of licenses the software remains the property of the vendor. Since it is the vendor's property, the client may use it only under the conditions agreed upon in the license.
There is another common type of software agreement in the petroleum industry: a joint industry project where a major deliverable is software. In this type of agreement a research organization, either a private firm or a university allied organization, agrees to perform specified research under the joint funding of an industry group. All results of the research, research reports, and computer software, usually belong to the industry group. Any restrictions specified in the agreement most often deal with confidentiality. This type of agreement is different in that at the beginning of the project no assets exist.