When people talk about software development, the conversation often focuses on the immense need for development talent, the low supply of qualified developers and the pace at which companies need to move their software products forward. Discussing legal issues raised by software development is much less common. But legal issues for software developers can be quite complex—and often must be addressed during each stage of the software development process. If you or your company develop software, it’s important to understand the legal issues you may face and work with a trusted attorney to address them before they become an issue. The technology lawyers in the Priori network have substantial experience advising technology companies and can provide advice at each stage of your software company’s development.
Protecting the IP of your Software
Protecting your intellectual property is vital to competing effectively in the software development space. Patents, copyrights and trade secrets are all regularly employed to protect IP held within software, as follows:
Trade secrets protect those ideas and practices vital to the development process that you do not want revealed to outside parties and competitors.
Source code can be copyrighted to ensure your exact code is protected under a work-for-hire copyright for 75 years.
Patents can protect novel, vital functions of the software itself, including editing functions, user-interface features, compiling techniques, operating systems, program algorithms, menu arrangement and design, display presentations and program language translation methods. Other unique, non-obvious ideas, systems, methods, algorithms and functions embodied in a software product may be patentable as well.
The key to protecting your IP as a technology company is ensuring that a lawyer pursues the appropriate type of IP protection and that your lawyer is experienced in prosecuting patents, copyrights and trade secrets related specifically to software companies and development.
Licenses must be thought out carefully with a view to the context in which the licensed software will be used. If the in-licensed software (i.e. software a company is licensed to use) is crucial to the company’s product and/or operations, it’s important to make sure all current and future uses of the software by your company are sufficiently addressed in the license. Any limitations that restrict your business or allow the licensor to terminate the license could significantly impact your product and/or become a diligence issue for future financings and corporate transactions.
If you are considering out-licensing your software (i.e. allowing other companies to use your software via a license arrangement), it’s important to structure in protections that allow you to retain ownership, requisite control and, if necessary, to terminate the license in appropriate situations. If such out-licenses do not contain sufficient controls, future investors and acquirers may consider your IP to be less valuable -- sometimes substantially so.
All software must now comply with data protection laws and include proper security protections into the code. This has to be integrated into the software at an early stage of development, which means that developers must be made aware of the needs and issues they face at an early stage. Rarely do patches applied once code is developed work sufficiently to ensure compliance, which means that law for software developers must be made available to them at every stage of work, and lawyers should be considered partners in creating the best product.
Liabilities arising from the software development process include everything from not properly addressing bugs before a release to insufficient or misleading privacy issues after a product is distributed and in use. A good technology lawyer can facilitate communications with the management team and software developers in order to understand the product -- and accordingly what legal issues may arise from the development and use of that product.
Software for Hire Contracts and MSAs
"Work for hire" is a copyright doctrine that gives an employer ownership of the copyright in works of authorship prepared by an employee or, in very limited instances, an independent contractor. Because software consists of many types of IP, however, the work for hire doctrine alone may not sufficiently transfer ownership of the created work to the hiring body. Accordingly, software development companies generally include in work for hire contracts carefully crafted language drafted to transfer ownership of the final product and any resulting IP. The wording of non-disclosure clauses is important too -- a successfully drafted clause prevents any disclosure, while language not carefully tailored to your specific company or situation could potentially allow a contractor to re-create the code for another client.
Software development Master Service Agreements ("MSAs") generally include the following five unique clauses:
- Scope, Specifications, and Service Levels. Here, the contract will elaborate not just the general scope of the project, but also any deliverables and end results desired, including any required methods or code, if needed. Software development contracts need a higher level of specificity about the deliverables than most other MSAs, because the final product can be achieved in many ways. All specifications, metrics, KPIs, and service levels should be outlined here so that deliverables and performance can be measured against objective goals.
- Acceptance Mechanism. One difficult component of executing an MSA for software development has to do disagreements arising from the acceptance or rejection of each deliverable. That’s why these clauses detail how deliverables will be objectively tested and accepted. When these specifications are clear and based on objective data, it becomes easier to ensure predictability in the relationship.
- IP Ownership. IP clauses specify who owns each component of the IP included in the product, who has ownership after it has been used, as well as who will retain the full rights to the final product. Oftentimes, these clauses operate such that IP ownership transfers when final payment for the software, or some portion of the software, is completed.
- Confidentiality. Software development MSAs generally include the disclosure of confidential business information by both parties. Accordingly, ironclad confidentiality and nondisclosure clauses are generally required in order to ensure that material can be shared quickly enough to get the work done and without any concern that it will be misused by the other party either during the term of the agreement. Finally, such confidentiality and nondisclosure clauses generally also address how each party must handle the other party’s materials after the business relationship ends -- i.e. whether such materials must be immediately discarded and for how long confidentiality must be maintained.
- Representations and Warranties. The appropriate scope of representations and warranties in software development contracts -- including whether and to what extent knowledge and materiality qualifiers are used -- varies according to context. An experienced technology lawyer can help you develop a representations and warranties package that balances commercial interests with legal protections.
An experienced technology lawyer can help you consider and draft the many other specific clauses that may be necessary depending on the scope and nature of your project.
Depending on your needs, the cost of hiring an experienced lawyer who can help you navigate different aspects of software developer law can vary. Typically, the hourly rate when you hire a lawyer through Priori for this type of service can run a wide range from $150 per hour to $450 per hour. In order to get a better sense of cost for your particular situation, put in a request to schedule a complimentary consultation and receive a free price quote from one of our lawyers.
How does open source software or code affect the legal issues that will apply?
Using open source code and software can impose certain limitations on the way that you license and protect any IP that utilizes such materials. Among other factors, the type of license attached to the source code and the manner in which your software uses such material may impact the extent of the limitations and any related financing or acquisition issues.