a variety of reasons why OSS is not making success in the educational sector. Here are my thoughts:
1.) Setting all technology discussions aside : our educational system is broken. Period. (Assuming you are talking about the US of A) Our society places more value on celebrity escapades and sports figures than it does education. No amount of technology (windows/linux/???) will improve a broken system.
Having said that:
2.) For most school districts, changing from Windows to Linux is like asking a Navy to completely change battle-platforms (hardware) in the middle of a Pearl Harbor firefight. Notwithstanding the ideological differences, the everyday lack of resources, time and inter-compatibility almost makes moving to Linux a non-starter before you even begin.
3.) Schools have a long history with brand name "for pay" software (Microsoft, etc). Breaking out of that mindset is extremely difficult. I had no problem talking to my asst-superintendent showing him the cost savings of open source software,.. but what overwhelmed him was the amount of work it would take to convert all of our data, procedures and environment over to accomodate the proposed changes. In a school district its VERY hard to change the status quo. (which is not suprising considering the whole point of american education system is to preserve the status quo). You might say that Linux is just a little bit to "liberal" for the traditional approach most often seen in educational systems. I'm not sure society is ready for linux (as others have said) in this regard.
4.) Linux (in my opinion) has made great improvements and usability tweaks in the past 5 years-ish,.. but it still has a ways to go to be "drop dead simple". In a school environment, software solutions should be GUI driven, not some arcane command line voodoo. No, I'm not saying teachers are dumb and cant learn, I'm saying they dont have the time or desire to. I think sometimes Linux programmers forget that the majority of the people on this planet are NOT happy sitting at a command prompt. Period. Its not because we are dumb and refuse to learn CLI, its because we dont think we should have to in order to keep an OS running.
5.) On a software level,.. I'm not sure I have an answer to the question of: "What OS do you teach in school if the job market is predominantly Microsoft?"... thats a head-scratcher. Our educational system quite simply doesnt have the "bandwidth" (time or resources) to teach multiple Operating systems. (can you imagine trying to teach an "Introduction to Business" class for 25 high school sophmores in a computer lab where 5 machines were Windows, 5 were Mac... 5 were Ubunutu...?... no way would that work. As it is, Teachers arent meeting their professional requirements in an all Microsoft environment.
Before leaving the school district,..I had some plans to setup a few small Ubuntu labs (3 to 5 computers) as an experiment to see how they would get used and what worked / didnt work. Unfortunately, I never got the chance.
I wish I had a better answer.. but the problem is multi-faceted, complex, and like a box full of network-cable "spaghetti". Its going to take many long years of dedicated (and possibly volunteer) work to sort out the issues. I loved working in the K-12 environment because I think education is vitally important. But it burned me out and is so damn full of politics and lack of resources that it really needs to be nuked from space.