Whether you’re a developer or a client, one of the most important things to cover in your software development agreement is who owns what intellectual property (IP) rights. Surprisingly, most developers and their clients either don’t know or having conflicting views on the subject.

Imagine you’re a client that’s just obtained an advantage in the marketplace with new software. Then you discover your developer now works for one of your biggest competitors on a similar software project. Or, let’s say you’re a software developer. At the end of a project, the client is happy with your work but makes an off-the-cuff remark about owning the new software lock, stock, and barrel. You wonder if the client understands that’s not the case.

According to Dallas Software Lawyer Mike Young, there are two competing interests at play. “The client wants ownership while preventing the developer from re-selling the software to others,” he said. “On the other hand, the developer wants to keep ownership because some code can be recycled and used on projects for other clients instead of having to reinvent the wheel from scratch.”

So, how do you balance these competing interests in a software development agreement?

One method is to use a combination of licensing with non-competition provisions.

How does this work?

The developer retains IP ownership, licenses the software to the client, and agrees to restrict the purposes for which the code can be recycled. Often, this means the developer is agreeing that for a period of time, the developer will not use the software to compete with the client or recycle the code and sell it to one of the client’s competitors.

What if the developer doesn’t own some of the code used in the software?

The general rule of thumb is you can’t convey what you don’t have.

When it comes to software development, there often is some code the developer does not own.