FindLaw | Find a Lawyer. Find Answers.
Are you a legal Professional?
Software and Application Development Agreements: Protect Your Copyright
Get your software development agreement in writing and include these important terms.
A written software development agreement is key to getting the product you want (if you are the client), getting paid (if you are the developer), preventing disputes, and providing ways to solve problems if they develop. And, if the parties end up in court, it establishes their respective legal duties.
You don't need a lawyer to draft a software development contract -- you can do it yourself. This article doesn't cover all possible nuances of software contracts, but it does provide an overview of some of the most important points that should be covered by any software development agreement.
Work Phases
In the contract, break down the project into discrete parts or stages, often called phases or "milestones." The contract should require the developer to deliver an acceptable product at the end of each stage in order to get paid a specified amount. This makes it easier for both sides to monitor the developer's progress and resolve problems early on in the project -- or even terminate the project.
Advantage for software client. Getting the work in phases avoids the danger of getting an unsatisfactory product at the very end.
Advantage for the developer. Having the client sign off on each phase of the project is the best way to avoid unwarranted claims of nonperformance or unsatisfactory performance by the client when the project is concluded. This approach also gives the developer an opportunity to deal with the client's changing needs and wants.
Software Specs
Software specifications are the software equivalent of a builder's blueprint. They attempt to define the software to be created and provide a guide for determining if and when the software has been satisfactorily completed. The more complete the specifications, the less likelihood there will be misunderstandings which can lead to client dissatisfaction, withholding of payment, and possibly litigation. The specifications are the heart of any software development contract.
There are many ways to write specifications. One way is to draft a "functional specification" in nontechnical language that the client can understand. The developer may also prepare a prototype or demonstration program to show the client how the software will look and function. Later, the developer should prepare a far more detailed and precise technical specification.
Payment Arrangements
There are two basic ways to pay a developer for creating custom software: a pay-per-hour (time and materials) agreement, or a fixed-price agreement.
Time and materials agreement. Under a time and materials agreement, the client pays the developer for the time spent and actual costs incurred in creating the software. This payment scheme is often favored by developers since the developer is assured of payment even if the project takes longer than originally anticipated.
Fixed-price agreement. Under a fixed-price agreement, the client pays the developer a fixed sum for the entire project. In theory, this payment scheme favors the client by giving certainty as to what the project will cost. Moreover, if payments are tied to the progress of the developer's work, it gives the client substantial leverage to insist on timely and successful completion of the project.
However, as a practical matter, clients often agree to pay developers more money if the project takes more time than anticipated. Otherwise, the developer may quit or end up delivering a hastily completed and shoddy product.
Transfer of Copyright Ownership
One of the most important functions of a software development agreement is to establish who will own the intellectual property rights to the software to be created. This is often one of the most hotly contested issues between the developer and client and can easily become a deal-breaker.
Developers own the copyright to software unless the developer is the client's employee or the software is part of a larger work made for hire under a written agreement. In order to own the copyright, the client must have an agreement transferring ownership from the developer to the client.
There are many ownership options available, ranging from sole ownership by the client to ownership by the developer with the client's merely having a license to use the software. And there are many alternatives between these two extremes. Depending on the amount of money the developer is paid, any of these options can be satisfactory.
For more on who owns a copyright, see Copyright Ownership and Rights.
Ownership of Background Technology
Software developers will normally have various development tools, routines, subroutines and other programs, data, and materials that they bring to the job and that might end up in the final product -- for example, code used for window manipulation, displaying menus, data storing, and printing. One term for these items is "background technology."
Protect your invention, logo or brand. Affordable guides and forms available to help you.
LLCs, Corporations, Corporate Dissolutions, Aged Shelf Corporations. We will beat any competitor's price on Registered Agent or Incorporation services!
Form a corporation or LLC quickly and easily. From LegalZoom, the #1 legal document service.
From the author of LLCs for Dummies® Form your LLC or Corporation with the experts! Formations, Registered Agent, Dissolutions, and more! www.myllc.com