Tuesday, January 5, 2010

Linux sucks!!!... or maybe not?

I have found some interesting sources lately (references listed at the bottom) related to Linux shortcomings and flaws. The sources I refer to are not the typical bashing forum posts we all read every now and then by your typical frustrated Linux newbie or Windows/Mac fanboy, but actual, well-documented articles and presentations. I have learned a lot from them, so I wanted to discuss about this matter in general, and hopefully draw some attention to other Linux lovers about it.

EDIT: I have found that some of the entries under http://www.whylinuxsucks.org/ are not that well documented. However, there are still many interesting topics one can learn from.

To begin with, I must say I had mixed feelings when I first started reading or watching these articles or videos. I am obviously a Linux fan, and I am convinced it rocks, so it is not easy to face the fact that it may actually suck. Moreover, this is especially difficult when the authors behind the videos and articles are people you know are Linux devotees as well, and they know what they are talking about.

I guess there are several main areas most of people agree are still weak in Linux: Segregated distributions, Hardware support, Audio and video managers, fragmented packaging and applications. Let me briefly talk a bit about each.

SEGREGATED DISTRIBUTIONS

Let's face it, there are tons of distros available in the Linux world, perhaps too many. That argument is difficult to defend, though, as the very nature of open source is that it is free for everyone to use and modify. The essence and perhaps the beauty of this concept is however making the Linux environment so complex that it is getting tangled in its own reins.

This excessive variety makes matters too complicated in many fronts. From packaging to application support, it is definitely not helping make things better for us Linux users. A good example of this issue is found within most of the most popular distributions and their makers. Canonical, Mandriva, Fedora, OpenSuSE... All of them release different versions of their distro using different desktop managers, which at the same time include different applications, etc. Ubuntu, Kubuntu, Xubuntu and Edubuntu are some examples of how far Canonical has pushed this concept forward.

Potential solution

I think that some common ground should be agreed upon by the biggest distro makers, the ones that hold most of the Linux user base. That common ground would quickly become a standard that most other distros would follow. Naturally, distros not following that standard would always be welcome (after all, freedom is at the core of the Linux culture), but they would be more specific and more of a niche concept. In addition, I believe the biggest distros should simplify themselves and concentrate all their power into a single, more solid and better tested outcome. For example, I believe Canonical should drop all its distros except for Ubuntu. If they concentrated all their man power into a single version, all aspects of it would benefit from such approach. It would be better planned, designed, developed and tested, and they would be able to implement more of their targets faster.

HARDWARE SUPPORT

In my opinion, this problem is twofold. On the one hand, we have the many hardware manufactures who are not interested in supporting the open source community, so they don't release their drivers. The community is then left alone trying to close the gap, and they surprisingly do many times, but ideally a more solid and complete support would definitely make sense. Having said so, to make matters worse, we have the problem discussed in the section before, which makes hardware support even more difficult. Even if a manufacturer is interested in supporting Linux, how should they go about it? Should they support Debian based distros? Red Hat based distros? Out of those, which ones exactly?

On the other hand, we have the Linux Kernel and the way it is compiled, including sections that would perhaps be better left alone. This results in strange issues, like an old version of the kernel supporting a piece of hardware which is no longer supported on the next compilation.

Potential solution

For the first problem, we can only keep pushing manufacturers so that we raise awareness about the user base in the Linux community. It is obvious that these companies will not likely support Linux unless they see a potential return of investment, but we can make them see that many people using their products would like to do so under Linux. Contact the people behind the hardware piece which is not supported for you (if any) and make sure you state your interest for Linux support.

Unifying efforts within the community would make life easier for manufacturers as well. In addition, Kernel upgrades should be managed differently, with only core components being upgraded, and others left alone for a continued period, until a meaningful update is worth the change and consequent risk.

AUDIO AND VIDEO MANAGERS

This is a specific case related to the previous two items. Xorg is a very old implementation. It attempts to be compatible with very old video devices, while at the same time trying to support the latest cutting edge hardware. Its developers are doing a phenomenal job at it, but it clearly has its shortcomings. In fact, when a new release comes from one of the main distros, we very often see people complaining about video issues. It would be unfair to say Xorg is to blame, as this matter is heavily related to the lack of hardware support and the way the Kernel is compiled, but still there is something to it.

When it comes to audio, we have way too many implementations, and it seems each distro goes a different path. This not only makes it difficult in terms of functionality, but also for users to get some kind of consistency from one distro to another.

Potential solution

Fortunately, it seems Xorg is being completely rebuilt from scratch. I anticipate a bumpy ride when it is released, as is the case with any new solution, but eventually it will shine, I am sure. I can only encourage developers with experience in this field to join forces with the Xorg team.

As for audio, I believe we could also benefit from unity. It is nice to have choice available, but there should be a standard and then choice available for users. As Brian from the video below proposes, GStreamer would be a good way to start.

FRAGMENTED PACKAGING

Also related to some of the topics already discussed is the packaging fragmentation plaguing the Linux world. This is always a subject of argument between RPM and DEB followers, each pointing at the weaknesses of the other.

The result is an extremely different environment for any application attempting to spread across the Linux universe. OpenOffice and Skype download sites are good examples of this problem, with many different packages available, almost one for each of the most popular distros out there. As Brian also mentions, this overly complicated approach forces developers to dedicate lots of time to packaging, when they should be improving the software they are packaging for.

Potential solution

I can hardly believe there will ever be a settlement between RPM and DEB followers. As a result, why not point the strengths of each and create a common package which benefits from them?

APPLICATIONS

On this subject, I disagree with Brian for the most part. I agree that the Linux community lacks certain applications that are commonly available for Windows and Mac users, but in turn we also have many they don't. I suppose this is a matter of one's experience. When I joined the Linux world, I found everything I needed and then some, so I never had anything that was frustrating for me. I don't play games on my PC (that's what consoles are built for, right?), nor I do much video editing. I don't care about the minimal edge MS Office has got over OpenOffice either.

As far as I am concerned, I got everything I need, and for the most part, it works leaps and bounds better than it did in Windows. Songbird, Tweetdeck, Firefox, Google Chrome, OpenOffice, Brasero, K3B, Ardour, Hydrogen, Sound Converter, Virtual Box, TuxGuitar... The list goes on and on!

Potential solution

Well, like I said, while I understand where Brian is coming from, I still think the application environment in the Linux world is very healthy. We have tons of applications which rock, and it just keeps getting better. Ardour, to cite an example Brian mentions, is now getting twice as much money in terms of donations, providing a fair salary to its main developer, Paul.

LONG STORY SHORT...

The main benefit from this critical thinking is that I see the Linux community is far from resting on their laurels. We have accomplished A LOT, but it is great to see we are eager to push the envelope further. I firmly believe one learns and improves more when there are problems left to be solved.

In my honest opinion, Linux is a very young operating system. It is slowly but surely improving year after year, and I am sure it will continue down that path. Just a few years ago we were all experiencing problems with modems and USB devices, and for the most part those issues are long gone now.

As long as we identify what is missing (which clearly we have by judging from these sources), there will be a target for the community moving forward. In other words, I believe there is a shiny future for the Linux desktop. We just have to be patient and keep adding our two cents.

SOURCES

Many interesting discussions about this matter HERE

Watch this GREAT VIDEO by Brian from Jupiter Broadcasting. Very clear explanations and interesting discussions!

Hope you liked this entry.

I'd like to know your thoughts about this subject!

2 comments: