Since its inception, there has always been a base level of friction within the Linux community.
For the most part, this friction has led to new ideas that have provided ease of use and in some instances, improved functionality. Distros such as Ubuntu best showcase this example, despite the grief it gets from parts of the Linux community. Digging deeper beyond the surface, however, some of this friction has proven to be more divisive than productive.
Extreme views from software titans
One of the most divisive situations I've seen in the Linux space is how proprietary code within the Linux space is viewed. For someone like Richard Stallman, there is no debate. His view is that Linux (or GNU/Linux) must be free of any proprietary code and anything that is misaligned with the GNU philosophy.
On the opposite side, Linus Torvalds believes in the "best tool for the job" philosophy. Linus points out that his desire to use open source software comes from his need to sometimes tweak an application to better suit his needs. Linus cares about the end result of the software provided, whereas Richard cares about the perceived ethics of software. Sometimes this leads to the two men using the same tools, yet they are using them for very different reasons.
Where does this leave the casual user? While this point will undoubtedly be disputed, I believe most people use Linux on the desktop for reasons closer to what Linus finds to be worthwhile. Yes, there are ample folks who feel the same way as Richard Stallman, but in the end, I believe most people see Linux as a layer that enables us to "do stuff" and get work done on our computers. I myself fall into this camp.
In my eyes, both men have made significant contributions to getting an alternative to Microsoft and Apple software to the end users. But in recent years, Linus' contributions appear to be having a far greater impact for those of us looking to simply get stuff done. Richard, by contrast, contributes these days by sharing his vision as to the dangers of relying on anything to do with DRM and proprietary software.
As to whose contribution is more important? That's a question that can't be answered for everyone in the Linux community as a whole. But instead, something that would require each one of us to reflect on at a personal level.
Sound, video and gaming
Over the past few years, the debate has largely grown around practical areas surrounding the Linux desktop. One of my personal favorites is whether or not PulseAudio was a good idea or even needed.
Most people I have spoken to on the matter dislike it and claim it doesn't work right. Others still, myself included, have found it to be rock-solid stable in its recent releases and prefer the granular sound card control it provides. Going further, I have experienced nothing but success using multiple devices with PulseAudio. With it, I can finally enjoy diverse audio destination options to the devices of my choosing, without opening up a text editor.
To be fair, I have seen first hand how others have had legitimate problems using the PulseAudio server. So I would be remiss if I didn't address this head on. There have been instances where PulseAudio fails to capture, say, a line-in device despite showing up correctly under the ALSA mixer. Honestly, most of the time this is a toggle on/off issue that is left to something not GUI-based to trigger.
Does stuff like this fall directly onto PulseAudio? If you've been struggling with it for hours, I can see how it might feel that way. But in reality, PulseAudio remains the king for advanced audio routing. That's not just my opinion, it's based on years of recording, playing and enjoying audio on my Linux boxes.
The next Linux debate involves video and, more specifically, video drivers. To date, there are still those who believe that open source video drivers are good enough for most purposes. Excluding gaming, I would whole heartily agree that most PCs will run Linux applications just fine using open source video drivers.
Where things in this space begin to break down is when we talk about gaming. Factually, proprietary video drivers outshine those of the open source variety in providing a vastly superior level of video game performance. In years past, this wasn't really a big deal until Linux gaming received a serious shot in the arm from the Valve Corporation. Once Valve brought Steam onto the Linux platform, an already heated debate about Linux gaming became a whole lot louder.
My view of this issue is this: if you don't play video games under Linux, you're free to use the open source video driver without issue. On my writing rig, I'm connected to a dual monitors and happen to be using the AMD compatible open source driver. Thanks to my desktop environment's display configuration GUI, I was able to do this quite easily.
So what about users concerned about gaming and using the proprietary driver for your video card? Are you working for the enemy and feel like you're pushing back Linux goodness into the dark ages?
In my opinion, no, that is just silly. The fact is, you'd be installing the proprietary driver by choice and are free to uninstall it at any time should your conscience get the best of you. No one is making anyone game or use proprietary code.
Blobs in the kernel and effective computing
Is Linus setting a bad example? No, I'm not talking about one of his rants or flipping off video card vendors. I'm alluding to the fact that he doesn't throw a fit over distributions providing binary blobs to their distributions. These distributions date back to Linspire and this practice is still being used today with Ubuntu (among others). The trade off is you accept that your hardware device receives the firmware support it needs in exchange for overlooking the fact that the firmware is proprietary in nature.
From a practical point of view, this means you end up with a working network device, or whatever the device may be. Unfortunately, from an idealistic point of view, this is a slap in the face to the Free Software movement set forth by Richard Stallman. The repeating theme you'll see popping up again and again is principles vs practicality. Neither idea is more important than the other, since in my opinion running proprietary code isn't killing anything or dropping planes from the sky. But both sides have validity.
Bringing the community together
No matter how much I might wish we as a community might put aside angry factions pitting folks against a desktop environment, a sound server, or the inclusion of proprietary code, arguments remain. The one thing we as a community can do is to push forth the positive.
Do you think that Steam coming to Linux is awesome, and find the idea of being able to Skype friends within Linux to be awesome? Great, spend your time promoting the joy it brings, instead of blogging how backward-thinking FoSS advocates can be.
The same must be said of FoSS advocates who think that trademarks and proprietary code users should be faulted for preferring a different desktop experience than you. Instead, share your positive experiences using a "Libre" desktop and support those who make that happen.
If we as a collective Linux community did a bit more of the positive and a little less of the berating of one another, our Linux enthusiast community would be a whole lot more welcoming to newcomers. Because if there is one thing I see in my inbox every single day, it's another blog post from some "figurehead" making a big deal about something most Linux users honestly don't have a stake in.
That last statement might seem a bit extreme, but to be honest, I for one am tired of the ongoing bickering about stuff that the community will decide the fate of anyway. Trust the community's vision and let's begin quelling the divisive nature of the desktop Linux community.