I recently read a rant on a non-profit mailing list about how vendors were out to screw the little guy by “overcharging for hosting and hiding it by bundling it with maintenance hours.” It pissed me off.
Here’s the scenario I get from various alleged do-gooders: “Hey, we went and hosted on FlyByNight Webhosts, and then someone on the board said their kid knew computers pretty well and he went to change things on the server and now your application we paid $50,000 for is broken! So fix it!”
First: if you cheap out on hosting, you will get what you pay for. How people have $50,000 to spend on custom development (and trust me, trying to get them to compromise on the tiniest point often gets, “But we’re small and don’t have much money and we want just a little thing, and it helps the children. You don’t hate the children, do you?”) but only $60/year for ongoing hosting blows my mind. That’s like spending $250,000 on a Ferrari and deciding to go to a shade-tree mechanic and putting Bubba-Bo-Bob’s Retreads on it.
Second: the scenario above is a frequent occurrence. Face it: you probably don’t know anything about hosting a website. Unless you’re prepared to pay someone who does to take care of that for you, you’re probably going to be as successful as if I tried to file IRS paperwork for your nonprofit. I might get lucky, but probably you’ll be in Deep Doodoo.
Third: even if you do know how to handle the server or can afford someone who does on a reliable host, custom software is highly complex and routine security upgrades can break things. So yes, you’ll probably need a software developer who can fix things for you when that happens. And even if you don’t, there are some changes you’ll discover you need because the environment you’re operating in changes between the time you had the software developed and now. Again, you’ll want a developer’s help. Also, you may break things when you use the software in novel and unexpected ways. Or you may find bugs that weren’t caught in the preceding two years, even if you exhaustively tested the application on receiving it.
But most importantly: You paid for my time (and knowledge) to develop software to behave exactly the way you wanted it. But it’s no more fair to ask me to provide more of that work for free later because you didn’t catch something in testing (in 15,000 lines of code, there are likely to be several areas that behave in ways you didn’t anticipate in edge cases, even if it’s not technically a bug–and let’s see you write a 150,000 word book in three months, edit it, come back two years later and guarantee it will have no typos or grammatical errors or inept phrases) than it is for your grantor to ask you to do more work for the original grant two years down the line because something you set up didn’t sustain itself as well as you’d hoped without providing you any more funding.
Believe it or not, we’re not sitting around on piles of cash, occasionally working for a non-profit and screwing them out of money when we’re bored. Consulting is not a rich man’s game, and usually has thin margins. If we don’t have money being given to us for our work, we’re going to go out of business. So it’s just not possible–even if we wanted to–to provide a lifetime guarantee that our products will never be defective, even if you break them. No one else in your life will do that: not your grantors, not your clients (if you do direct service), not your cooperators, not the electric utility, not the government, not the realtor, not the bank, and not even the kid who cuts your lawn.
So why do you think when you paid me to do some work, you bought me?