Skip to main content
What Software Developers (And Their Clients) Should Know Before Signing a Software Development Agreement

When a software developer is retained by a client to develop new software, careful attention should be given to the allocation of intellectual property rights in the soon to be created software. Generally speaking, there are two ways that the intellectual property rights in the software can be dealt with. The first option is to license the intellectual property rights to the client and the second option is to assign (i.e. transfer ownership of) the intellectual property rights to the client. In practice, however, a properly drafted software development agreement will likely contain a combination of these two options. A poorly drafted agreement, on the other hand, may be silent as to intellectual property rights, thereby setting the stage for a costly dispute between the parties, or potentially worse, may sign away far too many intellectual property rights, which could result in the early and unnecessary demise of a business. If you are in the business of intellectual property, but you haven’t received expert guidance on how to properly manage your intellectual property rights allocations in your development contracts, you could be on the road to significant unexpected loss.

Licensing Intellectual Property Rights

As mentioned, there are generally two ways to deal with intellectual property rights: licensing and assignments. When taking the licensing approach, the developer retains ownership of the underlying intellectual property rights in the software, but authorizes their client to exercise some or all of those rights. For example, almost all licenses allow the licensee (i.e. the client) to make copies of the software for their internal business purposes (otherwise, how would the client lawfully install the software on their computers?). Since in this example the developer will still retain ownership of the intellectual property rights in the software, the developer will be free to license the software to other potential clients so long as none of the licenses are exclusive or sole licenses (watch out for those). As a result, the licensing approach is often preferable for developers, as they can continue to commercialize and improve their software product. The flip side of this, however, is that the fee charged for the development and license of the software might be smaller than if the developer made an outright assignment to the client of the intellectual property rights in the software. Most consumers deal with software licenses, even if they don’t know it. It may come as a surprise to many, but it’s likely the case that you don’t own any of the intellectual property rights in the software installed on your computer. When you (legally) download software off the internet or buy a CD off a shelf, the majority of the time you will actually be purchasing a license to, among other things, reproduce (i.e. copy) the software on to your computer. This license is typically called an End-User License Agreement, or EULA for short. You may know it as the really long text document you’re presented with (but probably don’t read) prior to installing software. The EULA grants you certain rights in relation to the software, but in most cases, you won’t be able to commercialize and market the software yourself or make modifications to it. This is because you don’t actually own the intellectual property rights in the software.

Assigning Intellectual Property Rights

Your typical consumer can be contrasted with business clients who require custom software. These types of clients often demand full ownership of the intellectual property rights in the software so that they are unconstrained in their use and commercialization of the software. With full intellectual property rights ownership, a client can modify the software as they see fit, make as many copies as they like, commercialize and license the software to other parties, or sell the intellectual property rights in the software to someone else. The choice is yours when you own the intellectual property rights. A developer can transfer ownership of the intellectual property rights by assigning the intellectual property rights to the client. And because there is a full transfer of ownership, it may be the case that the developer can demand a larger fee. Of course, the flip side of this is that the developer no longer owns any of the intellectual property rights. As a result, not only is the developer prevented from further commercializing the software, they are also prevented from making improvements to the software or repurposing portions of its source code for new projects. Because there is a complete loss of rights in the software, developers should be careful not to assign more intellectual property rights than they intend or else they may undermine their entire business.

The Risk Posed By Outright Assignments of Intellectual Property Rights

To understand why, consider that when developing software, developers don’t always start from scratch. It may be the case that a developer has in the past developed certain technologies that they use in many different projects. Indeed, this pre-existing technology may give this developer a competitive advantage, allowing them to developer software more efficiently than their competitors. For example, suppose that this developer has included such technologies in Software A, and licensed Software A to many different clients. Then a new client comes along (client B) and orders a new software, Software B, with full intellectual property rights ownership. If the developer includes such pre-existing technology in Software B (as is their standard business practice), and then they assign all of the intellectual property rights in Software B to client B, the developer will no longer be able to use such pre-existing technology or include it in their future projects, unless they obtain a license from client B to do so. Without a license, they would infringe client B’s intellectual property rights. But to make matters worse for this developer, by assigning the pre-existing technology, the developer is no longer in a position to license such pre-existing technology to their previous clients who use Software A. This could create some serious problems for the developer. The developer’s previous clients could be sued by Client B for infringement of Client B’s intellectual property rights in the pre-existing technology (since the previous clients don’t have a license from Client B), and those previous clients, in turn, would likely sue the developer or, in certain circumstances, exercise their right to be indemnified by the developer. Yikes! There are ways to avoid this problem and still assign intellectual property rights to the client, but it takes careful contract drafting before the development agreement is reached between the developer and the client. An experienced technology lawyer can help a developer carve out their pre-existing technology from the assignment, thereby allowing developer to continue using the pre-existing technology as they see fit, and instead grant a license to the client that allows the client sufficient flexibility to use the pre-existing technology, but only within the confines of the software as a package. This way, both parties are happy. The above example isn’t the only risk posed by full assignments of intellectual property rights, but it demonstrates well why both software developers and their clients should seek experienced legal counsel prior to signing software development agreements. It’s critical that as a client, you determine whether you will be receiving a license or an assignment, as this will govern how you can use and commercialize the software you have ordered. And for developers, it’s critical that you don’t transfer more intellectual property rights than you intend. A qualified technology lawyer can provide you the guidance needed to properly manage your intellectual property and reduce your risk of loss. Given that intellectual property is likely a software development company’s most valuable asset, it’s surprising how many developers take a cavalier approach to their development agreements. Although the specter of a potentially devastating infringement lawsuit may not come to fruition, it is imperative to recognize that the financial stability or successful exit of your company could be jeopardized, if not outright hindered, in the absence of a demonstrable ownership of intellectual property. Worse still, if your company can prove that it has inadvertently relinquished its intellectual property rights through inadequately drafted agreements, the threat of commercial litigation looms large. The reality is, if your business depends on its intellectual property, there is no excuse for not using a properly prepared software development agreement.


If you need assistance with reviewing or improving your software development agreements, David would love to be of assistance. Feel free to contact David McHugh at 604-629-5401 by visiting our Vancouver office or [email protected].