Hacker News new | ask | show | jobs
by serkandurusoy 4054 days ago
So you write some piece of code that looks like it can be used elsewhere, perhaps as a library. What happens in that case? Can you not use it without your client's permission?

I think the developer should own the code but the client should also be given all rights to use, copy, distribute, resell, or both parties could be given exclusive rights.

And then there is the matter of by-products which are pieces of code you develop during your contract time but not necessarily used within that project because somewhere along the line you've discovered that it is something you can use elsewhere and does not make much use for that specific project.

Who owns those? From your contract's perspective, the client owns them and you are obliged to deliver them whether or not they end up in the final product.

I'm not trying to be dismissive of your lawyer's knowledge in the area, and neither am I a lawyer, but I think it is kind of hard to write down a standard contract that can be applicable to all projects. Contracts should be negotiable and license/IP is something as negotiable as the contract fee. And your contract sounds too protective of the client at your cost.

1 comments

I understand where you are coming from. However, you have to be careful of who is paying you when you are writing specific code. For example, I have written libraries that I have used for multiple clients. In this case, I have placed the library under an open source license (and on at least one occasion not an open source license, and the client had to pay a licensing fee), and then used it with the client. However, I DID NOT charge my client for the hours I spent writing the library that I was keeping or open sourcing. Now that code does not belong to them, and they should not have to pay me to write code that does not belong to them.

I DID charge my client to implement the library within their project. This implementation belongs to them immediately.

Now I, of course like many engineers, use similar ideas across clients. However, these are rewrites in one form or another. Frankly I have never read a line of code (my own included) that I did not hate and think I could do better. So I don't have any issue with rewriting code for a client that does something similar to another client I had previously. They own that code and I charge them (quite a bit) for it.

Negotiation can take a very long time and that time is unpaid. I would prefer to have a good solid pipeline of clients who use a standard contract and a shorter time from negotiation to signing then having to renegotiation every contract that I come into contact with. And yes my contract protects my clients quite well. Which is why I have a lot of repeat business and get paid regularly, without fights, and on time.

Well, all I can say in light of your response is your clients are very lucky to have you.

This is by far the most no-bullshit and the most mature point of view I've heard on this matter.