The build
I like to build stuff in my free time, and I have coded several websites for stuff I am part of. I've build a family webzone where my family can log in, and I've build the webportal of my current hobby, the 501st legion. All are custom created webapps, and I've learned a lot building this stuff. When I look at them now, it's all crappy and not enterprisy of course, but oh well, who cares :)..
From time to time friends relatives and acquaintances see these websites, and since they don't know anyone who can do these kind of things, they ask me to build a website for their newly fangled business plan as well. Normally they expect me to do it for free, or a few euros, or some beer.
The backfire
I've done some websites in the past, but it almost always backfired. They expect it to be done in several days, which is quite hard because I work a full time job. Since their (core) business depends on it, people start getting annoyed that you take so long to create a custom webapp for them. Finally when the project gets finished, they expect me to maintain it until the end of days, even calling me at work to say if and when the webapp does not work.
When I try to get out of it, I can't, because I do not know anyone who would support my custom crappy webapp. So they will have to invest in some third party to build it all over again, which in the end usually fails because of budget or them having no clue what to do.
It's usually pretty ungrateful, and adds up to much irritations on both ends, usually ending in broken friendships. Which is really a shame.
So my question is...
How do I politely say 'no' to building requests from friends, relatives and acquaintances without hurting their feelings?
PS: If this is not a question for SO, then I apologize beforehand! :)
The aftermath
First of all, thank you all for taking your time to answer, and give your point of view on my question. I guess its a problem many of us have to deal with. It's also a pretty difficult problem, as I see it, because we like to tinker with code in our free time, so people might mistake that for that we would like to work on their projects. Also, these people are people you care about, and that makes it difficult.
Although the question got closed twice now, I've learned from your answers and I am glad I've asked it. Since we are all programmers we like to think in extremes, so I have extracted two entire opposites from your answers, and I think these will help anyone struggling with this.
1# Do it right: The first option is doing it right. Let them pay you for a mates fare, make up good estimates, and do the whole thing according to the book. Plus: You gain a nice assignment, and get payed like you should, and your friend gets a nice product. Negative: When the project fails, you put your friendship on the line, and is it really worth those few hunderd bucks?
Should you do it for free? Probably not, because you would not only not receive the plus of this option, but most likely will experience the negatives.
Is it rude to ask money of relatives? It probably is, but you have to make people see that it is a lot of work you are doing for them. One way to make this clear is to ask money. Another thing is to make them do something for you, or teach them to do it themselves. Either way, they will see that it's a lot of work, and I think that is one of the main issues at hand.
2# Don't do it at all: The second option is not doing it at all. Make no exceptions between friends, family or anyone, and don't do these kind of requests. Without pissing them off, tell them you cannot find the time or that you had bad experiences in the past with these kind of request. Tell them your relationship with these person is worth more than money or that you rather play Dragon Age because Dragon Age 2 is coming out pretty soon. The plus is that you do not have to put hours in to make this project, and you won't experience the negatives as in option one. The downside is, that if you do not explain it right, people might still be pissed off.
Hard to understand.. these human emotions ;)
Things you should not do, is lie to your friends and keep them on a leash. That is pretty rude, at least where I come from ;)
In my case, I will go for option 2 and I will accept the answer with the most upvotes :)