11

I was asked by a client to submit a proposal for a web-app he wants to built. This client is a startup with a relatively good traction so far (as it seems).

I have been asked to draft up a contract that prevents me from writing any of the code I write for them anywhere else. Up to this point I was drafting up contracts where I retain the exclusive rights to my source code but the client retains all rights as well (selling, modifying etc.)

So this sounds pretty bizarre to me:

What If I have another client with a similar (but not exactly same) project and he wants me to develop his application?

Of course I won't copy and paste from the previous project - but it sounds to me that I won't be able to use any of the insights I gained in the previous project and I won't be able to write this code again for any client.


So the question is - If I give all the rights of my source code to the client, does that mean I am never able to rewrite this code for someone else?

Note: I know most of you here are not lawyers and I'm not really looking for legal advice, rather just what these type of contracts really mean in terms of ownership to the source code, what's the usual thing to do etc.

closed as off-topic by Jarrod Roberson, user40980, user22815, GlenH7, durron597 May 19 '15 at 4:17

  • This question does not appear to be about software engineering within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Do you have the verbiage of the contract provision in question? Let's see it. – Robert Harvey May 12 '15 at 18:26
  • What type of code would this contract cover? Do you have a common set of libraries that they want exclusive rights to? Or are they after exclusive rights to all code written for this project? – user40980 May 12 '15 at 18:36
  • I believe this only covers the specific implementation, so if you are allowed to write a generic database class, but not, say, a class to interface with their specific drivers. This is pretty standard in my experience, and if it bothers you, perhaps your should consult with an attorney? – nobrandheroes May 12 '15 at 21:25
  • They mean you charge more and it takes longer; the customer isn't just buying your time and you can't reuse all your useful generic libraries 'cause the customer will own them if you do. – Ben May 12 '15 at 21:57
  • 3
    I have been asked to draft up a contract ... are you a lawyer? Do you have any legal training? Would you ask a lawyer to draft a sorting algorithm for you? They are just setting you up to write up something that will screw you in the end, because I am sure they have an actual lawyer that is being paid real money to protect them, you should have your own lawyer paid by yourself doing the same for you. – Jarrod Roberson May 16 '15 at 18:42
21

Ownership of the code means that you will be assigning copyright to them. In practical terms, that means that you will not retain any of their source code when the project is finished. That way, you can't be accused of reusing the code you wrote for them in other projects. This is a fairly typical arrangement; they are paying you to write code for them, so naturally they want to retain ownership of said code.

If there is other intellectual property that needs to be protected (i.e. some proprietary algorithm), then that algorithm needs to be dealt with specifically. In particular, the innovation needs to be novel, and not easily reproducible. Ideally, it is covered by a patent, but you can still be asked to sign non-disclosure agreements. You should abide by those agreements, and refrain from using the proprietary algorithms in other projects.

The key here is specificity. Your client should make it clear specifically what intellectual property and ideas they want to protect. Don't sign anything that casts a wide net like "you can't use any ideas you've obtained in other projects." That's an unreasonable demand. Don't sign a non-compete agreement either; it may prevent you from working on industry-related or competitor's projects.

  • 2
    For the record, pure software patents (i.e. patents which cover only software, without involving some specialized hardware) are controversial in some communities, especially among open source and free software groups. Involving a patent may complicate your job significantly if you need to work with one or more of those groups. – Kevin May 13 '15 at 1:20
  • Thanks a lot for the answer - What happens If I don't keep a copy of the code but use an idea in another project with ahem..a similar code structure? - Assuming that this solution I devised is not patented of course. – Nik Kyriakides May 13 '15 at 7:26
  • @NicholasKyriakides you cannot copyright an employee's personal development. Anything you learn that is not specifically (legally) protected is part of your skillset. Example: If you get burnt by a product agnostic pattern and learn a better way of avoiding the issue, that is yours to use in the future. – Gusdor May 13 '15 at 9:42
  • 1
    @Gusdor Don't be so sure. There is a legal theory called the "doctrine of eventual disclosure", which suggests that you can't avoid eventually using what is in your head, even if you said you wouldn't. It has gotten some traction in US courts. – Ross Patterson May 16 '15 at 23:49
  • 1
    @RossPatterson ah the US courts. A bastion of righteousness. Sounds like just another creative way for them to restrict job mobility and pay their people peanuts. If you drive, you will definitely speed in your lifetime. Have a fine, just to be sure. – Gusdor May 18 '15 at 7:12
13

This sounds pretty normal to me. The startup is being careful to be able to show that they fully own all of the code in their solution. This is very important if they are eventually purchased by another company. That other company needs to know that no one is going to later claim ownership to the software they thought they bought.

You might want to research the term 'work for hire'.

The short version is that you do your work, they pay you for it, then you hand over all copies of the code you wrote. Unless your contract says otherwise, this doesn't necessarily prevent you from writing similar code for another client (assuming of course that you don't share libraries or cut & paste code).

You may want to consult a lawyer about specifics.

  • I agree with this. Most employers I've worked with, firmly, have a catch all clause when you sign. – nobrandheroes May 12 '15 at 21:22
  • this answer translates as you need actual legal representation that was not hired by your client – Jarrod Roberson May 16 '15 at 18:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.