It could be Redhat, Suse, Mandrake, Gentoo, Sorcerer, Slackware, Free, Open Source, or just about any other common Linux company or term (How many of you thought of Linus Torvolds when you thought about Linux?). Linux is simply a kernel when you get right down to it. It's the applications that run on top of that kernel and how they're configured which make all of the difference! With that in mind, here's some of the plus's and minus's I see, as far as creating a proficient and enjoyable Linux experience:
- Cost: One of the first things that comes to mind as a big plus for Linux is its cost. This is kind of a double-edged sword for those who want to make money, but Linux is for the most part a free operating system. Yes, you need money to build or buy the hardware on which you'll run Linux, but the chances are that you already own hardware which will do the job, be it a PPC based machine, or an x86 one.
Let me put forth this friendly piece of advice though: Support whichever distribution you choose to use. Without support, the companies that are really pushing Linux to the desktop will disappear, and we really don't want that, do we? Whether you pay for your distribution of choice is totally up to you, but I would recommend giving something back in some form, be it through programming, volunteer work, or simply by paying for your software and/or distribution. Many independent developers now take donations also via Paypal. Put simply, the economic model for Linux is really aimed at giving the consumer the benefit since you can try and use most things for free. It's only once you've evaluated and settled on a package or distribution that you should then consider what you've got, and what that's worth to you.
Ok... My brief "Come on guys" speech is over. Back to the analysis!
- Flexibility: This is a big one when it comes to Linux! While it is true that Linux is known for it's reliability as a server OS, Linux on the Desktop is just starting to take off and I expect to see a lot of action in this area over the next several years. By "flexible", I'm referring to the fact that you can make Linux into virtually anything you want to!
For example, it's a given that Linux is an efficient, proven, and reliable platform for servers and server development. The desktop is a different field entirely though in that you want the users interaction (the mouse movements and keyboard entries) to take precedence over any services and programs running in the background. If you had to wait for your quickly typed verbiage to appear in a Word Processor simply because Linux is busy FTPing something in the background, you'd probably quickly tire of it as a desktop OS.
But Linux is a beast of many faces, and as such you can "tune" it to be anything you want. If you're using it for a server, you want those background processes to take precedence as they're serving out content (or whatever) to your users. A servers highest priority should be to serve its users equally, and as fast as possible.
For a desktop machine though, we want it to only serve one person: You! As such, the kernel has to be tweaked and told to not dedicate so much attention to those background processes, and to pay more attention to things like video and input speed. You can do this with Linux. You can't do it so easily with OSX, Windows, or many of the other desktop OS's (You can use virtually any OS as a basic server, but the performance will not be anywhere near that of a dedicated server system).
If you're "in the know", you'll know that Windows offers different versions of its OS for server usage. Similarly, OSX has a dedicated server version. And while server-specific versions of Linux are springing up here and there, the core systems are still more or less just like the desktop versions of Linux. Their kernels are just tweaked differently, and the apps that are included are usually different and pertinent to the task at hand. You probably don't need an advanced network packet sniffer on a desktop OS (but you might... I certainly don't!), but in the same sense, you don't need a fast and flashy GUI for a server OS. A desktop system's for using every day, while a server system's generally meant to be setup, and then just left alone to serve out content as needed.
And it doesn't end there! There's all kind of patches and tweaks available to tune your kernel for real-time responsiveness, pre-emptive multi-tasking, and many others. It's truly "your system", and as such it's up to you to decide what "your system" is.
- Support: Linux is widely supported, both by its users, and also by the companies that have chosen to market it. You can find dozens, and perhaps hundreds of books on Linux these days, and you can find even more websites dedicated to the usage and administration of Linux.
In fact when I install a new version of Linux these days, I usually opt to not install any of the included documentation as I can quickly "Google" for the details I need as I need them. Usenet's another great source for Linux support and help. In short, there are more sources for Linux information than I'll ever need, and it's only growing by the day as more people make the switch.
- Lots of software: I have a love hate relationship with the amount of software that's available for Linux. You can go to freshmeat.com or sourceforge.com and find literally hundreds of programs, and that's just the tip of the iceberg, so-to-speak.
My only problem with all of this software is that much of it's a work in progress. This is largely due to Linux being an "up and coming" OS, and while I can often find a new and unique tool to do the task at hand, I also am often questioning why something looks or acts the way that it does.
I guess the best way to sum it up is this: With Linux you'll spend more time finding the software that you're looking for, but what you'll end up with is likely to be "just what you need", as opposed to being something that'll get the job done, but leaves a lot to be desired as many Windows programs do.
The time spent evaluating all of the packages available can be fun, but it can also get rather tedious at times. It really depends on how you look at it, but to me, there are a lot of tools available that function at a professional level. The fact that you must wade through a number of "wannabe" apps to find the gem you need is just something that comes with the territory right now. As Linux matures, and coding practices and tools standardize, I expect this problem to decrease.
- Stable and fast: These two items are grouped together simply because the two don't always go hand-in-hand when we're referring to other operating systems. In this case they are a major plus when it comes to Linux.
Don't get me wrong, you can crash individual applications, and such, but seldom have I seen the entire system freeze up. And the speed is really amazing! The overhead requirements of Linux are very modest, and once you start increasing CPU speeds and memory, you can really build yourself a system that just flies! In fact there's several companies looking at tweaking Linux out for usage as a real time operating system (RTOS), so speed and stability are definitely not an issue!
Similarly, Linux disk access, both for serving and reading, is as fast as anything Redmond's released. Suffice it to say that Linux is ready for competition!
- One word, "Wine": Wine, which stands for "Wine is not an emulator", allows Linux users to run many Windows apps directly within the Linux GUI (Not via an emulated computer ala VMWare!). Wine has came a long ways since I first tried it several years ago, and nowadays, it's easily one of the biggest strengths in the Linux arena, as far as getting existing Windows users to convert.
I won't go as far as to say that Wine can run any and all Windows apps, as it can't. But for most of the applications one would run under Linux, it works acceptably well, and in some cases the programs actually run faster than they do under Windows!
I personally use the Codeweavers distribution of Wine myself, and I have to say that it's one of the best investments I've ever made, from a software perspective at least. I certainly wouldn't run all Windows applications under Linux; If all you want is Windows software, stick with window, but for those specialized applications that just aren't available in Linux yet, Wine is a godsend!
- Linux finally looks good: This is not so much a strength of Linux per se, but it's worth noting as until recently Linux UI's didn't look that nice. We take such things as anti-aliased fonts and true color displays for granted in today's Windows world, but until recently Linux users had to make due with regular, "bitmappish" looking fonts. Similarly, video performance was not always as snappy as it is these days.
But as the number of Linux users increase, and as more companies put their dollars behind Linux development, Linux is looking very nice indeed. KDE 3.1 is, in my opinion, going to be the UI that finally pushes Linux into the desktop arena, and to me, it offers everything Windows does, plus some!
- "Intro, Windows"
- "Mac OS X"
- "Linux Minus"
- "Linux Distros: Yoper"
- "Linux Distros: Redhat 8.x (Phoebe)"
- "Linux Distros: Mandrake 9.1 RC2"
- "Linux Distros: Ark Linux"
- "Linux Distros: Vector Linux (Soho 3.2)"
- "Linux Distros: Gentoo Linux (and other source based distros)"
- "Linux Distros: Suse Linux, Conclusion"