I am a member of a small team who developed software to control the hardware of a robotic device.

Now the customer demands to see our commercial code.

Our promise was just to develop the software and make his machine work. (He failed to program the robot himself, that is why he hired us).

But the project did not start as a hiring agreement, more as a develop and make it work, we did lots of research to make his robot even possible to work

I wonder if we should give the source code? I have serious doubts about releasing the code. I believe the customer is planning to steal our c++ / c# code.

We provided him the executables installed on the finished programmed robots.

Our code wasn't developed just for his robotics device, but is part of our libraries we use commonly in various projects.

When can a customer claim that he owns software? And when he does what does it mean. I mean having the c++ code, having a disassembler code, having c# code? Where does it end?

We gave our software to an escrow agent, and we believe that is fair. But giving them our code seams to us unfair, knowing that customer will then go on to develop based upon our code.

Parts of the code also use a home developed software protection, which we cannot give due to that it is used in other products.

closed as off-topic by user22815, durron597, user40980, Dan Pichelman, gnat May 6 '15 at 6:48

  • 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.

  • 15
    This should be part of any contract written before you start writing software for a client. – Steven Burnap Feb 12 '14 at 0:48
  • 1
    Yeah, this should have been agreed on from the beginning. – Robert Harvey Feb 12 '14 at 1:06
  • 3
    Tell him, no, and if he isn't happy, he must commit to not using it ever again. – James McLeod Feb 12 '14 at 1:14
  • 3
    Are you concerned about the legal aspects (that is, what are you legally required to release) or the business aspects (what should you provide to your client to encourage future business from them)? – Jay Elston Feb 12 '14 at 1:14
  • 4
    I'm voting to close this question as off-topic because it is asking for legal advice about contracting deliverables. – user22815 May 5 '15 at 23:17

There are always two sides of a story. More important here whether you want to keep good relationship with your client and build reputation in your business. Let’s imagine you are right and there were no words in the contract regarding source code. Does it really matter? There is always space for negotiations if it’s pure business question. You may agree on new contract conditions – “I give you source code and you pay me money”. How many man-hours did you spend on development of your common libraries? This is good starting point for estimation.

Some people successfully sell GPL software – think about it. If you want to be sure that your client will not steal your intellectual property make it impossible or difficult for him to do. You can provide source code under Affero GPL – this would be good joke.

  • no we cannt put it on opensource, i'm not against the idea; but in this case, if we do another company, who tries to duplicate our robotic device will use it. then we would loose our customer. – user613326 Feb 15 '14 at 1:06

If you have discussed about sharing the source code the customer during project plan, you should give the code.

if customer is asking at the deployment stage, its your own personal decision.

Also it should be a part of your agreement with the customer, whether you should share it or not.

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