Only for a specific type of open source, and only from a certain viewpoint
Again, this is a GPL oriented viewpoint, not a BSD one, but I've banged that drum too many times so..
'Users don't understand the freedoms FOSS gives, and developers don't understand users'
This is simply untrue. Both understand well enough but they just don't care.
For the most part users just want to get on with their life, they do not want to contribute back to the ecosystem, and they don't want to pay money towards it if they can help it. If it cost money, there's commercial closed source software for that. Expecting everyone to buy into your ethos is definitely a case of wanting to have and eat your cake.
Developers also want to get on with their life where that's largely defined as solving the problem for themselves. OpenBSD is probably the epitome of this : it's written by the developers, for the developers, and the fact it's popular elsewhere is a nice bonus.
Polishing the software to truly fit the needs of the end user is a thankless task, and most importantly stops developers from doing what they actually want to do : solve interesting problems, create new code, receive thanks, and in some cases a job that pays money.
Polished open source software would have a magnificent installer, a great interface, all the functions would work, it'd correctly interoperate with almost all window managers/compositors, and be properly cross platform. New functions would not be added until the existing ones were working and stable. Product direction would not be driven by large commercial companies, smaller developers and platforms would be catered for. Ooh look, a flying pig.
Having said that, it's impressive what is available even given the disadvantages. I'm currently trying to use FreeBSD as my main platform to move away from Windows, including for gaming. This has involved :
Having to switch binary packages from quarterly to head because 32 bit wine 8 was only unbroken on 23rd December, and the new package hasn't been built yet for quarterly. This is in the handbook, but it's non obvious, and also not a particularly good default from the point of view to impact to users
Setting a mildly opaque environment variable to prevent old OpenGL games (Quake 2) from exploding with shock at what's provided by a modern OpenGL system (although I don't think it would do that under real Windows : that's on my todo list to check)
Having to make a number of config changes and udev rules so an XBox360 controller is recognised and usable by non root users, and then hopefully works in Wine.
Probably other issues, where certain quite modern 3D games are abending with opaque error messages.
All of this is incredibly user hostile. There are various third party configuration programs I'll be using to provide a leg up, but in an ideal world none of this would be necessary.
Given all that, however, it actually works for free, in a number of cases, without any paid for components being required.