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:
- Yes, but to be prepared to pay 300% of the normal price... 4) Sure, but sign this NDA Those two together sound acceptable.
-
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:
- 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.
-
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:
Go with Damiens suggestion. Your first customer is more a partner than a customer, and he's probably paying for the development, will be instrumental in the selling of the product to the next customer and needs to be retained as a collegue/friend/supporter. Code in escrow is also essential, we all have that bloody bus chasing us. The customer, even the first one NEVER owns the IP, they may buy a copy of the source but never let them think they own the IP, it's your and you need to retain it.
Never underestimate the power of human stupidity RAH
-
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:
If you can see a need for the user to have the source, do what most companies do. Say 'you can have the source under these conditions, and it costs 50x what the product without source costs'
Christian Graus Driven to the arms of OSX by Vista.
-
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:
I agree with Robert Surtees. If the source code is mission critical to the customer, then set up an escrow holder (I have used an attorney's office, jointly selected and paid for up front for a period of 10 years. I think it cost us $500 each. The customer could only access it if we went out of business.) Otherwise, never release the source code unless it is a code addin tool.
Melting Away www.innovative--concepts.com
-
I agree with Robert Surtees. If the source code is mission critical to the customer, then set up an escrow holder (I have used an attorney's office, jointly selected and paid for up front for a period of 10 years. I think it cost us $500 each. The customer could only access it if we went out of business.) Otherwise, never release the source code unless it is a code addin tool.
Melting Away www.innovative--concepts.com
Member 4723455 wrote:
The customer could only access it if we went out of business.
I like the escrow idea, however how does that suit the customer when in the future you might still be in business but not be able or willing to help them out for whatever reason? :)
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
-
Member 4723455 wrote:
The customer could only access it if we went out of business.
I like the escrow idea, however how does that suit the customer when in the future you might still be in business but not be able or willing to help them out for whatever reason? :)
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
Why would you hold back if you were not interested in the code anymore? If I recall correctly our contract had words to the effect that if we were unable or unwilling to maintain the code (under contract) the customer could take the code. We could set the fee for the maintenance so the customer could not force release by simply refusing to pay a reasonable fee. Any disagreement over what was reasonable went to an arbitrator. This was a large contract for a foreign military customer, but it should work with any customer that considers the source code to be mission critical.
Melting Away www.innovative--concepts.com
-
Why would you hold back if you were not interested in the code anymore? If I recall correctly our contract had words to the effect that if we were unable or unwilling to maintain the code (under contract) the customer could take the code. We could set the fee for the maintenance so the customer could not force release by simply refusing to pay a reasonable fee. Any disagreement over what was reasonable went to an arbitrator. This was a large contract for a foreign military customer, but it should work with any customer that considers the source code to be mission critical.
Melting Away www.innovative--concepts.com
Member 4723455 wrote:
Why would you hold back if you were not interested in the code anymore?
From the customer's point of view, that's not the question. The question is "what if they hold back the code?". A smart customer won't rely on someones goodwill down the road. Cheers, Drew.
-
Member 4723455 wrote:
Why would you hold back if you were not interested in the code anymore?
From the customer's point of view, that's not the question. The question is "what if they hold back the code?". A smart customer won't rely on someones goodwill down the road. Cheers, Drew.
Drew Stainton wrote:
The question is "what if they hold back the code?". A smart customer won't rely on someones goodwill down the road
That's why there was an arbitration clause. If we refused to maintain the code and refused to release it to them, they could take it to arbitration. So he was covered. An issue that we never resolved was the question of an export license for the code, but that was out of our hands so we just required that they got a license if it came to that point.
Melting Away www.innovative--concepts.com
-
Why would you hold back if you were not interested in the code anymore? If I recall correctly our contract had words to the effect that if we were unable or unwilling to maintain the code (under contract) the customer could take the code. We could set the fee for the maintenance so the customer could not force release by simply refusing to pay a reasonable fee. Any disagreement over what was reasonable went to an arbitrator. This was a large contract for a foreign military customer, but it should work with any customer that considers the source code to be mission critical.
Melting Away www.innovative--concepts.com
OK, that makes perfect sense, since there is an elaborate contract behind it. I had been looking for a very simple contract+escrow before, to be used for very small projects. I found it difficult to make it really meaningful without a lot of legalese. :)
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:
1, but feel free to post the non-application-specific parts here. Reviewing the bottom-most parts should be enough to get a feel for the quality of the upper parts.
-
OK, that makes perfect sense, since there is an elaborate contract behind it. I had been looking for a very simple contract+escrow before, to be used for very small projects. I found it difficult to make it really meaningful without a lot of legalese. :)
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
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 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