May 16, 2009

Why Linux Does Not Need A Unified Package Manager

Filed under: Linux/FOSS — dann @ 9:06 pm

To me this is a very simple question to answer. Linux does not need a unified package manager when the source to the application you are using is available for you to compile on your own. Make your own package.

“Now Dann,” you might say: “Surely you do not mean for generic desktop user Joe to compile his own software?” To that I reply: “If not him or her, then surely there is someone else in the community willing to help him or her out.”

Yeah, it may be a bit of a challenge for someone to learn how to compile their own software and/or make it into a package. I understand that. But there are thousands of people out there who can, just ask them. Those of you who can, step up and assist when you are able. That is a simple way you can contribute; so consider it.

Generally, most of the software you could want will be available for the major distrobutions. Ubuntu, Fedora, Mandriva, and OpenSuse all have pretty big software repositories, chock full of software choices for the desktop user. But should you find a piece of software you want not in your repository, having access to they source negates the need for a “standard package format” since you can compile and install the software yourself; even making a package for your system if you so choose. It is only when the software sources are not available, when the software is not Free or open that the package format debate comes into play.

Case in point. I wanted gwibber for Debian Squeeze. There was no package I could find, but the sources were available. So I pulled them down from launchpad, compiled the source and in less that 5 minutes was up and running. Had gwibber been closed source, I would not have had that capability. I would have had to use a tool like alien (which is a fantastic tool) or tried to force install the Ubuntu package. Both avenues court failer and jeopardizing the system and package manager stability.

