If you were to take a time machine all the way back to 1984 and live through the birth of "Free software", you would recognise your arguments being echoed over and over and over again. And yet, it's easier to be a free software developer than it ever was. Good grief, there are companies that exist that will pay you a normal programmer's salary to write free software! There are people who write emails that say, "I've been writing X for the last 20 years and I just can't afford to do it any more" and suddenly they have people throwing money at them.
Sure it's not everywhere, and sure I'd love it if more free software developers could afford to spend all of their time writing free software. That would be fantastic! But to say that it is worse now than it was previously? I'm afraid you are mistaken.
The thing you have to understand is that "control" in free software is different than control with other software. The "eyes" have it. If you are able to coordinate enough development, and you aren't working against the community, and you are producing things that people want, then you will be successful. Yes, a company that offers to pay people to do these activities is at a huge advantage. I'm not sure in what universe that's a bad thing. But the point of free software is freedom. If I don't like what you are doing and I can convince enough people to go in another direction, then I am free to do so. In fact, I don't even need other people... I can just do it myself, although it will take longer.
I don't know about you, but I choose to rely on tools that are free software. I'm not forced to do so. Although it is waaaaay easier than it used to be, I go out of my way to pick something that I know I can work on myself if I need to. Yes, I've read the code for both vim and emacs. I've written extensions. I've found bugs. I've fixed bugs in compilers, interpreters, desktop environments, the works.
It wasn't that long ago that I was forced to use MS tools in order to receive my salary. I vividly remember phoning up support one day, "I'm having problems with X. I have a reproduction scenario here if you like". "How many seats do you have?" "Seats? We're a platinum partner. I don't know how many seats we use." "Do you have less than 1,000 programmers there?" "Uh... Yeah, a lot less, but like I said, we're a platinum partner. We're supposed to have support" "I can't do anything for you unless you have more than 1,000 seats. But thank you for the bug report." "Just before we go, can I ask if the bug has been reported before? Is it likely to go into the next release?" "I can't answer that question unless you have 1,000 seats and then I can prioritise it for you."...
You get the idea. I don't care if free software is being funded by a company. I care that I can do something about it if my software doesn't work, or if I want to make an extension, or if I want to go in a completely different direction altogether.
If your friend does not think that they can make a business case for freeing up their code, then that's their decision. They don't owe me anything. It's their project and they can do what they want. If you are complaining that it would be nice that there were more viable business plans for free software, I'll join you on that -- but to be honest, I think most people don't look very hard before they conclude that it is impossible.