Ask HN: Licensing concerns for work
In previous companies, I've signed IP agreements that basically said, "you code it? we own it. all of it"
I really don't like those kinds of agreements, but I understand them.
Now that I'm running my own company, and doing coding for infrastructure, I realize there's a need to formalize things a bit more, especially as I take on help.
I can completely understand $CUSTOMER wanting to keep code for a proprietary product in-house and private. Absolutely no objections there, whatsoever.
But what if you learn some cool technique while you're doing code, and you want to be able to reuse that later (and it has nothing to do with a customer's product specifically)
Is there some kind of licensing arrangement that covers that, so that learning and sharing of knowledge can still happen, but IP is protected?
7 comments
[ 5.9 ms ] story [ 23.9 ms ] threadIf, in the middle of a project, you suddenly change brace style in your code? Nobody will care.
If you invent something like map-reduce? You can be sure the customer will own that invention.
There's a huge spectrum here. Lawyer up.
There's a lot of focus in the law about core types of IP that are protected by statute: copyright, trademark, patent.
It is quite possible that the type of cool technique you develop while doing code for a customer wouldn't be protected by copyright, trademark, or patent law. But most customers probably want you to enter into a contract that governs ownership of IP.
By contract, you can protect certain types of IP that, for example, wouldn't be subject to copyright protection. Depending on what is in your contract with your customer, you may end of inadvertently winding up with your customer "owning" any technique, idea, know-how, etc...that you come up with in the course of performing services with the customer. ("Owning" this type of IP is not the same as "owning" certain other types of IP, as concerns 3rd parties. But that's not particularly important for your question.)
Even if the customer couldn't sue you for copyright infringement for using a technique they end up "owning" by contract, they might be able to sue you for breach of contract or trade secret misappropriation, depending on how you use the technique and its value proposition to the customer. Or, if the technique is patentable, they might be able to apply for a patent covering the technique and prevent you from using the technique that way.
There are a number of ways to work around this in your customer licenses. How, exactly, depends on what you are doing for your customer, what your customer does, and your negotiating leverage. But it's certainly doable and happens everyday.
That said I have a lawyer edit my IP agreements to scope them as tightly as possible to the company, instead of signing the broad "we own everything you make even outside of work". For some reason most devs seem to just sign them without realizing they have a say in the matter.
In my contracting work my lawyer added a clause about things that I create in the process to make my job easier so that no client owns those. There's a technical term for this but it's slipping my mind right now. It covers things like writing your own code generators and automation scripts that you might use with multiple clients but are not a part of the work product.