|Find high paying job. It's quick! It's Free!!||Earn some quick money by spending just 5 minutes!!|
Having access to the source code is probably the single most significant difference between Linux and Windows. The fact that Linux belongs to the GNU Public License ensures that users can access (and modify) the code to the very kernel (i.e. core of the OS). You want to sneak into the Windows code? Good luck. Unless you are a member of a very elite group, you will never ever lay eyes on Windows OS code. You can look at this from both sides of the fence. Some say giving the public access to the code opens the OS (and the software that runs on top of it) to malicious developers who will take advantage of any weakness they find. Others say that having full access to the code helps bring about faster improvements and bug fixes to keep those malicious developers from being able to bring the system down.
Along with access comes the difference between the licenses. I'm sure that every IT professional could go on and on about licensing of PC software. But let's just look at the key aspect of the licenses (without getting into legalities of them). With a Linux GPL-licensed OS, you are "completely" free to modify that software and use and even republish / sell it (so long as you make the code available). Also, with the GPL, you can download a single copy of a Linux distribution (or application) and install it on as many machines as you like. With the Microsoft Windows license, you can do none of the above. You are bound to the number of licenses you purchase, so if you purchase 10 licenses, you can legally install that operating system (or application) on only 10 machines.
This is one issue where most companies turn their backs on Linux. But it's really not necessary. With Linux, you have the support of a huge community via forums, online search, and plenty of dedicated websites. And of course, if you feel the need, you can purchase support contracts from some of the bigger Linux companies (like, Red Hat and Novell). However, when you use the peer support, you do fall prey to time. You could have an issue with something, send out e-mail to a mailing list or post on a forum, and within 10 minutes be flooded with suggestions. Or these suggestions could take hours / days to come in. It seems all up to chance sometimes. Still, generally speaking, most problems with Linux have been encountered and documented. So chances are good you'll find your solution fairly quickly. On the other side of the coin is support for Windows. Yes, you can go the same route with Microsoft and depend upon your peers for solutions. There are many help places on Web for Windows. And you can purchase support from Microsoft itself.
One issue that is slowly becoming non-existent is hardware support. Years ago, if you wanted to install Linux on a machine you had to make sure you hand-picked each piece of hardware or your installation would not work 100 percent. This is not so much the case now. You can grab a PC / Laptop and most likely get one or more Linux distributions to install and work nearly 100 percent. But there are still some exceptions. For instance, hibernate/suspend remains a problem with many laptops, although it has come a long way. With Windows, you know that most every piece of hardware will work with the operating system. Of course, there are times when you will wind up spending much of the day searching for the correct drivers for that piece of hardware you no longer have the install disk for. But you can go out and buy that 10-cent Ethernet card and know it'll work on your machine (so long as you have, or can find, the drivers). You also can rest assured that when you purchase that insanely powerful graphics card, you will probably be able to take full advantage of its power.
No matter how far the Linux operating system has come and how amazing the desktop environment becomes, the command line will always be an invaluable tool for administration purposes. Nothing will ever replace text-based editors & command-line tools. I can't imagine administering a Linux machine without the command line. But for the end user - not so much. You could use a Linux machine for years and never touch the command line. Same with Windows. You can still use the command line with Windows, but not nearly to the extent as with Linux. Without going to Run and entering cmd, the user won't even know the command-line tool exists. And if a user does get the Windows command line up and running, how useful is it really?