The people you hear complaining about lack of software are probably not zealots. They are users who like Linux because of its merits rather than its core philosophies, but are unhappy with software selection. Truth be told, it's probably a silly desire. Using an OS which has deeply rooted philosophies but still desiring support from vendors who actively oppose those philosophies is, frankly, idiotic.
But I am one of those idiots. I am one of those guys who uses Linux because it feels more usable than any alternative (regardless of price), but I still wish there were more software vendors targeting Linux. I wish that Linux was a first-class citizen in the OS society. But it's not, and there are many reasons why it may never become one. Hell, for all I know my wish is actually a bad one. Perhaps if vendors became interested in Linux it would drive away devoted zealots (who do a lot of work, by the way) and ultimately destroy the community? I don't know, I haven't been around long enough to make those kinds of predictions.
My point is that you shouldn't be surprised when it seems like the Linux community seems to contradict itself. The community isn't one person, it's many. Some people want a walled garden while others want a public park, and those ideals are mutually exclusive.