Related link: http://freshmeat.net/articles/view/774/
There have been plenty of articles about Linux’s ease-of-use. Everyone from developers to end users to the ever-commenting media pundits has something to say about it. Of all the articles, it’s generally someone who has used Linux as an new user whose opinion needs to be given the most value. This isn’t to say developers opinions aren’t valuable, but most average users aren’t developers. And even some developers are frustrated.
So what’s all this frustration complaining about? I would hypothesize that it surrounds two thing: difficult software installation (which I’ll focus on today) and too much half-baked software. Bad software design is on every of course and even some platforms themselves are poorly designed, but it’s particularly frustrating when you just spent an hour trying to install it.
There are two basic ways to install software on Linux: building from source and installing from using a packaging system. They each have their faults:
Average users simple can’t/won’t install from source.
The packaging systems are too fragmented too provide a compelling anough experience for the end user. Most importantly, perhaps, is that almost all but the “really big” software developers don’t provide easily downloadable packages (I’m particularly speaking to rpms here, since RedHat is the distro most users will probably use, or at least start with).
So why can’t simple binaries be provided, which would seem to be the simplest way to install software? I came up with two possible answers:
Developers are too lazy/indifferent to compile software for the users (this obviously isn’t the case).
Developers can’t have access to and compile for every availible platform.
Developers can’t be sure that any one user has the libraries needed to use his software. Be sure to note that this problem also plagues packaging systems.
So what’s the solution? The answer is not another packaging system. I can only believe the solution lies in standards. Here’s an outline of what would happen:
There would be layered, cross-platform standards for different purposes. So there could be:
The GUI standard (where X and interfaces to GUI libraries were availible)
The Sound standard (where interfaces to sound libraries were availible)
The 3D standard (interfaces to 3D libraries)
and so on.
There already are example of this (such as ODBC).
There are already the beginnings of this type of system (LSB).
There are projects that would die.
There is a huge rift along the desktop environment lines.
But the end user would benefit.
Is software to hard to install on Linux? Are multi level standards a possible solution?