/home/nand

Entries Comments


New ways to handle third party software installations

7 May, 2008 (21:44) | Ubuntu

At the moment, for an average user, it’s pretty hard to install third party software. Why?

  • The software is not shipped with the distribution package format : E.g. the software is bundled in tar.gz archives with custom command line installation scripts (such as the very new VIA Linux drivers).
  • When it is shipped with the distribution package format, it can still be unfriendly: When you are asked to enter cryptic commands in a console as root to add a repository, you know something is wrong.
  • When it is shipped with the distribution package format as a direct package download, you don’t get updates like you do with repositories.

While we can’t do much for the first problem, I’ve seen several projects trying to fix the two last problems: AptURL, AptThirdParty and one-click-installer. (I will not talk here of PackageKit, which does not seem to specifically cover the third party install issue). Some people are against those projects, citing security concerns : but I don’t think the statu quo where users are asked to run commands they don’t understand as root is any better!

But first, let’s see this from a user point of view. What are the use cases involved here?

  1. Patou see a great software on a website. He clicks on the “install now” button. The software was not installed: It gets installed.
  2. Patou see a great software on a website. He clicks on the “install now” button. An old version of the software was installed: It gets upgraded.
  3. Patou see a great software on a website. He clicks on the “install now” button. An newer version of the software was installed: It gets downgraded, after a warning.
  4. Fred want to uninstall a software. He goes to the software manager and remove it.
  5. An update of one of Bébert’s installed software is installed. Bébert gets notified and can launch the upgrade.

Abstracting from all the packaging system mechanisms, that’s the basic level of freedom I’d like to have as a user (5. is a plus).

1) and 2), and consequently 5) and 4) are the use cases trying to be solved by the above projects: optionally a repository gets transparently added, and the software is installed. Software updates are tracked, and it’s easy to uninstall the soft.

The 3) use case seems to be forgotten in all the above projects, and that bothers me. Please don’t put artificial constraints! The common dogme is that new versions are always better. That’s unfortunately not always true.

AptThirdParty seems the most promising project to me. Unfortunately there is no trace of its current status. Now let’s hope one of these projects get mature and cover all these use cases soon enough, for a much better third party software installation experience… (I know I am oversimplifying things, but I didn’t want to knock out with a long dissertation)

« Python and webcam, part 2

 Decentralized Brainstorm? »

Comments

Comment from Michael R. Head
Time: May 8, 2008, 4:35 am

One option for third party packagers is to include a file in /etc/apt/source.list.d in their distributed .deb file. That way, the user gets a file (the .deb) that can be downloaded and installed without a ‘net connection and you can still get those updates to the app as desired.

Comment from nand
Time: May 8, 2008, 11:29 am

Oh yes, quite a good system!
But that mean one link per distro and per distro version. Something I like in the AptThirdParty concept is that you get one single link, and it takes care to select the good one for you. (but right, it does not cover non-deb packaging systems, and offline installations).

Comment from BigMadWolf
Time: May 8, 2008, 3:33 pm

The current situation is not that bad for adding third party repositories into the source.list: a nice GUI is available from the System -> Administration GNOME menu (software-properties-gtk). However, your system sounds obviously better. ;)

Write a comment