...just don't have any of the advanced functionality of say Windows 2000
What advanced functions are you referring to?
I have both a Windows 2000 and Linux machine running at home. I've found it much easier and much cheaper to implement 'advanced functions' in Linux, rather than with Windows 2000.
My roommates and I use the Windows 2000 machine for most all of our generic desktop activities. It doesn't do much more than provide a web browser, provide instant messaging functionality and run games.
My Linux machine however is functioning as a firewall, web server and a SSH (remote access) server. I also use it for email, since it's nice having remote access to it.
Implementing a firewall would be simple to do in Windows 2000. However, it would require me downloading ad ridden shareware or purchasing bloated software. I prefered taking the time to learn how to do it in Linux. In actuality it didn't take me much time at all, because the functionality is built in and I just downloaded a ready made script to enable it.
The web server would also be easy to setup in Windows 2000. I could very easily just enable IIS. But it would be hell to maintain. Just take a look at the news and your read about exploit after exploit plauging IIS. With Apache (the toy web server I assume you were referring to), it was painless to setup (I just had to type the command, "apt-get install apache") and I had a working web server. After tweaking the configuration and installing PHP, I have an easy to maintain, dynamic web platform. It's not used for much now, but it provides me a simple platform to test web applications on and remote access to my computer's at home.
The SSH server provides me with remote access to my machine. Using it I can do just about anything from afar that I can do while sitting at the machine. I can access from other Linux machines or from other Windows machine. This functionality is available in Windows, but in order to use it you have to run resource hungry applications on both the client and server computers. Being able to discretely login using a command line based interface is much less resource intensive from both the client/server resource and bandwidth perspectives.
Granted, I could spend money buying ready made, possibly easier to use solutions to remedy my requirements. However, being the cash strapped college student I am, I find it much more productive in rewarding to just invest my time in something I was already interested in in the first place.
I'm by no means saying Linux is for everyone. Like I said before, I have Windows 2000 on my main machine and my roommates would probably give me hell if I changed that. But Linux can and does work for people. Just because you've had bad experiences doesn't really justify brushing it off altogether. You can't really say that everybody's experience with Microsoft's (or anybody's) software has been or always will be painless. That's just the nature of computing. It's a complex task that takes tons of effort to put in the hands of today's average consumer. I commend the efforts of Microsoft, Linux developers and all computer developers for creating the varied computing environment that we're enjoying (most of the time, when it works right).
I admit, this isn't an example of the use of Linux in a production environment. But you can't say that it hasn't been successfully used that way. Just ask the DreamWorks (whether or not you think their products are really worthwhile is another question). You can even take a gander a IBM's site for information on using Linux in a production environment. I could post more links, but I'm sure you all are capable of finding similar information on the web yourselves.
- chuckx -