When I was in college, lower level CS course assignments were done in DOS PC's networked through Novell Netware. Once a student got to take higher level courses, he/she was given an account into one of the department's SunOS Unix servers. Most students from basic courses suffered from "Unix envy", the Sun boxes were perceived as being much more powerful than the humble PC's. As a I entered the workplace, I brought my college perception that Unix workstations are more powerful than PC's with me.
In my first couple of jobs after college I was given a Unix workstation to work with, first an HP UX workstation, then a SunOS box, and I couldn't have been happier about it. After I transferred to a new department in that same job, I was given my first Windows NT workstation ever, I was disappointed not to have my own Unix workstation anymore.
Ever since, I've had nothing but Windows workstations given to me in every Job I've had. And I've had quite a few, since I've been doing contract work for a few years now. Now don't get me wrong, I am not advocating that every company switch all of their employees to Linux, but I've wondered why IT departments have been so slow to adopt it. IT workers do minimal, if any, office work, therefore the lack of Microsoft Office availability is not a major concern, for whatever documents or spreadsheets an IT worker might have to create, OpenOffice.org is more than enough.
Most big companies have adopted Java as their official programming language, at least as far as server side development is concerned. In many cases, Java applications are deployed to Unix servers, however most developers are given Windows workstations to work with. Wouldn't it make sense to give the developers an environment as similar as possible as the production environment?
I earn my paycheck writing Java EE applications, and I'm lucky enough that my current client allows me to work using my Linux laptop, but many places don't allow just any device to be plugged into their network.
Besides the obvious savings in license fees, Linux offers other advantages like lack of viruses and worms, and better security overall. Linux does not lack media exposure, we've all seen the IBM commercials, and it is frequently mentioned in IT magazines. Why hasn't it been adopted more widely? I don't have the answer to that question, I'm going to have to speculate.
One reason could be the perception that Linux is difficult to use. This might have been the case a few years ago, but today, with a modern desktop environment like GNOME or KDE, Unix knowledge is not really needed to use a Linux workstation, operation is basically point and click, not much different from a Windows or OS X box.
Another reason might be a concern of Linux might not interoperate well with the rest of the company's (Microsoft based) IT infrastructure. With tools like Samba, OpenOffice.org and Evolution (with the Ximian connector), this shouldn't be a concern.
Another reason could be the perception that Linux does not support enough hardware. This is somewhat true, but if you are careful when selecting your hardware, you can easily get a fully functional Linux box. Most unsupported hardware have no place in the workplace anyway, I'm mainly talking here about USB devices like digital cameras and MP3 players.
Looks like most reasons Linux is not being adopted in the workplace are based on false assumptions and incorrect perceptions. How can we promote Linux adoption in the workplace? Seems to me the answer lies in educating and informing the "powers that be" in IT departments. Talking to managers in terms they understand, emphasizing reduced costs and increased productivity. Reduced cost because of the license savings, increased productivity because less time is spent applying service packs and patches, and the chances of catching a virus drop to near zero.
Convincing managers to give Linux a try is easier said than done, I know, but Rome wasn't built in a day.