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.

nicholaswmin
  • 1,869
  • 2
  • 18
  • 36
  • 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? –  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. –  May 16 '15 at 18:42
  • I'm voting to close this question as off-topic because this is solely about legal matters and not about programming. –  May 16 '15 at 18:44
  • @JarrodRoberson No but as a programmer I regularly write up my own proposals and choose my own licenses which I include in the proposal. It's as simple as understanding what the software license you are both agreeing to really means - Let's not go crazy with the programmer/lawyer analogies. – nicholaswmin May 16 '15 at 22:46
  • I owned my own consulting business for over 17 years, I have worked with the legal departments of major companies my entire life, I work for one of the largests companies in the world right now and have regular dealings and discussions with the legal team over software licenses. It is not a cut and dry as you make it sound, especially when one party thinks they have been harmed in some way, does not really mean they have been harmed, does not even have to go to trial, they can clean you out financially and just the **threat** of a trial and its costs gets them a settlement 99% of the time. –  May 17 '15 at 00:24
  • just remember the saying, [*every man that is his own lawyer has a fool for a client*](http://www.phrases.org.uk/meanings/a-man-who-is-his-own-lawyer-has-a-fool-for-a-client.html) has been pretty accurate since at least 1814! –  May 17 '15 at 00:27
  • I have had to deal with this exact same situation many times and there are way too many nuances that leave openings for a real lawyer to successfully attack. –  May 17 '15 at 00:30

2 Answers2

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.

Robert Harvey
  • 198,589
  • 55
  • 464
  • 673
  • 2
    For the record, pure software patents (i.e. patents which cover only software, without involving [some specialized hardware](https://en.wikipedia.org/wiki/Diamond_v._Diehr)) 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 01: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. – nicholaswmin May 13 '15 at 07: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 09:42
  • this answer translates as **you need actual legal representation** that was not hired by your client –  May 16 '15 at 18:39
  • 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
  • *popular opinion* means nothing in court ... if it did there would be no money in becoming a lawyer –  May 17 '15 at 00:19
  • 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 07: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.

Dan Pichelman
  • 13,773
  • 8
  • 42
  • 73
  • 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 –  May 16 '15 at 18:40