Hey Btchouhosama,
Saw the title, clicked, read everything, thought I could be some help.
Kuromonoart and Deltastic made great points already regarding being open and honest with your close contact, so just to completely restate their words in my own:
• A job is a job, regardless who the client is. There are almost no cases where compensation for your time and skills is unjustified or unwarranted.
• If you're a bartender, and your 'friends' stop visiting you at work because they can't always get free drinks, then they don't deserve any.
• Be honest and straight forward. An awkward and uncomfortable business negotiation that leads to a grueling but fulfilling project that brings you closer as friends is better than an unsure, unstable project that is filled with resentment that could potentially leave a friendship in tatters.
Now for my two cents, the biggest tip I could give anyone when it comes to compensation of any kind, with any client of any kind is make a legally binding contract, always.
The written legal contract solves almost every problem before it starts:
• Payment amount, payment date, payment method, and payment penalties if there are any.
• You know exactly what your responsibilities are for the project, and more importantly, what isn't.
• Deadlines are set so everyone knows when their work should be finished and no one is working on a project that goes on indefinitely (we've all worked on one of these).
• Petty disputes and manipulation are mitigated because both parties have the contract and all the information.
• When negotiating the terms and conditions of the document, it forces everyone to be honest and hopefully professional. These talks will also shift everyone from a hobbyist mindset to a professional one which will dramatically increase work output (although some people still won't take it seriously. Don't work with those people).
• When it comes to pawning off your work to someone else, a contract will at the very least ensure payment, and more ideally ensure that they legally can't do that.
You mentioned that working with friends can get messy. I can assure you that it almost never has to. Working on a project is a unique experience that is beyond rewarding and brings everyone closer than they thought possible. I feel my working relationships with my close friends has worked because I generally approach all working relationships the same exact way.
• Business first. Friends third. Once you and your friend walk through those proverbial doors, your preexisting relationship does not matter nor exists. When talking about money, responsibilities, penalties, etc. Treat this person as a potential coworker with an amazing referral. It may feel awkward if you've never thought about this before, but if you set this precedence when you handle friends (let alone strangers), the chances that you are taken advantage of drops significantly. And at the and at the end of the day, if they are really friends, they will never screw you over, no matter the context.
• Know who you're working with. Unless you work for a company who has complete control over what you work on, chances are, you have some say over who you work on projects with. Just like how you would research an artist's portfolio or an author's bibliography, you should do the same with your friends who approach you with work. This should be easy since you're already familiar with each other. Are they hardworking? Are they apathetic? Do they Procrastinate? Do you already have frequent petty arguments with this person?
• Evaluate the project honestly. You need to know when to walk away. Take it from someone who donated a lot of hours to many projects who thought 'could go somewhere': what you think is courteous support is just blind optimism that's going to cost you dearly. If you truly believe in this project then completely disregard what I have just said and continue working on it, but if you are unsure, then please ask for sufficient payment for your services.
My final point to this rather lengthy post is just for you to know that bluntly asking for payment is never opportunistic. If it was, than any person making money for any job is a bad person.
Always bluntly ask if payment is an option. If the client doesn't bring it up, they are attempting to take advantage of you. If they are being sincere than they would have been upfront about not being able to pay you.
Working for free for a friend is a favor, never an obligation.
I apologize if some of my words or points come off as rude, selfish, or very assuming or your particular situation, I just don't want you to be taken for granted or have your time wasted.
I hope I was of some help for you.
— Hario