Hi all,

I've signed a contract to develop some software for a client. I will own the IP and will be licensing the software to them. Fairly straightforward.

Now the client is thinking "what if at some point I don't want to work with you on development and support"?

The client would like the option to buy the source code from me if, for whatever reason, he does not want to work with me in the future.

Now, he would agree to abide by the licensing terms, he doesn't want to own the IP, he just wants the option to continue development/support without me.

Although I'm not enthusiastic about this, I am considering it.

But what is a fair price to charge? 100% of dev costs? 50%?

I have no method for determining this. Any thoughts/guidance is much appreciated.



Recommended Answers

All 9 Replies

It would be sensible to use a reducing scale.

e.g it costs 90% to buy after 2 years, 80% to buy after 3 years etc...

You can recoup the difference through the licencing fees

commented: One of the most astute posts I have seen from you +5

A decreasing scale makes sense--you're right.

I've discovered there are other interesting legal considerations: after buying the code the buyer would be liable if any of my trade secrets were used w/o my permission. There are indemnification issues also--the buyer would have to indemnify me from any future litigation related to the code.

Sounds like it can get messy...

>>e.g it costs 90% to buy after 2 years, 80% to buy after 3 years etc...
you mean the code will wear out ? :)

why not charge 200% or 300% of actual cost?

I didnt mean actual %s, i was just saying that it should follow some sort of scale.

why not charge 200% or 300% of actual cost?

200-300% was too steep. I'm looking at developing an API for the client that will allow them the flexibility they're looking for.


I think you should be practical. Look at it from the customer's point of view. He doesn't want to market the software, he just wants to be sure it can be maintained if something should happen to you. If you ask for anywhere near 100% of your development cost, he will either just continue to have you maintain it provided your maintenance cost are affordable or he will bite the bullet, write you off and pay someone else to develop something similar, only this time, he will insist on owning the IP.

Don't be greedy or you will probably end up with a customer who will not deal with you in the future. If your customer is willing to pay to have a copy of the source, ask him what he thinks is a fair price. If it seems fair to you, take it. If not, negotiate a little bit. You will probably end up maintaining and upgrading it for a long time and you will have a happy customer (always a plus). Keep in mind that the maintenance dollars could easily exceed the development cost over time!


Yeah but maintenance costs will always be there as long as maintenance is needed, no matter who does the maintenance. It makes sense to have the person who wrote the code maintain it. Maybe they were given a cheaper offer for an IT guy already.

Something else to consider -- some sort of "you break if, you fix it" clause. IOW, if the client makes changes to the code and things stop working, client is responsible to either revert to supported version, or pay (dearly!) to have problem fixed. This situation should NOT be covered under "normal maintenance".
Point of history -- in the Olden Days, we had the source code for IBM's System/360, the IBM COBOL compiler, etc., and made changes to the COBOL compiler to accomodate our in-house developed access methods. Unfortunately, that code is still running, and we're limited to some VERY old COBOL compilers.
And now, back into my cave.

Previous company I worked for had a different policy.
The sourcecode of the current production versions (so those versions customers were actually using) was deposited with an attorney.
The contract specified that customers would get the sourcecode if we went out of business or for other reasons were incapable of performing maintenance and expansion.
The clause of course did not apply if the contract between us and the customer was cancelled by customer or by us for reasons like non-payment.

That way we retained control over the source while at the same time the customers had security in the knowledge they would get it if we went out of business.
It also gave us security to know that even if we lost everything in both our datacenters we'd still have access to at sources of at least one version no more than a few months old.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.