A reader asked me an interesting question around this topic, so I thought I should write up my thoughts on source code and IP ownership. However first and foremost, I ain’t a lawyer, and these laws can vary from country to country - so please ensure you confirm this yourself and your specific situation.
When you first start an agency or freelancing, “who owns what” is not often the first thing on your mind. The main issues you worry about are getting projects, getting shit done, and getting paid.
But you will get to a point where the question code of ownership and/or intellectual property ownership comes up, and you’ll learn it’s best to get this stuff sorted first before that question arises.
Who owns the code? 👩💻
Generally speaking, if you are hired to complete a project, but there is no contract or agreement in place that specifically states otherwise, then the author of the code (you), owns the code.
Note: that this only applies to business-to-business relationships, if you have ongoing employment and an employment agreement in place - then your employer owns the code.
Who owns the IP (Intellectual Property)? 🔐
Say the work you did has a specific complex component or algorithm that is unique to the software, who owns that? The same rule as the source code. If you are a freelancer or agency, and there is no signed piece of paper that says otherwise, then by default it is you that owns the IP, the author who implemented it.
Does everyone else know this? 😳
Nope. Most businesses or individuals that hire someone to code something for them do not realise this, and simply assume that they own the end result (the source code and the IP).
What if I don’t want to own it? 👎
- You can have an initial contract that has a specific clause stating that all code and IP generated belong to the purchaser
- or upon completion of the project you can have a seperate code and IP assignment agreement that both parties sign.
Is owning the code and IP a good thing? 🤷♂️
Well, there is two schools of thought here...
On one hand, if you owned the code and IP you can use parts (or all of it) on other projects without permission, and you could even resell it, or make a SaaS version of the product etc.
However this is not a great way to build long term relationships with your clients, as in my experience the majority of clients would be unhappy with this if they had not explicitly agreed beforehand, and would probably not stick around.
And whilst legally your arse may be covered, the client services industry is built upon trust, and successful software development agencies and freelancers build their business on ongoing, repeat work from clients - so to summarise, it may not be a great way to make friends.
Be transparent 💬
As trust is integral to forming good, ongoing relationships, I found educating clients around the ownership of code and IP was a great way to demonstrate that my agency could be a great partner. A partner that would not only deliver them a great end product, but also a partner that would have their best interests at heart, and that can be relied upon to educate them around parts of the technology industry that they were not aware of.
On some specific projects where I knew I was bringing a lot of expertise to the table (e.g. I had built some specific component many times before or had a novel way of implementing it), I would ask to retain ownership of part of the project - as I knew this would be great for reuse, and really not that valuable to the client. For example an automated newsletter component with smart customer targeting. Whilst a newsletter company would certainly not want you to own that code and IP, a financial services business may not really mind if it’s just a very small part of the overall solution you are delivering for them.
Similarly if you develop any in-house code, plugins, components etc, and you are leveraging them in a client project, then make it clear in the contract that this is your own code and IP. Even though the law is on your side, be clear with your client that these parts are yours, and whilst they receive the benefit of you using them on their project, it’s common knowledge that you will use it on other projects also.
But what if I do want to reuse or resell? 📦
That’s totally fine, but just be clear and upfront about it. Navigating these waters will depend on the specific relationship with your client so it’s hard to give concrete advice - but I would say make sure it’s well understood by all parties, it’s written down, and it’s signed.
Discussing source code and intellectual property ownership should really be no different than handling any other topic with your client, do it upfront, be open and trustworthy, and make your client feel comfortable and safe.