> While I support FOSS, especially as a long term goal, I have found that it is hard to explain the advantages because most people simply lack the ability for abstract thinking required to comprehend it.
Well, you just have to see that there are much fewer advantages for people who can't programme. Despite hand-waving about how people can group together and pay programmers to improve free software, in practice most small-scale users can't get enough cash together for that, so they are just switching their dependency from proprietary developers to free software ones. Bearing in mind here that the proprietary developers tend to have a certain dependency on the cash-flow coming from users, while free software developers are often doing the thing for the fun of it, and making users happy is a lower priority. Granted, if they have a problem any free software developer can help them with it, but my feeling is that there is a short supply of sufficiently altruistic ones.
Perhaps a way of improving this would be finding more ways in which non-developers can meaningfully contribute to free software, or at least lower the bar to entry. On the one hand that would make free software more fun for them - and I think that fun is a much understated reason why people use free software - and on the other it would make programmers keener to keep them happy.