So, your customer says "give me a website that does X", you say
"sure" and go about throwing together an app to meet the spec. What happens after the jobs done and there is a new framework release, or a security problem with the existing app? How do you handle approaching the client for additional funding to "keep the rails version fresh" or "fix a potential issue with XSS"? Do you bake it into your initial contract? The whole thing seems fraught with danger to me.
Well I'm not at all your target audience for this question, but this is a standard software issue. The important thing to remember is that we developers care a lot more about software versions than "civilians" do; and the real reason we care is that we know that an up-to-date installation is easier to maintain.<p>In other words, in the paid software world I expect this is covered under maintenance contracts. The person holding the maintenance contract may or may not be the original developer I suppose - but surely those issues are covered in their agreement.
I have maintenance deals with almost 100% of my clients (either with a monthly fee or a by-the-hour agreement). The only time I don't charge is when the error or problem is a direct result of something I've done.<p>I have an industry specific suite of content management systems and utilities so typically a mistake found by one client is a problem for them all. Not charging for fixing your own mistakes helps generate a little goodwill.