Re: People who want things to be free . . .
I've argued that proprietary software is good and worth supporting in other comments in this topic, but I'm afraid I'll have to take the other side on this one:
"What does it mean for all of the other software developers who want to make a living in a market where competing products are given away for free? It means those people go hungry."
This tends not to be a great argument. The argument boils down to "never do anything that will cause problems for someone doing the same thing". People write free software because they enjoy doing it and they want the result. It's not a crime that they give it away, and it means that anyone who wants it can get a copy. Sure, now someone can't make the same thing and sell it, but nobody was required to have that opportunity or to keep that opportunity in existence. Developers can make their own product that does something different and try to sell it, they could add their feature to my code if the license permits and sell that as a fork, or they can find a different project to work on. I'm not going to hide my code so that someone else can make money by reinventing and selling it.
Consider a parallel. I'm going to open a restaurant on a street that will sell good food for cheap prices. What does this mean for the existing restaurants that charge more for their food? Probably, it means they will lose some business from customers coming over to my place. This will be a problem for them, but it's not my responsibility to refrain from opening a restaurant or charge higher prices so they can keep everything the same. If they find that I'm more popular, they might have to change their plan to appeal to their customers. The same thing is true of software. If someone finds that people don't express much interest in a certain kind of software because it already exists, they can develop their version anyway and attempt to convince people that their innovations are better than what's out there, or they can turn their attention to something else where the existing options are not sufficient. Both options have worked. Your own list provides examples:
"web browser": Anyone using Brave out there? I don't, but people do. That's a new browser, with commercial elements, from a company that thought they could do a better job than the existing browsers. People use it, even though other ones are free.
"PC OS, or smartphone OS": In both cases, those are not universally open source products even though both have open source components. And of course people are developing new ones, in some cases commercial ones. Sailfish OS, for example, is a commercial smartphone OS and they made some money selling it as a core for Russia's government phone system. It's not that popular, but it has been done.
"Server OS": People make new server OSes all the time. Can you name a cloud provider that doesn't have their own variant of Linux, which they think has some advantage which will attract people to their cloud?
"database": This article is about a commercial database writer. In this article is a link to an older article that lists a bunch of other modern, commercial database companies. Most of those are still around and still commercial.
"FTP client": Yes, probably there are more of those being written, but you may be right that there's not a lot of companies building that as their core product. Is that such a problem? Are there features you want or need in an FTP client that you can't get and are willing to pay for? I can't think of any, so if I had infinite resources to hire programmers, I wouldn't ask any of them to write a new FTP client. Many pieces of software are in this area where, unless they have a new idea, we don't really need a ton of new options when the existing ones could be maintained and do just as well.