My Experiences with Linux Media Players
Anyone who knows me knows that I am obsessed with multi-media. Video Editing is my absolute favorite hobby. I'm a huge anime fan so I have several hard drives filled with series and movies. I'm an equally huge fan of music. My taste in music is so vast I have just as many hard drives filled with music as I do video. My two favorite programs out there are LiVES and Ardour. I'm obsessed!
When I first started using Linux, MPlayer was the end-all-be-all of media players. Now a days the clear cut best media player isn't so clear. There are a lot of choices out there when it comes to Linux media players. Some of the most popular are, VLC, MPlayer, XINE, Totem, Kaffeine, XBMC, Boxee, and Miro. So which one is the right one for you? The answer depends on your needs and your tastes.
MPlayer
MPlayer is still considered by a lot of Linux users as the greatest media player out there. Why? Well, MPlayer is easily the most versatile media player around. It supports just about every format available and the amount that you can tweak it is vast. By default MPlayer does not have a GUI, although there is an extensive collections of skins available. Some people find MPlayer hard to install and configure but most major distributions have a full package with a GUI in their repositories. Once you do have MPlayer installed you'll notice right away that the video playback is perfect, and the audio is spot on. The controls are simple and extremely convenient. Another thing I've noticed about MPlayer that most others players just can't compete with is its ability to playback badly encoded videos. Have you ever downloaded a video that was just not encoded very well? Most media players will either simply crash the video (as in freezing the video or totally crash the player), or attempt to repair the video ah-la VLC. With the same video, about 9 times out of 10, MPlayer will play the video with only minor glitching in playback. Another awesome thing about MPlayer is the ability to do everything on the command-line. MPlayer is built as a command-line program that just so happens to have some front ends built for it too. You can play videos while adjusting screen size and audio delay all in one command to MPlayer. Your nerd sense will tingle the first time you fire up a video from the terminal. DVD playback is supported but not without the libraries libdvdcss, libdvdnav, libdvdplay, and libdvdread.
VLC
I find it kind of funny that VLC is almost never the default media player for a Linux distribution but it is rare to find a person running Linux without VLC at least installed. VLC's biggest thing going for it is DVD playback "out-of-the-box" and it's networking capabilities. On the playback end VLC is comparable to MPlayer in its codecs support. Where the two differ is video quality. VLC is not bad when it comes to video quality but MPlayer out performs VLC most the time. Like MPlayer, VLC is tweakable to no end. Everything about the player from audio options to video scaling can be adjusted. Also, VLC works great as a streaming server and video transcoder. It is this ability to stream video that really separates VLC from every other media player out there. Even MPlayer requires you install additional libraries to support streaming.
XINE
XINE is actually a video player engine with a bunch of different GUI's simular to MPlayer. The three most popular XINE front ends are Xine-UI, Totem, and Kaffenie. XINE is another media player like MPlayer that has been around for a while and is still considered one the best. The coolest thing about XINE is all the front ends available. If you are picky about how your media player works and acts then XINE is the engine for you! Do you love simplicity? Totem-XINE is the front end for you. Do you like a bit more meat in your player? Then go apt-get Kaffenie! XINE supports most of the major formats out there, if you've got a video in a more exotic format than XINE may not be the best player for you.
KMPlayer
I have saved the big daddy of media players for the very end. KMPlayer is in essence just a front end. It is the fact that it is a front for XINE, MPlayer, and Gstreamer that makes it so damn cool! KMPlayer can switch between video engines with a simply mouse click! The ability to change engines means that you'll have the right engine for any video you can find. As its name implies, KMPlayer was designed with KDE in mind but will work just fine on any environment. The only real downside to KMPlayer is the playlist tool. It can be a bit difficult to figure out at first since you can't really drag and drop videos onto it, but once you get it down you'll never notice the difference.
When it comes down to it, your choice in media player really depends on your tastes. MPlayer is by far the most versatile and if you love doing everything from the command-line look no further. VLC is the all-in-one player that supports streaming with no need for extra libraries. XINE is an engine with a front end for every occasion. And finally, KMPlayer is the best of EVERY world! I myself, I tend to gravitate toward MPlayer with the SMPlayer front end and VLC for its streaming capabilities. Now go do some testing and find out which one is right for you. Have fun!
I AM Biased!
Recently I was discussing the future of desktop Linux with a colleague of mine. As the discussion progressed he turned to me and asked, "Aren't you a bit biased when it comes to Ubuntu and Linux Mint? Sure you praise Mandriva and Debian but sometimes I feel like you're the head cheerleader for Canonical." This statement made me pause and reflect. I went through this site and through my papers about Linux and realized that, yes I am biased! This doesn't really seem like such a great thing for a general Linux site. I contemplated my position on Linux desktop distributions and asked myself the question, "Why do I lean so heavily towards Ubuntu and Linux Mint?"
The answer I found is comprised of three parts. First of these reasons is stability. While it could be argued that Debian is a far more stable distribution, it is also far less likely to work with exotic hardware (aka : all my machines). Second is functionality. Ubuntu and Linux Mint just work! Both distributions work on a vast array of hardware configurations and have very few problems with some of the usual Linux suspects. What I mean by usual Linux suspects is things such as printers, digital camera recognition, usb flash drive recognition, iPod recognition, and support for hardware that is "off the beaten path". Finally, Ubuntu and Linux Mint offer a trifecta in computing. Let me explain. The trifecta is, user friendliness, power, and aesthetics. Both of these distributions offer up a very user friendly interface for every part of the OS. Configuration is easy, tweaking is easy, and installation is a breeze. Both of these distributions offer power. They run great on most hardware, offer up all the power-user tools you could want, and if they don't have what you're looking for "out-of-the-box" you can easily find it in Software Center or Synaptics. Finally, both of these distributions are very pretty. Ubuntu and Linux Mint are both sleek looking and endlessly customizable. While it is true that almost all Linux distributions are customizable when it comes to aesthetics, these two distros are unmatched in ease of customization. Any additions to the look and feel of the OS are easily added with no need for a terminal or source compiling.
All of these reasons are the source of my bias. That is not to say that an up and coming distro (Mageia anyone?) couldn't knock both Ubuntu and Linux Mint off their proverbial horse. Yet, as the playing field stands now, no distribution even comes close to offering up the user experience that both Ubuntu and Linux Mint provide. Yes, I am a Ubuntu/Linux Mint advocate, for now...
Ubuntu the Time is Now!
With the release of 10.10, Ubuntu is (in my humble opinion) ready for the big times. Now is the time when Canonical should be talking to as many OEM's as possible. Now is the time to sink some money into advertising and marketing. Now is the time to talk with companies like Adobe, EA, Apple, and even Microsoft in an attempt to get some of the most popular applications available ported over not to Linux in general but Ubuntu Linux.
I see a time when you can walk into a big store such as Wal-Mart or Best Buy and see Ubuntu based PC's sitting right next to Windows based PC's and Apple iMacs. I see boxed copies of Adobe Photoshop, each one with a different sticker on them. One sticker for Windows, one sticker for Mac, and one sticker for Ubuntu. I imagine the Apple site with iTunes, Quicktime, and Safari downloads for Ubuntu. I see the video game isle with sections for Windows, Mac, and Ubuntu. I see the promised land and it's beautiful!
While I see all this in my head, it's a bit too soon for reality perhaps. Yet, with the amazing release of Ubuntu 10.10 I think Canonical's Linux OS is ready for prime-time. Advertising and marketing are what's needed right now. Just one commercial on national TV here in the US and I think it would be enough to get people, who are tired of all the issues that come with Windows, to start asking questions at their local stores. Just one commercial would be all that it would take and Ubuntu would see companies like Adobe, EA, Apple, and even Microsoft take note and maybe even pick up the phone to see what kind of money could be made off this "Ubuntu Linux thing".
My hopes may be a bit high but Ubuntu seems to be doing everything right on the technical end and the ease of use end. What is lacking is the commercial end. I am by no means suggesting Canonical start charging for Ubuntu but with advertising and marketing they may be able to draw in the very few pieces that are still missing that would bring in a much larger audience. I hope one day Ubuntu rises to the level Microsoft and Apple currently enjoy. Out of all the Linux distributions out there it is the one distro that has the necessary parts in place. With just a small financial sacrifice to the advertising gods I think Ubuntu could become the one distro to rule them all!
The Relevance and Future of Desktop Linux
Recently I've been reading various articles and blog entries, both old and new, about the current place and overall future of desktop Linux. Most of these articles have discussed the progression of Linux on the desktop along with various statics about market share and installed user base. While no one can really argue the dominance of Linux in the server and super computer market, everyone seems to argue the place Linux occupies in the home desktop market. I tend to find these arguments and articles amusing and a bit silly. Linux was never really meant to be a desktop OS in the sense that Mac OS X and Windows 7 are home desktop operating systems. Linux was molded and added on to in order to make it work as a modern desktop system. Linux has zero marketing, zero brick building presence, and almost no OEM support. The very fact that anyone outside the Linux community feels the need to write an article or blog post about desktop Linux, whether to praise or laugh, shows just how relevant Linux is today.
The thing that analysts, Windows users, and Apple fanboys need to realize is that Linux desktop users and developers don't care if it ever becomes the worlds #1 home desktop OS. That was never and probably will never be the point. The point is the freedom to have a desktop OS that doesn't require you to "sign" a licensing agreement, restrict the number of PC's you can install a given copy on, and most important, a desktop OS you can freely change and modify all the way down to the kernel level. The very fact that it has gotten big enough that companies like Adobe, Google, and even Microsoft couldn't ignore it any longer is HUGE.
One thing in some of these articles that really makes me laugh, like stomach hurt rolling on the floor laugh, is when the author/s make out like Linux will die if it doesn't do something to improve it's market share and installed user base. Linux is not a company so you can't write about it like it is one. It's not going to go bankrupt, it already was when it started out. It's not going to be gobbled up by some big company because it's market share is low, the GPL it falls under makes sure of that. It's developers aren't going to leave because of salary cuts, they don't get paid in most cases anyway. The developers don't work on Linux for money, they work on Linux because they either need it, love it, or feel it's the best OS to work on. It's this very philosophy of openness and sharing in the Linux community that drives people like Steve Ballmer crazy. They just can't fathom it, they can't wrap their head around it, and they find the absence of monetary compensation to be ludicrous and really I'm glad they do. I wouldn't want an individual like Steve Ballmer or Steve Jobs in the Linux community. They just wouldn't get it, they would end up doing more harm than good even if their intentions were good. Linux is about sharing and openness, it's about making a system that works the way you want/need it to work, it's about a Unix like system that works on a vast array of systems without the limitations of proprietary licenses. It's about everything Microsoft and Apple are not.
So do you want to know what the relevance of desktop Linux is? It's relevant because it allows you to use your computer without anything you don't own on it. It's relevant because it allows you to really OWN your computer and the operating system that makes it work. Under the Microsoft and Apple model you own your computer but pay those companies to LET you use THEIR operating system that they can take back at any time. Me, I'll choose total ownership and freedom over licensed software any day of the week!
The Ubuntu Conundrum
Okay, so the release of Ubuntu 10.04 has come and gone. Now, three months later, users have had enough time with the distro to know how it really performs. So, what do I think of the Linux distro after three months? Too much experimentation for a LTS release, minor and often ignorant cosmetic changes, a broke ass sound setup that still pushes the horrible pulseaudio sound server, and window manager glitches that are simply unforgivable. All of this does not mean that I dislike the distro, just that it feels like a *.10 release instead of a *.04 LTS release.
Ubuntu has come to dominate Linux on the desktop and it is rather easy to see why. The installation is automated and very easy, the desktop itself is, by design, a new users dream, most everything works "out-of-the-box", and the huge community support is excellent. So why does it seem that I've changed my Ubuntu-tune, as it were? Simple, Ubuntu has gotten lazy and maybe a bit too big. If you remember my rant about beginner distros, I mentioned that Ubuntu was not really a good one for someone switching over from Windows to start out with. I instead recommended Mandriva or Linux Mint because of all the components these two distros offer up right from the start. Well, now I would even go so far as to say that Ubuntu actually takes away from the whole experience of using Linux on the desktop. Why? Ubuntu tries so hard to "make Linux work on the desktop" that it forgets the fact that it already does. Over the last two releases and continuing on into future releases, Ubuntu is trying to simplify things even more. They are attempting to replace Synaptic and every other package management tool with Ubuntu Software Center, they are pushing cloud computing to new heights, and they are trying to push Ubuntu One on every user. Another gripe I have with Ubuntu is the silly cosmetic changes. Moving the windows buttons to the other side? Come on?! What is the point of doing that? I'll tell me since I asked. Ubuntu would like to have you believe that the change is simply aesthetic. Yet again, what would the point be in that? The more likely, and rumored, reason is to have more room to place possible sponsored ads. I'm not 100% sold on this theory, but it makes more sense than the reasons Ubuntu developers give. My point is that over simplifying Linux ruins the whole point of using it in the first place!
If I wanted a super simple and insanely user friendly OS I would buy a Mac, but I don't because I like the complex nature of Linux. Linux allows you to tweak everything and change anything. The appeal, for me, of using Linux on the desktop is that I can do whatever the hell I want to with my OS! Ubuntu has been trying to remove these freedoms from their distro since Feisty. That is not to say that you can't do any of that in Ubuntu, you can, it's just buried behind restrictions making it a pain in the ass to get to.
I remember reading a chain of emails between Linus Torvalds and the GNOME group. In these emails Linus gave reason after reason for why he thought GNOME was useless and had no place on Linux. Of course, the GNOME guys offered up their responses and asked Mr. Torvalds what he didn't like and either, how they could fix it, or why it was like that in the first place. After reading through these emails I remember thinking that Linus was going a little nuts about the whole topic. While I was an avid KDE user (and still am) I found it odd how Linus was getting so enraged over GNOME and it's lack of features in an attempt to simplify. Fast forward several years... "Oh now I get it! Thanks for pissing me off Ubuntu." Linus Torvalds wasn't saying that GNOME, for what it was, sucked but that its user restrictions made it very un-Linux. That is how I view Ubuntu right now, un-Linux. I must not be the only one either, Linux Mint is working on a Debian based release after years of being an Ubuntu based distro, PCLinuxOS 2010 got rave reviews, and Mandriva, openSUSE, and Fedora are getting more and more attention from the internet. Why is this happening? I think it's because Ubuntu has finally over stepped its boundaries. They've changed too much, they over simplified too much, and they've started asking the question "I wonder how much money we can make off this?". Now, making money off a distro is not a bad thing, but when you start asking "how much" things can go really wrong really quick. I hope Ubuntu realizes just what it's doing, but if not who cares, there are hundreds of other great distros out there. Don't believe me? Go try out PCLinuxOS, Linux Mint KDE, and Mandriva and see for yourself.
Windows, and Borders, and GNOME....Oh My!
Window managers (WM) and desktop environments (DE) are fast becoming the norm on Linux. Sure their is no reason to run a DE on your Debian server but for home users DE and WM are very important. For sometime now GNOME and KDE have been the undisputed champions of DEs and their respective WMs, Metacity and KWin, are just as popular. Yet, these are not the only two options out there.
Just to make things clear, WMs like Fluxbox, ICE, Metacity, and KWin are very different from DEs like GNOME, KDE, XFCE, and LXDE. DEs can be described as several various parts that are functioning independently but that can interact with one another to create a single environment. WMs are one of those various parts. WMs are responsible for creating the ways that application windows are presented to the end user. Also, WMs are responsible for managing what windows are open, where they are located, and providing features for switching between these windows. The DE is like the director of a film, and the WM is the prop master and costume designer. The DE is what makes sure everyone acts as they should, interacts as they should, and generally keeps the production rolling. The WM makes sure everything and everyone looks the way the director wants them to look.
One thing you need to realize is that you can have a WM but no DE, yet, you cannot have a DE without a WM. Yeah, I know, "What the hell!?" right. Here's the thing, back in the day before KDE (the first Linux DE) hit the scene, programs that ran on Linux needed some way to display windows. This made WMs a necessity. So, when you ran a program that required a window of some type the WM was there to help you out. Then one day KDE came along and said "Hey look, not only do I have a WM but I am a whole GUI type environment.", and the DE for Linux was born! Cue triumphant music!
So, what's the difference between running either just a WM or running a full on DE? Two things really...well actually a shit ton, but we're going to focus on the two most blatant, speed and functionality. If you choose to go with just a WM your Linux install gains speed but looses some functionality that only a DE offers. If you go with a DE then your Linux install looses speed but gains functionality it did not previously possess. A DE makes things easier on the user. It manages tasks from the simple to the complex. It makes sure no programs step on each others toes, so-to-speak. The problem is that DEs are HUGE and cause a lot of slow down because it takes more processing power to make everything remain independent but add the ability for them to interact if they like/can. The middle ground in this conundrum is to opt for a "light weight" DE like XFCE or LXDE.
So what's the difference between light weight DEs XFCE and LXDE? Not a lot. Both run very smooth and much faster than DEs like GNOME and KDE. Which one is better? Well, from a technical stand point LXDE is a much better DE over all than XFCE. It some how manages to be more flexible, add more functionality, and still perform faster than XFCE. To sum it up LXDE is what XFCE is trying to be. Sorry XFCE dev team, but when I'm right, I'm right.
What if you prefer one of the flashier DEs? Which should you choose? Well, had this rant been written last year I would have told you to go with GNOME hands down. But, since the release of KDE 4.3 the scene has changed. When KDE was on 3.5 everything was going great for them! They were the most used DE by a LONG shot! 3.5 was stable, you could tweak it to no end, and damn was it pretty! The thing was the K Group decided they needed to take KDE in a radical new direction before they got too comfortable with the success of 3.5. Sounded like a great plan! Unfortunately, it didn't start out well for KDE at all. KDE 4.0 was packed full of bugs, many of which caused fatal crashes. Plasma, the canvas of sorts for KDE4, crashed more often then it worked, and due to its massive size sucked up resources almost as badly as Vista does. KDE 4.1 - 4.2 sought to fix all these problems and change the DE for the better, and for their part, those releases did an admirable job. The problem was that by the time 4.2 hit, KDE had already lost a lot of users, and the feel of 4.2 was somehow off. Then 4.3 hit and forced everyone to take another look at KDE! The 4.3 release marked the beginning of a stable KDE that finally felt like a worthy follow up to 3.5. Crashes became far more rare and if they did happen KDE offered a way for you to easily report those bugs while restarting the application. Plasma works great now, and, thanks to some of the Plasma team developer ninjas, is WAY WAY less resource hungry. With more improvements and better network management planned for 4.4, KDE seems to be doing everything right.
What about GNOME? GNOME is an awesome DE! It's rock solid, has a great GTK base, and tends to run a bit faster than KDE. If you need a DE that is going to be reliable and very crash resilient, while remaining powerful and fast, GNOME is the way to go. So why did I tell you earlier that I prefer KDE? Because for all the great things about GNOME there is one thing that I just can't get past, it's kind of boring. GNOME hasn't changed much since it started. Sure GNOME 3 is right around the corner but it still seems like its going to be more of the same. I could be wrong, I hope I'm wrong, but right now KDE is just a more exciting DE, with more power and WOW factor than GNOME has.
Deb or RPM Systems Which Should You Choose?
With all the various flavors of Linux available, how is one to decide which distro to choose? Ubuntu, Linux Mint, Fedora, Mandriva, openSUSE, and a thousand others are available, but which one is right for you? These are the questions every Linux users has asked himself/herself at one point or another. The simple answer is, do some research, then go try out several different distributions and see which one suits you best. Yet there is one simple thing you can decide on which will slim that massive distribution list down a bit. You can decide if you like deb based systems or rpm based systems.
As with everything in the world of Linux, you'll find people have varied opinions on which package system they prefer. Some people like rpm because they like the YUM package manager, just as some people prefer deb systems because they love APT. Yet, when you get right down to it your just talking about how your distribution likes its software packaged.
Deb packages use a makefile to control the package build process. Deb packages also use a separate subdirectory to store packaging-related files where each file has a specific purpose, and thanks to debhelper, provides convenient scripts so you don't have to write your own makefile rules for simple tasks.
Rpm uses its own tool, called rpmbuild, to manage the package build process. Also, rpm, unlike deb, combines all the information in one specfile. Macros are used by rpm to expand makefile rules. This is a nice touch, but nothing when compared with debhelper.
So, when you break it down on the packaging technology alone, deb is clearly the better package. But what about package managers? The two undisputed kings of package management are YUM and APT! YUM is the automatic updater and installer/remover for several rpm systems. Fedora, for one, uses YUM as its package manager. APT is the automatic updater and installer/remover for most deb based systems. Ubuntu, for one, uses APT as its package manager. See where I'm going with all the repetition? The two biggest desktop Linux distributions out there use competing package management solutions. What does that say about YUM and APT? That both are extremely well built and powerful package managers. Yet, features and speed are where the two begin to show their differences. Overall, APT is much faster and has more useful (I said useful not available) features than YUM. Since its inception, YUM has had several issues with speed. You could download and upgrade a dozen packages using APT in the time it would take YUM to download three or four. YUM has made leaps and bounds in the area of speed, but so has APT, leaving YUM still lagging behind.
The final area of consideration when choosing rpm or deb is availability. Had this rant been published about four years ago I'd have told you that rpms were everywhere on the net, but since the explosion of Ubuntu and all its relatives the scene has changed. Now almost any program that you can find on the net, as long as it supports Linux of course, will be available, thanks to the massive popularity of Ubuntu, in a deb package. That's not to say that there won't be a rpm as well, but your more likely to find deb packages than rpm ones. Fedora, for all its popularity, is still far behind Ubuntu when it comes to installed user base, and that's not even taking into account Ubuntu based distributions like Linux Mint. So, at the end of the day I choose deb. Why? Because I love APT, I like the large availability of debs on the internet, and I find APT managed systems more to my liking. As everyone knows I love Ubuntu and Linux Mint, but I also love Mandriva! Mandriva is an rpm system but with a different package manager than YUM. Urpmi is Mandriva's custom package manager, and while I do consider it vastly superior to YUM, I find it still lags behind APT. YaST/zypper is the custom package manager for openSUSE. As I stated in my review of openSUSE 11.2, I am very impressed with YaST2 and zypper, yet, as with urpmi, I find it lags behind APT. So it really all boils down, unless your building packages, to package management. With rpm's YUM, in my opinion, is the worst of the big three package managers, YaST/zypper is a step up from YUM but still inferior to urpmi. So, I say go with either a deb based system, or go with Mandriva. Fedora and openSUSE fans...please...no hate mail. ^_^
What's the Difference Between Linux and BSD? And Why All the Arguing?
One of the problems many new Linux users often run into is understanding the differences between Linux, Unix, BSD, GNU, and Solaris. It's totally understandable that many people find the distinctions rather confusing. If you've ever used Unix you know it "resembles" Linux, looks a hell of a lot like BSD, and Solaris almost seems like a shiny version of Unix. Also, you may even find yourself asking what in the hell is GNU? Is it an operating system, is it a set of Linux tools, is it a standard???
I recently received an email asking just those types of questions. It was from a user who was somewhat new to Linux and somehow found himself in the middle of an irc channel argument between Linux and FreeBSD users. Unfortunately for him, he had no idea what the difference was between Linux and FreeBSD! They both got attention from Distrowatch when new releases came out, sites like CNET ran FreeBSD vs. Ubuntu performance tests similar to how they run Fedora vs. OpenSUSE tests, and they both always seemed to get lumped together in the blogsphere. Needless to say he got reemed in the argument! First rule of irc channel arguments is "Unless you know what your talking about, SHUT UP!"
The element that was eluding the gentleman was Unix. Unix has a LONG and SCREWED UP history, so long and screwed up that I will not go into an in depth Unix history lesson, so all you Unix lovers please don't email me telling how I butchered the story. I know I'm butchering the story, but someone would need to build a whole site dedicated to the topic to really give it justice (sounds like a great idea...hmm). What I will say is that Unix was/is, thanks to C, a very powerful operating system that came out long before Microsoft or Apple even existed. Unix was portable, flexible, and powerful! Which made it perfect for the large mainframe systems of that time. Unix was so great that (in fine American fashion) several legal battles over source code arose. In the end Unix was kind of ruined. It got shredded and the rights to it seemed to switch hands a lot. It wasn't until years later that a standard for what is and isn't Unix became a reality. This standard is known as the "Single Unix Specification", and is maintained by The Open Group. Since the Single Unix Specification, Unix has once again become, arguably, the most flexible, portable, and powerful OS out there.
Okay, now that you know, generally, what is and isn't Unix, lets move on to Linux. So, in the early 90's there was a small kernel (the backbone and brains of an OS) called Minix that was an attempt to create a Unix like OS. Minix gained some popularity, but it lacked support for Intel 386 systems. A gentleman named Linus Torvalds began distributing a couple online email surveys around that time. The surveys asked things like "What do you like and dislike about Minix?", and "What features would you like to see in a Minix like kernel for 386 systems?". This was the start of Linux! The only thing it lacked at first was a good set of tools.
GNU is a recursive acronym for "GNU is Not Unix". No GNU is not Unix, but it is an OS...kind of. I have noticed that a lot of people new to Linux seem to fall under the assumption that GNU is either, a company that simply creates tools like EMACS, or a standard of sorts. The first assumption is of course closer to the truth, but infact GNU is an OS like BSD, Unix, Windows, or Mac OS X (if you can call Mac OS X an operating system :P ). GNU was created by Richard Stallman starting in 1984 while working for MIT. At that time more and more software was becoming proprietary, and as such Stallman began the GNU project (and later the Free Software Foundation) as way to bring a Unix like OS to anyone who needed a free (as in free speech) operating system. The thing was Stallman kind of went about building the OS backwards. He and the GNU Project developers built the tools first, compilers, editors, text formatters, mail software, and many other tools. The aspect of the OS they left until the end was the kernel. It took the GNU Project until the early 90's to finish up the vast majority of these tools. Around that time Linus Torvalds released the first Linux kernel. Since both the Linux kernel and the GNU tools were compatible with Unix, they merged together to become what is commonly known as GNU/Linux. Yes, this is a term used to describe, more than likely, the very distribution your using. So yes, it is correct to say that GNU is a set of tools for Linux, but it is arguable to state that Linux needs these tools to even fuction properly. Linux enthusiasts would argue that the GNU tools are disposable, which is probably true, and GNU would argue that Linux wouldn't work the same, which is probably also true. The point is that "technically" GNU is an OS without its own kernel and Linux is, at its most base, simply a kernel with none of its own tools. GNU/Linux is probably the proper way to say/write what we refer to commonly as Linux, but around 99% of GNU/Linux users simply call it Linux.
Now we have an idea about Unix, Linux, and the GNU Project. So what about BSD? Well, GNU/Linux as a whole was an attempt to build a truely open Unix-like OS that anyone could use, redistribute, and improve. BSD was an attempt to build a better Unix. BSD's story starts with AT&T, when in the mid 90's AT&T wrote its own Unix code. Then the University of CA Berkeley took that code one step further by designing the Berkeley Software Distribution or BSD. The problem came when BSD worked so well that AT&T filed suit claiming software patent infrindgement. After that all the AT&T proprietary code was striped from the OS leaving an operating system that couldn't even boot up. Using tools, code, and software from U.C. Berkeley's 4.3BSD-Lite and the Free Software Foundation FreeBSD was born! The first truly stable and fully functional build of FreeBSD was released as FreeBSD 1.1 in 1994. Overall, FreeBSD, NetBSD, OpenBSD, and DesktopBSD share far more in common with Unix than Linux. BSD typically out performed Linux in most categories until recently. It still does several tasks much more efficiently than Linux, but the performance line between the two is rapidly beginning to blur.
So what have we learned boys and girls? We have learned that GNU is not Unix, Linux needs GNU just as much as it needs Linux, Unix is not what it used to be, but still portable, flexible, and damn powerful, and FreeBSD, and the like, are "Unix-like" OS's that attempt, and some would argue (and tests in my opinion prove) succeeds in overpowering and outperforming Unix in all its flavors!
So, why all the fighting? Well the answer really comes in two flavors, the Linux flavor and the BSD flavor. Linux users tend to think their OS is more open and more advanced. They also tend to think their OS of choice is simply more varied and versatile. BSD users think their OS is far more powerful and a bit more tech savvy. BSD users also bask in their OS's more Unix than Unix feel. Really, all the arguing, while sometimes brutal, is just two passionate communities not willing to back down. They both love their OS of choice and when someone is stupid enough to claim one is better than the other the sparks fly! It's as simple as that!
The Free Software Foundation Goes to Washington
Recently the Free Software Foundation (FSF) filed a Amicus Curiae Brief in defense of David J. Kappos, Under Secretary of Commerce for Intellectual Property and Director of the United States Patent and Trademark Office. Mr. Kappos is the respondent in the case of software patents brought about by Bernard L. Bilski and Rand A. Warsaw. The FSF filed this brief in the hopes that it would show the Supreme Court that software patents should be abolished and arguing that they are in fact inconsistent with the Constitution's mandate.
So what does all this mean to the average end user of FOSS? A whole hell of a lot! If the Supreme Court ruled that software could no long be patented and that all previous patents are now null and void, it would mean that some of the things missing from Linux that keep many Windows and Mac OS X users bound to Microsoft and Apple would be readily available! Imagine if the next edition of Ubuntu came pre-installed with all those audio and video codecs you have to download, or came with full support for DirectX. This would mean that the people behind some of your favorite distributions would no long have to be worried about including patented software content. It would open a whole other door for Linux and FOSS.
End Software Patents executive director Ciaran O'Riordan said, "Every software patent is a restriction on software developers and users of computers, and there are currently 200,000 software patents in the USA. As well as being an unjust restriction on a common household tool, time has now also proven software patents to be an economic failure and a hindrance to the progress of the useful arts. This means they've failed their constitutional mandate and have no legal legitimacy. The Supreme Court has itself never authorized the patenting of software ideas, so there's real hope that this problem can finally be solved."
FSF founder Richard Stallman and the free software community have been campaigning worldwide against software patents since the late 1980s. The FSF has had little success in the area. The problem comes from the push that software, since it consumes no real resources and has no real material consumption, is far more an idea than a product that can be patented. Of course companies such as Microsoft, Apple, and even Novell would, and most assuredly will, disagree with the FSF and ESP, it's now up to the Supreme Court to figure out for itself if software patents are a good thing or as the FSF states, an obstacle and a danger to software developers and a huge hinderance on the economy.
Since this is posted in the rants section I suppose I'm supposed to tell you guys and gals what I think, right? Well, as I'm sure most of you have already guessed I am very much in favor of the abolishment of software patents. I truely believe in FOSS and I think the GPL and FSF have made the world a bit better through their efforts. In my own personal opinion I think that far more "things" should be licenced through a GPL like license. Things such as medical breakthroughs, new discoveries (both material and cyber), and pharmaceutical discoveries. Software patents, in my humble opinion, severly slow down the progression of software as a whole, and in a way slow down the progression and development of mankind. Imagine where software and technology would be if some of the biggest breakthroughs were allowed to be researched and improved by anyone the world over instead of a closed off group of just a handful of individuals. It's really simple math when you think about it clearly. Fifty developers advancing software will tend to move at a much slower pace than millions of developers all adding and changing the software as they see fit. It is kind of like saying that 100 people can build a bridge better and fast than 500 people. I'm just surprised there are still people, companies, and corporations out there that are "that" greedy. Sad really..
The Never Ending "What Distro to Use" Debate!
Since this site went live I've gotten several emails from people interested in Linux. The question they all seem to ask is, "What is the best distro for someone new to Linux?" In my experience, when this question is asked, the vast majority of Linux users start screaming Ubuntu! Now, I don't want anyone to get me wrong here, I love Ubuntu, it's my distro of choice and has been for quite some time now. Yet, I cannot bring myself to advocate Ubuntu to new Linux users, especially new Linux users switching over from Windows. Why? Well, several reasons really. First, Ubuntu is reluctant to include anything that is patented by another company. I can understand Ubuntu's stance on this, but it can make things rather troublesome for users new to Linux. Second, most people switching over from Windows want an experience at least some what similar to what they're use to. This means they want easy access to audio and video codecs, they want DVD playback, and they want something as flashy if not flashier (is that a word?) than what they had on Windows. Finally, they want a distro that does all this out-of-the-box (so to speak), so they can focus on learning Linux but still be able to do all the fun things they did on Windows in the process.
I can feel the hate already! You fanboys are grinding your teeth and muttering curses under your breath, right? You're cursing me in strange techvoodoo rituals! You're making effigies of me and burning them at your homemade Linus alter! You know what I say to that right? "Go Tux yourself!" I'm not interested in driving people away from Linux because I'm afraid it may "take my special thing away from me!" I'm interested in people seeing the benefits of Linux! I'm interested in people realizing that Linux is simply a better OS than Windows and Mac OS X! I don't need Linux to feel special or accepted! I need Linux because it WORKS! I want more people to see the benefits of FOSS and Linux! I want ordinary housewives, ordinary elderly people, ordinary blue collar workers using Linux! I want everyone to use Linux, not because it makes me feel warm inside, but because it's the best operating system out there!
Now I don't mean to rant here but I'm getting really sick of all the fanboy elitism that infects the Linux community! Too many people who call themselves "techies" (reminds me of Trekies) feel it is their job to try and make new Linux users feel stupid, inadequate, or unworthy to use their OS of choice! Those pathetic people make me sick! They don't understand community, openness, and they certainly don't understand the concepts behind Linux, GNU, GPL, and the like! It's not just about a technology, it's about technology trying to change how things are in the world. It's about technology being open and freely available to anyone who wants to use it and/or improve it! It's about a group of people from around the world, who may have never met face to face, being able to offer up something that can make someones life a little easier, or more fun, or "God forbid" better! That's what the philosophy behind these open projects is all about.
Okay! Now that I got that out of my system, I can tell those people who emailed me what distros I think are the best for new Linux users. Fist of all though, I have to say, go out and try two or three different distros. Hell, go out and try twenty or thirty different ones, and see which one fits you best! Now, if I was asked (and I was) what distros I would recommend for new Linux users I would say either Linux Mint or Mandriva. Why? Because both of these distros offer up all the frills and glitz right out-of-the-box. Audio and video codecs? There! DVD playback? There! Flashy desktop effects and cool windowing effects? There! Yes, I know you can do all these things in other distros and in Ubuntu it is rather easy, but these two distros offer those things up from the start. This allows a new Linux user to still be able to enjoy multimedia and a "cool" desktop without any possible headaches that can arise. Ok, ok, I know I said last time these things were easy to get up and running in any distro, and they are, but when you have absolutely no clue about what your doing these minor details being present already can be a God send! This leaves a new Linux user able to explore the more difficult areas of Linux and still enjoy their computer in much the same way they did before without any hassel.