Those of you not familiar with Linux won't be familiar with the way it lets you install new software. After 12 years with Linux, neither am I.
And I think this highlights a serious problem with the way that open-source software has developed and how it can grow. The problem is choice – one of the most touted and noble reasons for using Linux in the first place.
Article continues below
For general use, there's too much of it. It's often overwhelming, needlessly complicated and an easy excuse for change. Choice goes hand-in-hand with redundancy and duplicated effort.
Recently, the Fedora distribution decided to dump its long-standing photo manager application, F-Spot, in favour of an upstart called Shotwell. Shotwell doesn't have anywhere near the features, stability or stature of its precursor. But it doesn't use Mono either – the .NET-inspired framework that many people love to hate thanks to its third-party association with Microsoft.
As a result, thousands of new Fedora users are going to think that the best photo management application on Linux has about as much functionality as Microsoft's image preview.
Loss of freedom
The problem is that if the wider community can't decide for itself what a solution should look like, the power to make those decisions will be taken out of its hands. And losing the ability to make those decisions is a loss of freedom.
If we could all agree on what should be the default photo manager for a certain distro, it wouldn't matter whether it was initially inferior to its competitors. Everyone would work hard to make it the best, and the same is true of music players, word processors, image editors, text editors, desktops and even package management – the latter being a microcosm of all that's bad about choice.
Package management is the art of getting software onto your Linux box, and there are as many ways of getting software onto your Linux box as there are boxes. The easiest method is to trust in your distribution's package manager, and hope it has the application you need with the version number you're after. If not, things are going to get messy.
You might want to use a third-party package, created by a helpful member of your distribution's community. But this runs the risk of becoming a security nightmare if you don't completely trust the source.
Finally, you're left with the hardcore option – compiling your own binary. But when doing this, you'd also need to make sure you'd compiled the development libraries for all the other shared components your original binary required. This is a pain.
Most of us are utterly confused by the options, and we'd just like a decision to be made on which is the best. It's inexcusable for an operating system that's hoping to take on some of the largest technology companies in the world with nothing but some free beer rhetoric and a penguin.
If there wasn't such confusion over package management, there wouldn't be any need for Google, Palm/HP or even Canonical to come up with their own solutions. They would have followed the standard, just like the rest of the Linux ecosystem. And in not forcing those decisions, we've lost the ability to decide how packages are going to work across all versions of Linux. But this might be just the beginning.
Mobile phones are the biggest growth market for Linux. In mid-June, Google's Eric Schmidt claimed that Google was activating 160,000 phones per day. Each one of those phones is running a locked-down version of Linux.
Thanks to Apple's approach to its own platform, where third-party development and even the launch icons for third-party applications are controlled with an iron fist, other manufacturers may start to equate control with future profit, and then we really will be left without any other choice.
Many Linux users might baulk at the idea that their distribution is sharing geolocation data with the world, just so the world can send you local ads, as with the new iPhone OS. But a recent report by SMobile Systems suggests that up to a fifth of Android phone applications perform all kinds of nefarious, privacy infringing tricks.
If we'd had a global package manager, and a way that we could all share and install the same software, this might not be such an issue.
We might have given up a little choice when it comes to how things are installed, but we'll have gained a whole lot more choice where it's important: the freedom to run secure, safe and supported software on whatever platform we choose.