In a nutshell: There are too many variations, and although Linux has very good package management systems, it isn't enough.
Okay, first off I would like to say how much I love Linux - it opened up a whole new world in computing for me (BIOS, partitions, filesystems, and a whole lot more). However we all know it is not the most popular operating system - but exactly why isn't it? I believe it has quite a few main problems, mostly relating to incompatibility with itself:
- There are multiple installer package types (.deb, .rpm, .tgz, etc) - this means that packages are not very compatible between distributions.
- Programs handle stuff they shouldn't (Gnome handles the background, Gedit handles syntax highlighting, Firefox handles it's icons, etc) - this makes would-be-simple tasks such as setting the background or changing syntax coloring hell for programmers, and therefore such programs tend not to be very compatible between desktop environments.
- Settings are spread across different systems (/etc/default, gconf, etc).
- Branding: Ubuntu (most people I've talked to think it sounds weird), the Gimp (is this a joke?), and more.
Linux lacks commercial software, to get commercial software on Linux we need to make it as easy as possible for companies to sell software on our repo's:
- Create 'FOSS' packages and a FOSS master-repo' - FOSS packages can be uploaded to the FOSS repo' and automatically be converted into various package types and distributed across multiple distributions.
- Make it possible to create installation CDs that are compatible between distrobutions.
- Introduce a commercial packages scheme - setting up a system that allows users to pay for packages should encourage companies like Adobe to port their packages to Linux. We could also add a donate feature to help support open-source packages. - In Progress
I admit that one of the main reasons why Linux is not very popular is because of Windows' monopoly, but it is partly because Windows is better for the average user. What does everyone else think?