Linux Software Installation, Part VI: Conclusions

The arguments are posted, and there is little left to say. This is the closing summary of my article series about Linux Software Installation. You can find an overview of all articles at this page.

The bottom line is: installing software on Linux is a horror at the moment. This horror leads to some absurd, some strange and also some very mean situations. The main point for me in this regard is:

Linux is hostile to small applications and niche software.

There are tools and solutions available to make it easier. However none of them can really integrate with the underlying operating system. The best solution to overcome this situation would be the native package manager API – together with strict rules and quality conditions. But although the LSB says this will take some time I haven’t seen any progress or even any positive words about this in recent time.

The next step therefore is: to ask the people responsible for that situation. The distributors. They are in charge for the topic software installation, and as long as they don’t move – as long as they don’t want to move – nothing will change.
So, if you know some of the people: ask them. Also, ask them what they think about the arguments. As I already said: many of the opponents of such solutions don’t have a closer look at the current situation. And they tend to not see the real disadvantages: when you ever start a discussion about that topic, keep clear that you are not (even) talking about propriatary software. Not at all.

In the meantime, I’m not sure what I’m going to do with my friends. I simply cannot recommend Linux for their computers. It will not work out. They will feel restricted and limited, and that’s the last thing I want. Maybe the next who asks me will get a “Mac OS” as answer, since you can easily install software – and at least the core and some of the other important bits of the system are free. :/


