Don't transfer copyright that you need
A tweet from Brenda Wallace (@BR3NDA) reminded me of an issue I've been meaning to raise - copyright in code that you as a coder write for someone else. That someone else could be a client or it might be a collaboration between you and a colleague, an add-on like the one above, or even your employer or a company you contract to.
The code might be new and original - the proverbial best thing since sliced bread - or it might be more mundane and just incorporate bits and pieces from elsewhere (yours or others). The latter is especially likely in the FOSS world.
I'm not going to go into great detail here but what I wanted to highlight is the need to be very careful about the transfer (assignment) of copyright.
First off, in New Zealand, section 21 of our Copyright Act provides that copyright in code (and other works), created in the course of employment, is automatically "transferred" to (vested in) your employer. Another reason why the Hobbit law hot topic of employee vs contractor is an important one.
The same section also provides that if someone commissions and agrees to pay you to write a computer program, they will own copyright in that program (again, automatically). Program is not defined but would obviously include apps, routines and the like (it gets a bit more difficult when you start talking about databases, but let's leave that for the moment).
So, the first thing to make sure of is that if you are an employee or working on a contracted basis to produce a specific piece of software, if you don't want the default rules to apply, you need to write something into your contract to say that. For example, employees are often allowed to produce small non-competing apps in their own time and their employer may be happy for them to own copyright in them (after all fuelling the creative juices of good coders is good for business). You don't want to get into an argument though about whether that was produced in the course of employment, so any arrangement like this needs to be included in your employment contract (or a specific amendment to it).
But, the area that requires real finesse is where you are including code, copyright in which you don't want to, or can't, transfer to someone else. This is much more common that many people realise and is something that requires explanation to the person who just wants to own everything. "After all, I'm paying for it so why shouldn't I own it all?" is the typical response.
Here are just three examples where that doesn't work:
- You need to use code that you've already used for another client. Basic sub-routines, modules or even whole apps built into a product may have been used before for a solution provided to other clients. Web design is a classic for this.
- You will need to use some or all of the code for other clients in the future or you may even have plans to sell the code (or your company whose value is based on it).
- The code does not actually belong to you. It might be FOSS or you may have licensed the core from someone else and built your skin over it, for example.
All three of these situations require careful explanation and documentation. You need the flexibility to cater for existing use and re-use of what is often called library code. The person paying the bill needs the comfort that you are not going to compete with them or allow someone else to do so using the same bespoke solution.