Would it be nice and convenient to have a package format that installs on Debian, Ubuntu, Fedora, Slackware, Arch and Gentoo? I could see the benefit of that; but then again that would require all those distributions to be library compatible. I do not find that appealing. I am not using Linux for convenience, I am using it because of it”s flexibility and power. Having access to the source provides that to me.


  1. Well put points that I find myself in full agreement with.

    Comment by dsyates — May 16, 2009 @ 11:00 pm

  2. Do you know that there’s a security release for gwibber?

    No? then you’re asking for trouble 😀

    apt-get upgrade does a better job than your compiling from source theory.

    You should also try adding experimental and sid
    – maybe you will be lucky enough to get a dependency problem and you will truely appreciate apt and the meaning of package managers.

    Comment by Sqeeze — May 17, 2009 @ 6:04 am

  3. You might be right. In a perfect world. Where all software comes with the source code. And user’s aren’t that lazy to compile it. But in the real world not all Linux software comes with the source code (Skype and Dropbox are the most important software for me of that kind).

    Also, unlike you I use Linux for convenience. It’s much more convenient that Vista. It just saves my time: installs faster, I can get all my hardware working with it easier, runs faster, boots faster, updates faster, has better software “out of the box”, has convenient installation of most software from repositories…

    I never compile anything, if a program is not in repositories, there’s always a .deb file for my Ubuntu, the benefit ot Ubuntu’s popularity. I wouldn’t use Linux if I needed to compile software each time. But I don’t need to. I think .deb is de-facto standard.

    Comment by Dim — May 17, 2009 @ 6:17 am

  4. @dim +1

    Comment by Iain — May 17, 2009 @ 10:35 am

  5. I agree with “Dim”, Compiling is old fashioned & in todays world, obsolete. 99.99% of users want to just install and use. Linux is now very user friendly thanks to the move to gui’s like gnome & KDE. The only other change now needed in Linux is the adoption of a single packaging system & the only one for me Is get-get (.debs) I’m sure that once this is done new users will find linux at lot more attractive.

    Comment by roadrash — May 17, 2009 @ 1:21 pm

  6. […] Why Linux Does Not Need A Unified Package Manager To me this is a very simple question to answer. Linux does not need a unified package manager when the source to the application you are using is available for you to compile on your own. Make your own package. […]

    Pingback by Links 17/05/2009: Kids in Vietnam Run GNU/Linux, Firefox Gets New Icon | Boycott Novell — May 17, 2009 @ 7:11 pm

  7. […] Why Linux Does Not Need A Unified Package Manager To me this is a very simple question to answer. Linux does not need a unified package manager when the source to the application you are using is available for you to compile on your own. Make your own package. […]

    Pingback by Links 17/05/2009: Kids in Vietnam Run GNU/Linux, Firefox Gets New Icon | All about MICROSOFT — May 17, 2009 @ 7:31 pm

  8. I’m with you Dan. Linux is great. The reason its great is because of choice and power given to the user. Most stuff is in the repos but if its not there, you can learn do it your self.

    Comment by Ron — May 17, 2009 @ 10:34 pm

  9. Since open source is all about NOT re-inventing the wheel every time, why don’t we have 1-2, or 3 or 4(…) package management systems and we have a dozen?? Isn’t it effort duplication? I would prefer having only deb and rpm with 3x times the current developers, so they would be as bug free, polished and easy to use as humanly possible.

    From the end-user perspective PackageKit seems a very promising approach, since it unifies the installation process without sacrificing diversity. I hope all distributions will use it as a front-end.

    Comment by L4Linux — May 18, 2009 @ 12:16 am

  10. My oh my you are so delusionel. You are so out of touch with reality. Poor guy.

    Comment by randomguy — May 18, 2009 @ 1:14 am

  11. In lala-land installation from source is just a sudo make && install away. But in reality you will have to hunt down libraries you need to compile and run. Then the fun begins hunting down compiling errors. Because the developer used some deprecated or cutting edge library function, you have to install a library from source too. Good luck compiling with the right options. Fun all around you. Did you ever try compiling Openoffice, gcc or GNOME? I’ll leave that as an exercise to you. It takes a while. So you have to wait while it compiles, then check the errors and then compile again.
    Let’s say you finally made it and it installed. Just wait for your next update to break your from source app or the libraries. You won’t get automatic updates for your self-compiled app either.

    And these are just the problems on your own machine. Now realize that the package maintainer has to do this too. And if it’s an important package there will be at least one maintainer for each distro. So this army of maintainers does nothing but package and compile. What a waste! So much work is done multiple times. If only the projects could provide one package themselves it would be better for everybody.

    Comment by orkel — May 18, 2009 @ 4:08 am

  12. Man you people just don’t get it do you. I am not saying you have to compile your own software. If that concept bugs you then use a distrobution where the software you want is in the repositories: Ubuntu, Fedora, OpenSuse, Debian. But invariably you may come upon a piece of software that is not in the repository. In that case, having access to the source allows you OR SOMEONE ELSE to compile and create a package for your chosen distrobution. It is in cases where the source is not available (i.e.; closed, proprietary software like skype ) that providing a package or rolling your own may not be possible and the gripe for a unified package manager comes into play.

    I have been compiling my own software for over 10 years now and I also have come to appreciate the benefit of package managers. I have used apt, rpm, pacman, slackpkg and gentoo portage to great extent. They all have their pros and cons and the developers contributing to those projects/respositories do a fantastic job. I have also felt the pain when a piece of software is not in the repository for my current distrobution and the difficulty that can ensue tracking down and installing dependencies.

    While you all have made valid points I still stand behind my statement. When the source is available, a unified package manager is not necessary. There are other, better avenues available. Those avenues come at a far better cost than the restrictions levied by a unified package manager.

    Comment by dann — May 19, 2009 @ 2:29 pm

  13. I couldn’t agree more, Dann. A lot of people don’t realize exactly how packages work. Sure, they are “just binaries,” but they are linked to shared libraries on the system for which they are compiled. That’s the reason software repositories exist to begin with, to provide snapshots with computability.

    It’s great that distros provide these great repositories for people who use linux for the convenience factor. I use it (it being slackware, particularly) because I can make my own package with a simple, easy to read (and better, write) SlackBuild script. This script uses nothing outside of common shell commands. Ever tried making a debian package? It’s terribly complex in comparison, and I’d probably switch back to windows before having .deb’s forced on me. Every distro serves its audience, and the freedom of choice is why I use linux.

    Comment by Andrew — May 21, 2009 @ 12:03 pm

Powered by WordPress.
Theme by Ron and Andrea. Modified by me, hah!. Theme images created using The GIMP 2.2.8.