Ok, I didn’t mean it’s impossible for someone to ask you to do something during your free in a demanding tone. For example Arnt, get over here and make me a coffee...
But we have this word called No. Maybe it’s down to my personality but I have no problem telling people NO or when I’m in a mood to fuck off or when I’m feeling more professional to just reply with “Where shall I send the estimate?” Basically “Fuck you, Pay me...”.
But the ability to ignore the idiots comes probably down to volunteering me free time as a teenager coding and managing player ran games, the players took the game incredibly seriously, to the point I got harassed because I took action on a player for breaking the rules (issued a temporary suspension from the game), on irc, on the forums getting called a bad staff who should be ejected by the other staff got to me a little, until I told the other staff it was they just felt “I was handling it”. Once they knew they reassured me that they had no intention of doing so (kicking me off the team) and if they continued to feel free to delete their account off the game. I learned that they are not worth the stress and so not to give them the time of day, don’t rise to them because at the end of the day, they are not worth it.
So tbese days I just get on with something else or tell them “sure... but you gotta pay.”.
What I mean is, once someone if demanding of your time then you have to get something of worth in exchange.
In a relationship it’s the joy of having someone in your life to share things with and who can help you improve who you are. At work in exchange for being a code monkey you receive monetary compensation.
In open source its kinda a mix of both, it’s joy of helping others, either today for later down the road.
If someone is taking that joy away, they are taking away your incentive to work on that project so in exchange you have the right to change what you are getting out of the deal. Take your estimated time to do what they are asking, multiply by a figure per hour your happy with, multiply that by 3 (as these things always run over and there will always be support requests down the road) add on what the tax man will take off you and quote them that.
If they are happy to pay, awesome, take a deposit, and tell them you will start on their changes next week. If not tell them they will have to wait like everyone else.
If they continue to be an arsehole then handle it just like you would any other child throwing a tantrum, stay calm and ignore the behaviour.
Edit: I’m not saying it’s not stressful or my way of handling it is the best way for everyone just it’s the method I use to deal with such “children”. I understand the mental strain it can cause. I’m just saying that the person doesn’t have the right to demand your time or attention (including the time your thinking about them offline).