I have been using various Linux distros for many years now. One of the benefits is that I’ve seen many things improve and have been there to celebrate each success as it happened. Unfortunately, like any modern operating system, even the most modern Linux distributions are not without their challenges.
In this article, I'm going to share the biggest issues I've experienced over the years. At no time am I disparaging Linux on the desktop. Rather, I hope to start a dialog so that some of these issues can be addressed.
With the rise of mobile devices taking the spotlight from desktop platforms, getting Linux adopted by the masses feels more challenging than ever. Why does this matter? Because I think having Linux as an alternative desktop option adds value for a lot of potential newcomers.
The next biggest issue besides mobile devices flooding the market is the missed opportunity disenfranchised Windows users never hear about – Linux! Setting aside technical barriers for a moment, the fact is most people only know of OS X and Windows. This is largely because no one is spending big ad dollars on Linux promotion. Most people that are introduced to Linux on the desktop are doing so by chance.
Solution: I can't in good conscience suggest that there is a solution to this. Even if we could magically zap computers with Linux goodness, when it comes time to get a PC repaired, folks are left with Windows-biased technicians. The best course of action is to accept that this will be a grassroots effort that won't shatter any adoption records.
To be fair, software projects are abandoned on Windows and OS X too. But it does seem to hurt more when it happens to a Linux project. I've seen this happen with Twitter clients, Webcam software and other non-critical applications. This may not seem like a big deal on the surface, but there have been abandoned projects that really bugged me for a long time.
Ideally in the Open Source world, this problem is addressed by someone choosing to fork the project. Sadly this doesn't always happen (I'm looking at you, GNOME Nanny). Where this rubs me the wrong way is when we're trying to get something done, locate the perfect application...only to find that it's no longer being developed.
Solution: Figuring out a way to make adopting existing code a bit more transparent would be a good start. Jono Bacon has some interesting ideas, but I think it's something that really needs to be looked at for the long haul.
One area that I have gone back and forth on is the level of fragmentation within Linux distributions. On the one hand, I love being able to jump from distro to distro for new experiences. Unfortunately software developers for Windows and OS X do not like this.
Acknowledging that there are exceptions ranging from Steam games to Skype, overall most Windows and OS X software tends to avoid Linux altogether. Why, you might ask? Because according to the developers, fragmentation within the Linux community makes it pretty unattractive. Is this unfair? Perhaps, but at the end of the day the result is the same – no Photoshop, no MS Office, and no (insert software title here).
Solution: I have to admit that I'm on the fence with this issue. On the one hand, I don't rely on any of the "missing" software titles Linux newcomers might expect. But I'd be a fool if I tried to pretend like this isn't a deal breaker for some people. There are a lot of people that need certain legacy software titles. According to the developers of these apps, fragmentation is a big reason why they don't try to port their software titles to Linux.
Personally, I'm in the camp that believes that developers could do it if they simply chose a distro and stuck with it, but alas, that would again point straight back to the fragmentation issue. Even if they chose the most popular distro, they'd be missing out on users from others Linux distributions.
Reported market share
This easily fits in nicely with my above point. The difference between reported market share and fragmentation is that one is accurate while the other is perceived nonsense. Say it with me folks: The reported market share myth is higher than the "stats" have indicated in the past. The truth is no one actually knows. The Linux community don't issue licenses or sell traceable pre-installed PCs with Linux. Notice I said traceable, there are a number of vendors that sell Linux pre-installed.
Regardless of this fact, the consensus of a tiny market share remains. And like with the issue of fragmentation, this doesn't help matters much when Linux users are trying to convince a developer to port a game or software over to Linux.
Solution: I believe asking for a cited link when someone spouts off Linux adoption numbers is a good start. But in the end, there isn't anything we can really do about it. For now, we're left with making sure we reward developers that support us. This means participating in crowd funding opportunities, along with promoting our favorite distribution at ever opportunity. This doesn't do much for reported market share, but it does let others know that we Linux users are a passionate bunch.
Getting the latest software
If you use Arch or another related distribution, this doesn't apply to you. However, if you use a release-based distribution, getting the latest software version usually requires some extra work. For Ubuntu, this could mean looking for a PPA (personal package archive) that contains a later version of your desired software. For other distributions, it might make more sense to simply put a package together yourself. However you slice it, the situation sucks for release based distributions.
Now assuming you're able to put together your own package or find a PPA that works, there is no guarantee you won't run into dependency issues. Yes, even today, if you roam outside of the prescribed version of your repository software, you run a chance of hitting this roadblock.
Before we go further, I want to be crystal clear. You will not, ever, run into a dependency issue if you stick to the vanilla repositories found with distributions like Ubuntu. It's when you are looking to upgrade your software beyond what's released for your distro version that you'll run into hassles.
The obvious work-a-round for more advanced users is to do what I do – run a rolling release distro along side my fixed release distribution. This gives me two great options and promises that I'll have zero downtime if I do something stupid.
From a practical standpoint however, this isn't going to fly with most people. And most people don't have the knowledge or the interest in maintaining a rolling distribution that sees multiple package updates daily. This isn't my opinion, this is based on my experiences with people I've switched over to Linux and what they prefer. This means that they're going to be stuck with those older software packages. Good for me as it minimizes my support calls, bad for them if they are chomping at the bit for a new feature.
Solution: The software packaging landscape is always changing. Ubuntu, for example, is rattling the cage is this space. But for now, the only way around this is to opt for a rolling release distribution. Fine for some, not so much for others. I guess it comes down to each user's perspective as to what they value the most.
The latest hardware
Linux hardware support blows Windows and OS X out of the water. This isn't a debate, it's a simple matter of reality thanks to the Linux kernel. Legacy hardware is the secret, since Linux does such a great job at supporting both current technologies in addition to the older stuff. While other platforms usually give you about a five year shelf life, if even that.
The flip side to this is that when you purchase a brand new laptop, one that was released a month or two ago, your distribution might not be compatible. For Arch users and other bleeding edge distro users, this is less of an issue. This means when you buy a brand new computer, you need to be absolutely sure it's not "too new," otherwise you may be waiting for the next kernel update.
Solution: This one is pretty obvious – research and wait a little bit before buying. Speaking for myself, I've never purchased a new computer where compatibility was an issue. But with some of the latest laptops and video cards, there is always that risk.
Lesser of two evils
With the exception of ChromeOS, nothing is completely foolproof. Any operating system can have issues. The issues I've listed here aren't the usual drive-by complaints you might read about elsewhere. These are real, ongoing challenges that we can either choose to accept as they are or deny them in their entirety.
Despite its challenges, I think the latest batch of Linux distributions offer a fantastic user experience. Linux distributions can offer us oodles of free software and complete control over the operating system down to the metal. And, best of all, a fantastic community to share our issues and success with.
What say you? I'd love to hear about some of your Linux related issues and how you've overcome them. Did you find it to be a learning experience or instead, did it send you back to those other operating systems? Hit the Comments, share your experiences.
Photo courtesy of Shutterstock.