I think it is a fine line. On the one hand, you want to teach something that is useful for the students, regardless of where they end up. However, you don't want it to be too specific as to make what they learn obsolete in 5 years.
Personally, I think there are two directions you can go. First, you use a pre-CS syllabus where you teach programming basics like bits and bytes. Second way is that you can use a syllabus where you stress computers for non-CS people which might include the Internet, file systems, etc.
I think the general syllabus that they have chosen with stressing free and open source products really doesn't accomplish either of these goals. If you are aiming for the pre-CS philosophy, the basics are technology-agnostic and it should stress theory over specific platforms at least at the begining.
If you are aiming for a general computer awareness type of class, then while open source is all good, it unfortunately doesn't apply to 99.9% of the real world. If anything, the class should be more a survey of the existing tools. For instance, if there is a section on using browsers to access the internet, then the class should touch upon all of the existing ones, maybe pointing out pros and cons, with the acknowledgement that Internet Explorer is, for better or worse, the dominant browser. Not even touching upon non-open source products which happen to be prevalent creates a serious blind spot on the student's education. It is akin to not even mentioning evolution in biology because of religious biases.
Now some of the open source people might grouse at this suggestion. However, if you are looking to gain mind-share, isn't it better to do so by comparing open source to non-open source and let the chips fall where they may, rather than by just ignoring the non-open source and hope that they go away?