We all know that Linux is great on hackers' workstations and on servers and in computing clusters, but not so great as a desktop system for average users.
Bollocks.
All of the tools for a typical office worker are already there. Immense scale Linux desktop deployments can be very easy. An apache cluster serving up the OS install media, clients boot up via PXE & start installing via initial image grabbed over tftp. Many thousands of desktops can be installed in a matter of hours. Basically how fast can your PFY's run around turning machines on? The rest is automated (kickstart!)
Authentication & authorization on UNIX-y platforms are mature technologies.
Automated management is available through a number of tools like cfengine, puppet, and others.
I have deployed 10,000+ seat Windows environments and somewhat smaller Linux environments. Deploying Linux was so much easier! And so was managing it after deployment! At a previous job I was managing about 3,000 Linux hosts as the only Linux sysadmin, and had so much free time that I was spending almost half of my day helping the Windows team manage a much smaller number of systems.