Fog Creek Software
Discussion Board

ASP business model licensing

Reading a recent thread on ASP business model reminded me of the many good points of the danger risking your business data and software to a fragile young asp provider. One of the better defenses offered was to ensure all data can be mirrored to client sites and that the client be given the source code if and when the asp goes belly up (license to continue use or for maintenance, not for redistribution). Anyone know of any serious licenses worded that way? Care to point us to some licenses in practice that contains such clauses? I think this last effort source saving clause is a pretty good idea, kinda like having a photographer giving you the negatives to your wedding album after a year for safe keeping.

Li-fan Chen
Thursday, July 22, 2004

Here's what I said in the "ASP business model anyone?" thread:

"Actually, in the interests of the customers that we host for and to give them some peace of mind, I convinced my boss that if we go under (unlikely) or other specific requirements are met, then the source for the app goes to them.

Therefore, they gain the ability to support, maintain, or just discect the code in a worst case scenario.  Of course, they do not have redistribution rights of any kind as a result of any of those scenarios."

Thursday, July 22, 2004

If only photographers would give you the negatives from the wedding after one year. Our guy will sell them to us for a thousand bucks, to cover "copyrights", or keep them forever for free. No doubt in the hope that we will want more prints done at some stage.

Thursday, July 22, 2004

You'll want to include a clause that the customer doesn't get the source if they have an outstanding balance owed to your company. Otherwise they can ask you to do all kinds of work and promise big bucks when the job is done, you bet the company and when the job is complete - they renig - you go under - they get the source!!!

Thursday, July 22, 2004

The "official" term for giving the source code to the clients if you go under is called "source escrow".  The ASP company will burn regular copies of the source code onto CD and give them to a third party (the escrow company) to hold on behalf of the customer base.

IdleCoder has a good point about having a clause excluding customers with outstanding balances  from receiving the escrowed source.  Check with your attorney for other exclusions that should be in your contract.

Thursday, July 22, 2004

Ahh yes I will definitly sign a contract that says if I owe them money I don't get the source! As the customer, my lawyer would have a heart attack if I signed a contract that stipulated that.

If I contract the ASP to add some modules, they fail to complete them according to the contract for that project, I would have to pay for incomplete work. Why would I have to pay for incomplete work? I see their move being, you pay or we go out of business and you don't get any source.

They could shove any number of crappy situations my way, if the escrow holding the code feels I am not worthy of reciept I don't get the code until the courts/lawyers figure it out. Escrow holding of code is just as dangerous as putting all your money in an escrow account, one legal battle over that account and you have no access to your money until it is resolved. This makes me wonder since my competitors use the same system they will be a part of the escrow, if they can survive without the source, can they just sue the escrow lock it up for all parties of the escrow and everyone is screwed until it is resolved?

I would also assume that if you put the code in escrow the data that feeds the code, if there is any, would have to be placed into the escrow in a way that I cannot see another companies data.

The contract for a functional ASP product is something I would truely love to see. There has to be a way to make it work, but it seems that involes the ASP becoming more a partner of the customer rather then a service provider. I think ASP models work for non critical applications where the customer will not go out of business if the ASP fails.

Thursday, July 22, 2004


Do you think it's being taught in business schools people ought to get 2+ vendors for any given software?

Does anyone here think if a client has more than one vendor it will ensure more change of surviving such an unfortunate situations like the Jeff you've just mentioned.

Li-fan Chen
Thursday, July 22, 2004


I am not really in touch with business school grads, the people I deal with that make business decisions are all in the 45+ age range and well out of school. I find some of them to be in general at a huge disadvantage when technology meets their business. I have come across 4 companies that had problems with their ASP and I would say that the problem centered around a lack of understanding the technology and thus not understanding the depth of their attachment to the ASP. In all cases once they gained an understanding of the technology they were stunned that they entered into the agreements that they did and risked their company as much as they did.

I am unsure how having two vendors for the same ASP application would help the customer? It seems this discussion of ASP systems has focused heavily on the code. I find the code to be the most useless part of the ASP's service, the value is in the data the ASP is collecting, storing, protecting and serving for the customer. Unless the data is duplicated between the vendors how does one survive the failure or your ASP?

Thursday, July 22, 2004

>> If I contract the ASP to add some modules, they fail to complete them according to the contract for that project, I would have to pay for incomplete work. <<

I think you don't completely understand the ASP business model.  Customers do not typically contract with the ASP provider for custom work -- the goal of an ASP would be to provide a configurable system (*not* a customizable system!).  Writing custom code takes resources away from projects which could benefit the entire customer base, not just one.  The advantage that an ASP offers to their customers is that the customers get a system which they could not otherwise afford -- all the expensive development costs are spread amongst the ASP's customer base.  The counter to this is that no one gets any custom functionality.

"But how does new functionality ever get added?" you ask. Two jobs ago the way we did it was have the customer service reps come up with a list of frequently asked-for features, which would then get distributed to all the customers.  Each customer got 100 points to assign to the features they wanted most.  They could put them all on one feature, or spread them around -- however they wanted.  We would then add features in point total order -- most to least -- in the time we had available for development.

I'm sure other ASPs have different ways of deciding on what new features to add.

Thursday, July 22, 2004

We offer a web-based ERP-solution so we are an ASP. Our contracts specify that the customer owns their own data. They can get a backup if they want and when they quit the contract they will get all their data from our database. I don't know why are saying source code. I can't see why a customer would want/need/require/entitled to the source code, it's the data that's important.


Espen Antonsen
Friday, July 23, 2004

Ok, I spent some time talking with a couple U.S. lawyers on this. Here is the general synopsis:

Each company that uses the ASP software must have their own escrow account with the ASP for the data and the source code. Rules for when the escrow can be accessed by the client and notification to the client of when the escrow is not being fullfilled is specified in a set of contracts that bind the escrow.

Now if my competitor wants to tie up my escrow in a legal dispute they first have to show proof to the courts that there is something within my escrow that they have an interest in protecting. How hard it is to do this remains unknown since software escrows are evidently rather untested in the US courts compared to their financial cousins. If a competitor can show that their information may be co-mingled within my escrow data account the escrow would most likely be tied up for years in legal procedings.

The general lawyer assessment was that seperate escrow accounts help with the majority of the legal problems. Is it risk free, hell no, is it expensive to setup per ASP user, apparently yes especially the cost of the contracts between the ASP and the customer.


I feel you need the source code for the system as well since the customer needs upon failure of the ASP the ability to run the application. Typically when an ASP fails that means the application is no longer available. The data alone is only worth anything if there is a competitor to the ASP that can get you online quickly and port your data to their system. If that is not the case the customer would need to setup their own servers to run the application since the time for them to write their own application to use the data from the escrow would be too long.


I know the model of voting for new features is probably the best way to run an ASP, but I have seen several that can be contracted to complete work explicitly for one customer. At that point is the relationship between the customer and ASP typical? No. From what I have seen the choice to do business that way is not unheard of.

Monday, July 26, 2004

*  Recent Topics

*  Fog Creek Home