15 thoughts on “Linux Software Installation, Part VI: Conclusions”

  1. Why is intergration so important with the underlying operating system?

    I actually want a clean sepearation betwen the OS (including trusted repository pacakges) and third party packages, that arn’t trusted.

  2. I already wrote about that in the arguments section – in short: when you start installing more and more apps this way you need some database to make sure you do not overwrite something.
    Also: your proposed attempt without integration is already available (there are several installers available for that) – and no one was accepted. It looks like no other way than integration will be accepted.

  3. There is a diffrence between having a database, and having intergration. And the database isn’t needed to prevent overwrites, LSB rules say /opt 😉

    I would like a synaptic like tool for manageing third party software, but I woldn’t like to use synaptic because I allready use it for distro software.

    And I don’t think intergration has anything to do with sucess or failure, its more the fact that no one uses these systems.

  4. > Linux is hostile to small applications and niche software.

    I definitely agree but I thought LSB purpose was exactly to solve this issue. If software developers only hear about “redhat” or “gentoo” and don’t have a clue about what is LSB, they’ll always tend to develop for only one of the distributions (which is at least a good start).

  5. That is the LSB’s purpose, and their makeing good progress. Portland for example is a great move allowing icons, and menu entries to work with all desktops.

    That said packageing is sort of the missing link for createing a LSB applicaiton, and the LSB mailing list for packageing has gone silent 😦

    Still Ian says the project isn’t dead so lets assume it will pick up in a while.

  6. Here we are again, you shoot down klik in flames which is the most Apple like installer and has the potential to be as good yet you say Apple has a unix installer that works. My agenda is I think that single application blobs are just so elegant they need to win out. Of course they will need LSB to get settled before they are even a possibility.

  7. @dave: I explained why klik cannot be the tool of the choice. It ignores the local package management (I know others would be fine with that – I’m not, however) and it is not suitable for libraries or services needed at startup. And I’m looking for a general purpose installer.

  8. This is a very nice series of articles. I have just started using Linux and I have already run into situations where I needed to install software and I ran into dependency hell. I am running Suse so once I figured out how to add install sources to YAST, it became much easier. I still see a huge positive to having one common installer that would work with all distributions and all packages as an option. It seems that this would lead to more widespread adoption of Linux as a desktop platform. The question remains is that really what the community wants? Sometimes it seems that some people are so protective of it that they would rather it remain a niche product than gain widespread appeal.

  9. @Dan, that is a pretty good question. But in such cases I hope that there are more people around who want broader acceptance than people who want to stay small and nice.
    Keep in mind things like Ubuntu and also Red Hat and Suse who make a living by selling support around Linux – these have a vital interest in bringing Linux to the masses, and I hop they will realize the problem of the missing software installation at some point in the future.

  10. @liquidat: Libraries would be contained within the blob so no need to manage them (this of course means libraries (apart from LSB libraries which would have a proper manager) would be duplicated but the benefit outweighs that negative I think). Services would be achieved by dropping these blobs in to a folder (init.d like folder) and inside the blob at a predefined place within would be the init.d/upstart like script. If one wanted to share the blob one would just right click to install and that would move the blob to a shared application location. I’m sure there are negatives but please voice them and I’ll hopefully think of a workable solution.

  11. @dave:

    Services would be achieved by dropping these blobs in to a folder (init.d like folder) and inside the blob at a predefined place within would be the init.d/upstart like script.

    Which kind of blob are you referring to? You started with klik, are you still talking about klik? I never heard that the current klik has routines to handle services!

    If you refer to another, not yet released version or different program please point it out. Sure binary blobs like Apple’s would be nice, also klik2 seems to have some pretty cool ideas, however such things are not available yet afaik.

    And, as already stated, it looks like a better solution would be to make evolutionary steps because the masses at least until now never accepted big steps although the techniques were available.

  12. I think Linux has the incredible opportunity to gain acceptance, but we might be wasting foolishly.

    A lot of Linux users (most of them developers) just want things the way they are, no changes, just because they like to compile their software by themselfs… and is incredible to hear that.
    They don’t want just to compile their own software, they also want everyone to do the same, because they feel that’s the Linux way.

    It is of extreme importance for Linux to have an universal installer. that would change everything…
    … Users (advanced or not) have a concept from their systems. installing the software they want is a big part of that concept (you can figure out how is that in our favorite system).

    The Linux ‘soul’ would not disappear, anyone could compile their own software it they want, but we need to complete all that concept.
    – – – –
    The situation is going to change only if some company (or group of independent developers) make a Linux distribution that solve all this problems, that way there is gonna be a proof of what we are saying.

    Personally, i’m a ‘medium-up’ user, i know how to handle deferents situations and problems, but that doesn’t mean that i doesn’t want things easier.

    OS X-like apps would be amazing. i also like the Gobolinux way, because using syslinks in anywhere they solve a lot of problems (like the dependencies hell)… It need a LOT of work, but we need serious innovation.
    The antipathy of most Linux developers is way too annoying.

    Anyway, it’s not a matter of make Linux easier for new users, it’s a matter of IMPROVE LINUX…
    … Or perhaps dislike improve?

    Really, it seems like it will never happen.
    Even my friends don’t agree whit me. I need money to make a company and do the things i want :P, i cant do it by myself.

    I hope in the future things will change, i mean the Linux community primarily.

    Great articles, good luck!

  13. > Really, it seems like it will never happen.
    To me it looks at least a bit like that things slowly change: one of the largest problems in the past was that every power user was using apt/yum/whatever – and never ever would have agreed to changing something there. But now with PackageKit arriving in several distributions at least the part of the user experience will level on each distribution. Afterwards the apt/yum/whatever question will be quite unimportant to the masses because it looks entirely the same anyway.

    As a result the “only” problem left will be the problem that you cannot simply install 3rd party software.

    And here I do have the hope that klik2 could solve quite some issues: I’ve read through their documentation and work in regards to klik2 and it looks like that klik2 indeed can make distributing software on Linux much easier. Plus, almost all of the disadvantages of klik1 have been solved in sane ways. I just hope that the team has the power to continue development and brings out a stable and trustworthy klik2 release.

  14. I have been using Linux for almost a year now, and once I installed my system I wanted to install additional software. Nothing that I didnt have on my Windows system. Skype, VLC player, Nvidia drivers. Installing these apps in Windows is a 5 min job. In linux it took me a week. Installing and looking for dependencies, trial and error with dependencies was a pain. I honestly wanted to format and go back to Windows. But I stuck with it and learned the hard way. I can see why people would not like to have a universal installer but to open Linux to people that are not tech-heads this is essential. I have a great programing background but just settling into Linux was difficult. I recently switched to OpenSUSE 10.3 and the One-Click Installation method has saved me time. More time to work and play then installing software or drivers or searching for dependencies.

    Installing NVIDIA drivers now dosent take a week but just a few seconds. Installing Skype, another few seconds. If different distros will make a One-Click method of their own then I think Linux is in trouble. There has to be a central API for installing and uninstalling software. If my grandma can install Skype on her Linux PC and talk to me in 5 min then Linux has a great future as a desktop OS.

    I will continue to support Linux and tell people about the OS, but once someone asks me how can I install Skype. They all say why the trouble when I can just click Next Next Next Finish and load the program. I really hope that the Linux guys can come up with a way to get this done. It will be a milestone.

    Love that Penguin!

  15. I am one of those who believe most Linux people (mainly the “Geeks”) or even “Semi-Geeks” don’t care whether Linux gains bigger market share or not. Remember Linux started out as a Geek toy and has always been that for years until recently, but is still mainly that.

    Linux users in general are much more tech-savvy and like playing (tinkering) with their systems. So in that regard the current system is perfect.

    From a commercial regard it is not. Normal users (let’s call them Windows-users) are generally not so tech-savvy and they still own most of the desktop market share and before big corporate companies start making software for Linux (which costs time & money) they also want to be assured that they will make money and that won’t happen until super-noobs can install software easily on Linux.

    The other thing is there are already free open source alternatives to corporate software editions. MSOffice – OO.o, Photoshop – Gimp etc. etc.

    If the Linux community really WANTS to attract more of these kinds of users (which I doubt) they will need to create an open source installer which corporate companies can use.

    I think one argument to why Linux folks might not want these kinds of users in the first place is because it would require more effort from the super-users to maintain wiki’s, forums and so forth. If you look at all the ignorant “Which distro is best” or “What software is available for Linux” being asked over and over and over again you can clearly understand the super-geek’s argument…

    (I am not one of them btw – I would say I fall just between the “student” and “super-user” categories 😛 )

    Great set of articles btw!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s