To open, or not to open (the source): that is the question
-
I'm developing a large personalized project in C# that will give a good return in cash. I will need to stop ALL my projects and get this job. My only concern now is about the source code. I'm thinking if my customer ask the source, what I will answer? 1) Not! It's mine, take out your dirty hands of mine source code! 2) Yes, but to be prepared to pay 300% of the normal price... 3) Sure! Take it! You will not understand one half of line of code. 4) Sure, but sign this NDA 5) [insert your custom opinion here] Thanks!
For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:
- Increase the cost if they want it. - If they only want the source just in case you leaves the market... and they want to be protected against it, place the code inside a bank or similar (I would go for a more legal place), and then let them pay the maintenance of having the code there. In the contract you should write that they will be able to get the code if you are not anymore an active enterprise or if you don't want to help them (this must be legally demonstrated, of course...). Hope this helps.
-
- source escrow. Not recommending, just putting out another option. It depends on the customer and the type of project, neither of which you have provided any information about. From a customer's point of view, buying a mission critical piece of software from a single source that could get hit by a bus at any moment would be a non starter for example.
Definitely.
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
- Increase the cost if they want it. - If they only want the source just in case you leaves the market... and they want to be protected against it, place the code inside a bank or similar (I would go for a more legal place), and then let them pay the maintenance of having the code there. In the contract you should write that they will be able to get the code if you are not anymore an active enterprise or if you don't want to help them (this must be legally demonstrated, of course...). Hope this helps.
Honestly I dont agree at all to give the code to the customer. If the customer whants the source let he pay a bit more, but be shure that the source is somehow protected, use a smart way of having your code hard to understand by other coder. When i have to release the source for a cliente i usualy remove every coment of the source, and make it as hard as possible to understand even if the compiled version is not the same as the source one, cause the compiled version is maded with the comments and well structured but is for my use and my use only. Customers have rights but so do coders...and all the programmers I know, most of them dont give the source at all.
-
Honestly I dont agree at all to give the code to the customer. If the customer whants the source let he pay a bit more, but be shure that the source is somehow protected, use a smart way of having your code hard to understand by other coder. When i have to release the source for a cliente i usualy remove every coment of the source, and make it as hard as possible to understand even if the compiled version is not the same as the source one, cause the compiled version is maded with the comments and well structured but is for my use and my use only. Customers have rights but so do coders...and all the programmers I know, most of them dont give the source at all.
Yes, completely agreed... In my case, sometimes I make special things that are worldwide patented (not software patents) but of course the involved software is part of the know-how of my company. Some times, but the customer tells us: "what if your company disappears?" Then I understand that somebody that has paid a great amount of money wants some kind of protection... our software is installed into electronic devices that can be harmed/destroyed... of course in a normal software that can be reinstalled this is not an issue, but in my case I must go to the company to make the installation and each installation means to upload again the source code. In that case is when we use the bank solution... We keep everything and the customer pays a small monthly fee to feel safe at an eventual problem in our company. I don't like to give the source... I've never done it and I don't want to do it. If for any reason the code must be given, then at least it must be paid and its price must be high.
-
I'm developing a large personalized project in C# that will give a good return in cash. I will need to stop ALL my projects and get this job. My only concern now is about the source code. I'm thinking if my customer ask the source, what I will answer? 1) Not! It's mine, take out your dirty hands of mine source code! 2) Yes, but to be prepared to pay 300% of the normal price... 3) Sure! Take it! You will not understand one half of line of code. 4) Sure, but sign this NDA 5) [insert your custom opinion here] Thanks!
For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:
hi, here in IRAN,we choose the second choice.It is accepted as a rule among all participants of a contract ( developer,buyer etc.)
Behzad
-
Honestly I dont agree at all to give the code to the customer. If the customer whants the source let he pay a bit more, but be shure that the source is somehow protected, use a smart way of having your code hard to understand by other coder. When i have to release the source for a cliente i usualy remove every coment of the source, and make it as hard as possible to understand even if the compiled version is not the same as the source one, cause the compiled version is maded with the comments and well structured but is for my use and my use only. Customers have rights but so do coders...and all the programmers I know, most of them dont give the source at all.
Think if you are going to allow source access either as an extra cost or via an escrow its an agreed commercial transaction, removing comments or making it harder for the customer to use the source is pointless and just reflects badly on your work. Have used libraries with source code in the past and its been most useful when the originators no longer exist. Have also supplied products with source code - the key is trust, a good contract and a sensible price!
-
I'm developing a large personalized project in C# that will give a good return in cash. I will need to stop ALL my projects and get this job. My only concern now is about the source code. I'm thinking if my customer ask the source, what I will answer? 1) Not! It's mine, take out your dirty hands of mine source code! 2) Yes, but to be prepared to pay 300% of the normal price... 3) Sure! Take it! You will not understand one half of line of code. 4) Sure, but sign this NDA 5) [insert your custom opinion here] Thanks!
For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:
Are you obfuscating the EXE so they can't simply use reflector? If not, you're all but giving them the source code anyways. Marc
-
The contract language is pretty straight forward and probably simpler than my explanation. The harder part is finding an escrow holder acceptable to both sides. This was complicated due to dealing with a foreign customer. We looked at using a bank, various third parties, holding it in the US Embassy etc. The lawyers were the best solution for us, but not really a cheap solution. Hopefully you can think of a more workable escrow holder. In the end, both of us lost interest in the software after a couple years because it was embedded and worked. They never changed the product, so there was never a reason to mess with it.
Melting Away www.innovative--concepts.com
I'm considering encrypting the software and provide it to the customer, then having the notary office to hold the key and draft an official document as to how and when to release the encryption key. :)
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google - the quality and detail of your question reflects on the effectiveness of the help you are likely to get - use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
-
I'm developing a large personalized project in C# that will give a good return in cash. I will need to stop ALL my projects and get this job. My only concern now is about the source code. I'm thinking if my customer ask the source, what I will answer? 1) Not! It's mine, take out your dirty hands of mine source code! 2) Yes, but to be prepared to pay 300% of the normal price... 3) Sure! Take it! You will not understand one half of line of code. 4) Sure, but sign this NDA 5) [insert your custom opinion here] Thanks!
For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:
How About: "No we do not give out source, but if you wish to have custom changes made, these are available at a price of x (depending on agreed work)" Or alternatively, build an api they can use to do some of their wanted extras and flog this as an "enterprise version". That's what Goldmine appear to have done (though I've not used it myself - I'm just looking at it now for a possible client).
-
- source escrow. Not recommending, just putting out another option. It depends on the customer and the type of project, neither of which you have provided any information about. From a customer's point of view, buying a mission critical piece of software from a single source that could get hit by a bus at any moment would be a non starter for example.
Yes, we had a vendor go bankrupt the month after signing. Glad I wasn't involved in that one.
Cheetah. Ferret. Gonads. What more can I say? - Pete O'Hanlon
-
I'm developing a large personalized project in C# that will give a good return in cash. I will need to stop ALL my projects and get this job. My only concern now is about the source code. I'm thinking if my customer ask the source, what I will answer? 1) Not! It's mine, take out your dirty hands of mine source code! 2) Yes, but to be prepared to pay 300% of the normal price... 3) Sure! Take it! You will not understand one half of line of code. 4) Sure, but sign this NDA 5) [insert your custom opinion here] Thanks!
For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:
2+4+5 (5 being escrow) if it's mission critical to them. Otherwise, 1.
-
I'm developing a large personalized project in C# that will give a good return in cash. I will need to stop ALL my projects and get this job. My only concern now is about the source code. I'm thinking if my customer ask the source, what I will answer? 1) Not! It's mine, take out your dirty hands of mine source code! 2) Yes, but to be prepared to pay 300% of the normal price... 3) Sure! Take it! You will not understand one half of line of code. 4) Sure, but sign this NDA 5) [insert your custom opinion here] Thanks!
For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger:
- Not! It's mine, take out your dirty hands of mine source code! I think this is safer for most cases. And I consider it mandatory if the source code contains some highly re-usable components or some highly specialized algorithm and such, since it's hard to define a price for those: the customer would just by-pass you using them. 2) Yes, but to be prepared to pay 300% of the normal price... If the customer is higly motivated to get the source code. In this case, the final price should depend on how much they can benefit from source code. For example, if I develop some software which is embedded in a machine made by the customer, and they will be manufacturing many of those, I will usually either make them pay for each single license or sell them the source code at a price that repays me for the licenses I won't sell. Hope this can be of some help. :)
2+2=5 for very large amounts of 2 (always loved that one hehe!)