Protecting Your Custom Software Development
If you are a custom software developer, the best thing you can do to protect your invention is to have in your arsenal a customized software development agreement tailored to your specific business. Developing code is a unique enterprise. Just like you would never borrow someone’s code to develop your software, you should never borrow some other software developers’ contracts or agreements to protect your work.
At JGPC Business Law we assist software developers in drafting custom software development agreements that protect their intellectual property. The key terms every software development agreement should contain are as follows:
- Scope of work: A successful contract includes clear parameters as to what you are agreeing to develop. It also needs to clearly specify what you are not developing, unless you create an additional compensation agreement to expand the scope of work.
- Work change orders: Modifications are part of the creative process. A great idea at the outset might change during creation. You should plan on modifications during development, but you should also limit modifications to maintain profitability. Change orders must include a description of additional work, cover compensation for the additional work and timelines for delivery of the changes.
- Subcontracting: If you outsource any of the coding to third parties, your software development agreement should make it clear that you have the right to do so.
- Delivery and testing. Specify deadlines or milestones in your contract. The agreement should address what constitutes delivery to minimize confusion or misinterpretation of the deliverables. Clients, especially sophisticated ones, will require the right to test what you develop. Establishing upfront what is acceptable and your obligation to correct it protects your company and helps you avoid legal disputes.
- Payment: Include in your agreement a provision for how and when you are paid during the development process. If you require a deposit or structured payments, identify this in your agreement.
- Intellectual property ownership: Key points that guide this section of your agreement include answering the following questions:
- Who owns the software you develop for the client? You or the client?
- Are you granting the client a license to use the software? If so, what’s the scope of the license?
- If you use open source libraries as part of the development, that should be addressed in the agreement so that there are no misunderstandings as to who owns what.
This is only a preliminary list. Other considerations that are relevant in software development agreements include warranties, disclaimers and confidentiality clauses, for obvious reasons. An often-overlooked area is how to handle competition. Will you be able to sell the software you develop to your client’s competitors?
Lastly, computer coding is a living and changing thing. Once developed, software requires maintenance and support. Post-development items such as these are usually contracted separately. Software maintenance and support may involve a different internal development team and more interaction with the client. Other questions to answer are; will you have any support or maintenance obligations for the software? Or, is there any obligation to upgrade the software (e.g. to be compatible with a new OS) for your client?
Contact a Knowledgeable and Experienced Software Lawyer
These are just some of the major issues you must address in your software development agreement to protect yourself (and avoid unnecessary lawsuits in the process). An experienced software lawyer will customize the contract or agreement to meet your specific needs.
For more complete protection of your custom software development business, be sure to check more information in our blog and website and call us at (925) 463-9600 to schedule a consultation. Our offices are conveniently located in Pleasanton and Livermore, California and we also serve the areas around Fremont, Hayward, Tracy, Manteca, San Jose, and San Ramon, California.