Born in the 90s, when almost every piece of software around was proprietary, I felt *exteremely* lucky that I can now power my life using (mostly) free software. Still, I might never be able to understand the case in the 70s, in which, according to Richard Stallman, every piece of software is basically free.
Ideology vs Pragmatism
There are Linux distros
whose software repository contains free software only (e.g. Trisquel &
Parabola). There are also distros that doesn't care much about licenses
(e.g. ArchLinux). Some distros falls between the two extremes: Debian
main section which is entirely made up of free software,
but it also has
 sections in their repository, which can be added to the system
To most of us who do not have a requirement on every single piece of software being free, we still have to use non-free components -- even to make the toaster fully working. For example, non-free blobs in the Linux kernel and drivers. Using "free" distros on these computers essentially cripple the core functionality of that computer. If most users require non-free components, it makes sense that the distro providers include them in the software repository. As a matter of fact, I haven't met any user of a "free" distro outside of GNU. 
Using a distro that provides proprietary software should not be considered a sin to free software. Actually it's a huge step towards freedom in today's world dominated by proprietary software. In order to remind the user of this, it is the responsibitliy for the distro provider to tell the user about the benefits of free software and advocate them contributing to it.
Since I've got no mysophobia of proprietary software personally, I don't really care about installing proprietary software on my mostly free system. I prefer using free software whenever one is available. But if the use of free software results in crippling the core functionality (e.g. removing firmware blobs from the kernel causing WLAN cards made by Intel not working), I may compromise and install a few pieces of proprietary software (instead of using an external WLAN card like RMS). 
Free Software vs "Normies"
The idea of free software won't spread widely if it fails on the "normies". Everything about free software is a circlejerk of us hackers if we ignore the "normies". Sadly that is just the case right now.
The major reason that free software fail to become daily driver of most people is that probably most free software targets at "mega-nerds" instead of the vast amount of computer "normies". These "normies" just use their computers either to get their office work done or to browse the web (sometimes both). In this sense, free software often offer terrible experience: Linux distributions, if not pre-installed by device vendor, often have bad out-of-box experience (either missing driver or firmware, or the software requiring too much tweaks to make it actually usable). Another example is window manager: the most popular window manager used by desktop Linux users is i3, whose default interface is obscure to new users and needs a lot of configuration before it suits the user. Only people that are really keen on tweaking would do that.
Things are changing though. Some free software makers, for example the GNOME Fundation, are striving to make free software more user-friendly and fool-proof. They recently removed the ability to run executables directly in the file manager to prevent the user from accently running a malicious script that destroys their computer.  But in my opinion the components should remain customizable for the users who "knows what they are doing".
"Free" vs "Open Source"
Richard Stallman has made multiple statements on how he dislikes the term "Open Source". I pretty much simply repeat one of his points here.
"Free" and "Open Source" has a large part in common: in fact, being "free" requires the software to be "open source". However the idea laying below is very different: The term "open source" is currently being abused by gigantic companies as a weasel word to avoid using "free". They often use free component in their proprietary products and doesn't want to remind the user that there is a free counterpart that doesn't take the freedom from them. A famous example of this is Google Chrome and Chromium.  Similarly, Microsoft "loves" Linux because it is "open source", not because it is "free".
On the other hand, Linus seems to be at the opposite end of it.  Pleased to learn that this world is never lack of diversity.
Free software in China
Free software is not having a good time in China:
- As Chinese use two distinct words for "free" as in beer and "free" as in freedom, we should have faced less problems than the English-speaking community. Sadly, almost all tranlators used the word for free beer when translating "free software".
- "Thanks" to the crappy copyright law in China, pirating software and reverse engineering is explictly allowed with some restrictions, making free software a lot less known to the general public . That same crappy copyright law also gave chance to massive GPL violations. Examples: AllWinner, XiaoMi and MediaTek.
- As China wasn't actually involved in the software industry until proprietary software has almost taken the whole thing, there are misconceptions regarding free software in the Chinese community. For example, the definition of 'source code' in A Dictionary of Current Chinese claims "protecting the source code helps to lower the chance of being hacked".
- Software engineering college in China only teach the process of proprietary software engineering. Although they utilize free software a lot through out the college, they do not promote the use of free software for 'serious work', often putting an emphasis on the strengths of proprietary software.
As currently the entire Chinese software industry is really addicted (and devoted) to AI, ML, IoT and their 'made in China' nonsense, chance of solving these problems seems bleak. Also Chinese doesn't do stuff that makes no money, but ...
Monetization of Free Software
... free software can make money. Ethically.
By saying ethically I am not promoting the act of getting a maga-sponsor
and just doing anything they requested. The only ethical way for free
software to monetize is probably paid support and donation. Red Hat is a
well-known company that made sheer amount of money out of free software.
Sarcasm. You should have known it.
However, not everyone would succeed following that route (even Microsoft
failed to figure out how to make it work /s). Thus the choice for the vast
number of smaller free software projects would be donation. So why is
accepting donation a good idea?
- The user donates what ever they want (money, hardware, code, translation etc.) voluntarily, and...
- There's no cap on donation amount, so those who got the fortune may donate a good deal of stuff.
- Those who don't yet have the ability to donate would not be triggered. More over, the spirit of "free as in freedom" remains intact.
But when things come to money, people starts getting greedy. Don't let your greed ruin the entire project.
This article is full of my immature thoughts and rants. Fortunately due to the low popularity of this site, they would not be exposed too much. Writing such a long article is really a pain in my ass though.
If you have different opinions, please consider telling me about it and probably correcting me if I made a mistake.