You bring up a great point: how do we deliver high-quality software to the general public that is stable, easy-to-use, and secure, yet respects user privacy? Ad-tech and other forms of surveillance technologies have become quite prevalent in consumer technology in recent years, such as the proliferation of smart TVs with ads. I find free, open source software to respect my privacy and generally be stable and secure, but I find it harder to use than proprietary alternatives, and I think the reason it's harder to use is because there's no money being poured into making it easier to use. With the exception of Firefox it's hard for me to think of a commercially-backed desktop FOSS project, while when it comes to system software (e.g., operating systems, compilers, databases, Web servers, Web frameworks, etc.), I can list plenty of examples of commercially-backed projects. I don't think it's a coincidence that FOSS has done so well in the server room (where big companies have backed the development of Linux, MySQL, Node.js, LLVM/Clang, and many other projects) and in computer science academia (funded by grants from industry and government, as well as the free time of students and faculty; heck, RMS himself had an office at MIT and won awards with large monetary prizes), yet it has struggled to gain a significant foothold on desktops used by the general public except for LibreOffice and Firefox, the latter of which was quite popular during the interregnum of Internet Explorer 6 and Google Chrome.
There are two possible avenues to improve the situation on the desktop:
1. One challenge is the sheer complexity of modern desktop software. Take a program such as GIMP, LibreOffice, Firefox, and consider how many lines of code these programs are written in. Even for a senior-level software engineer it will take some on-boarding time to become familiar with the codebase of one of these projects. Modifying the program could become quite an effort. If even experienced software engineers struggle to find the time to contribute code to FOSS projects, then making such a contribution would be almost impossible for members of the general public, the vast majority of whom have no coding experience.
I'm wondering how much of this complexity could be pared down such that it would lead to a FOSS software ecosystem where it's easier for users, technical and non-technical, to make contributions. The easier it is to make contributions, the greater the likelihood we'll have a thriving ecosystem of FOSS for desktop computing. Alan Kay's Viewpoints Research Institute's STEPS project (http://www.vpri.org/pdf/tr2012001_steps.pdf) appears to be an interesting starting point.
2. Another challenge is thinking of new funding mechanisms for FOSS that don't rely on unpredictable donations, the backing of large corporations, or licensing changes (such as the moves that MongoDB made a few years ago in an attempt to stop cloud service providers like Amazon). For example, there should be other business models Mozilla could use in case Google shuts off its funding, but the challenge is I'm struggling of thinking of them.