Linked by Thom Holwerda on Wed 25th Jun 2008 22:31 UTC, submitted by Rahul
Linux Earlier this week, we reported on the Berlin Packaging API, an effort to consolidate the various different packaging formats and managers in the Linux world. Many compared this new effort to PackageKit, and today Linux.com is running an article detailing what PackageKit exactly is, with a few quotes from the project's lead developer, Richard Hughes.
Thread beginning with comment 320196
To read all comments associated with this story, please click here.
There is no spoon
by Moonbuzz on Thu 26th Jun 2008 09:19 UTC
Moonbuzz
Member since:
2005-07-09

I, again, can't understand the constant fetish with packaging systems. There is an overall standard, and its being in use by everyone, and hence you can take source code written and compiled on, say, Ubuntu and build it on Fedora, or Gentoo, or even FreeBSD, and to some points, Windows/Mac/Solaris/Etc.
The standards are in the programming languages, their implementation (e.g. gcc for C/C++, Perl, Python, the JVM, and others), and make for the install. Whatever Distro creator X wants to do with that, is his/her choice, package maintainers for X should not concern themselves with how packages are being handled in Y. It is sufficient that Y users can take the source and repackage it themselves.

The issue is not with GNU/Linux, or with Debian/APT, or with Ubuntu, or Fedora/SUSE/Mandrake/RPM or with Slackware, or with Gentoo. The issue is with user a complaining that his friend, user b has "this cool app running on his Linux and I can't find it on Synaptic/Yum/whatever, and why can't it be like Windows where everyone can run the same app etc. etc."

A distro isn't a "version", or a "flavour" of Linux any more than Mac OSX is a version of BSD Unix. A GNU/Linux distro is an OS. Ubuntu is an OS, Fedora is an OS, Gentoo is an OS, and so on. Microsoft delivers the OS, but not make sure third-party apps install well, or play well, or doesn't do strange hijinks to your computer. GNU/Linux package maintainers do. Microsoft doesn't make sure software that ran on SP 1 is also running on SP 2. GNU/Linux package maintainers do. The whole packaging system, from the packaging methods, the format, to the distribution and maintenance process is way more powerful and empowering for a user, for instance, the http://getdeb.net project, offering fully compatible Ubuntu packages for those who want the latest and greatest in software, and are dissatisfied with the official repository.

Bottom line? There is no packaging issue. There is the issue of Linux pundits trying to refer to GNU/Linux as if it was a homogeneous OS such as Mac OSX or Microsoft Windows, for marketing reasons, or similar, while it isn't, it's a big, wide range of OS based on same tools and standards and a on UNIX-compatible kernel, other than that, its a matter of diverging philosophies, ideals, concepts, design and opinions. Those are hard to market, but pointing the finger at the diversity of the GNU/Linux-FreeBSD as the main issue is false.

Reply Score: 3

RE: There is no spoon
by FooBarWidget on Thu 26th Jun 2008 10:51 in reply to "There is no spoon"
FooBarWidget Member since:
2005-11-11

You're missing the point. It doesn't matter whether Ubuntu/Fedora/SuSE/etc are different operating systems altogether:
1. End users don't expect them to be completely different operating systems. They expect them to be just variations, like Windows XP vs Windows 98 vs Windows 2003. The media has taught people over years that different distros are just different variations.
2. You can go against end users' expectations, but that just means they'll get pissed off and move to, say, MacOS X. And voila: even less users for Linux, and therefore less potential developers who can help with the development of Linux and Linux-related software, less incentive for hardware manufacturers to provide drivers or hardware specs for Linux, etc.
3. For me, as a software developer, it's just annoying as **** to not be able to provide distro-neutral packages. Why should my end users have to wait 2 months before my latest version, with important new bug fixes and features, are packaged into their distro? Why can't I provide my own package that works on most Linux distros? Why shouldn't I? There are technical problems surrounding the creation of cross-distribution binary packages, but the only reason why those technical problems exist is because of politics and culture.

You say that all those distros are different OSes altogether. Why should they be different OSes? Why can't they just be different, compatible, flavors of the same OS? There's nothing technical that prevents distributions from becoming compatible. There are benefits to increased interoperability.

Reply Parent Score: 4

RE[2]: There is no spoon
by VistaUser on Thu 26th Jun 2008 12:02 in reply to "RE: There is no spoon"
VistaUser Member since:
2008-03-08

There's nothing technical that prevents distributions from becoming compatible.


Ofcourse there are. The dstro makers do not wake up one day and decide to Think Different (TM) to break compatibility. newer versions of software come along, there are different technical solutions applied to real problems. All of these can cause inconsistency. Add up many different packages/issues and you get to a state where we are at now.

There are benefits to increased interoperability.


As well as disadvantages. Bigger "Jumps" in feature sets as distro's align themselves and not introduce incompatibilities in a natural fashion. Upstreams become stale as their latest and greatest are not picked up for a long time after release... potentially hiding quality issues for a year or two.

Even if there is perfect alignment, Packagekit will still not allow you to make universal binaries, just universal install methods - probably of little use to upstream developers.

@ whoever suggested that source is the universal install "package" - just write a source "backend" for packagekit. Click on source file(s), click install. People might find it useful. (I do not expect it to be that simple... can't ignore the many install options that packages havem but I guess good defaults can be chosen for atleast some of them.)

Reply Parent Score: 0

RE[2]: There is no spoon
by agrouf on Thu 26th Jun 2008 13:53 in reply to "RE: There is no spoon"
agrouf Member since:
2006-11-17

If you are a developer, you should consider using the GNU build system with autotools. Write a script to package your software with checkinstall and just launch your script at each release and the packages are automatically created for the distros you support at the same time as the tar.bz2 tarball. If the packages are automagically created with this script at each release, you users won't have to wait 2 months, they just have to download the right package you provided for their distro. Have fun.

Edited 2008-06-26 13:56 UTC

Reply Parent Score: 2

RE[2]: There is no spoon
by Moonbuzz on Thu 26th Jun 2008 14:56 in reply to "RE: There is no spoon"
Moonbuzz Member since:
2005-07-09

1. The media has taught people over years that different distros are just different variations.
2. You can go against end users' expectations, ... get pissed off and move ... even less users for Linux, ... less potential developers ... less incentive for hardware manufacturers to provide drivers or hardware specs for Linux, etc.

If all this is sincere, then you're in the wrong side of the road. I could say that if Plan9 would've ditched all the innovations they made and create nothing more than a new version of Unix, it would've been more used; or that if *nix OS' would've ditched their multi-user scheme with all that root privileges and adopt a simpler, less complex system, more people would've used it. But that's not the point.

The point is, that GNU/Linux' not about more users=more developers=more stuff. Stallman didn't create GNU to fill a vacancy, all the tools he wrote were originally clones of existing Unix software. This was made to answer his need of free software. For him, if the alternative is either non-free drivers, or no screen, he'll find an old teletype and hook it.

I don't think that either Debian, nor Gentoo, when they started, gave a second thought to losing the existing crowd because their package incompatibility. I don't think Linus Torvalds who created Linux in the first place thought about "let's make it 100% compatible with Unix so people will use it", but "let's make something BETTER." If package incompatibilities, or X client/server architecture, or the super-user, or whatever GNU/Linux has will cause users to go to Mac os is not the concern of a lot of the Linux developers anymore than saying "use VB instead of C, more people will use it then".

3. For me, as a software developer, it's just annoying as **** to not be able to provide distro-neutral packages.


That's why you release the source. Everyone can install from that.

Why should my end users have to wait 2 months before my latest version, with important new bug fixes and features, are packaged into their distro?

a: they don't. See above
b: Because the distro creators have an obligation to their (non-beta) users. Because your latest and greatest might break their screen driver, or cause the mouse to stop working, or have a security bug that will cause their systems to crash altogether. The distro maker needs to be able to say "we tested this with our OS and it is approved to work". If you, as a user, don't care about your system, fine, package it yourself. AS A DEVELOPER, I am positive you'll never do anything that will jeopardise your work system, why do you expect others to do that?

There are technical problems surrounding the creation of cross-distribution binary packages, but the only reason why those technical problems exist is because of politics and culture.


The same culture that is responsible for GNU/Linux in the first place. The same culture that is responsible for Unix and C, Perl and Python, GNU and Linux, Debian, Red Hat, and so on. That spirit is responsible for nearly everything that is good about computers in the past 50 years. If it wasn't for that culture, we'd still be working on COBOL apps running on IBM mainframes, I guess. This reminds me of a startup I knew who created a service based on GNU/Linux based free-software and then started complaining about those pesky hackers who want them to release their codes. Those politics and culture created the world we're in. The computer's interface, graphic and non-graphic, the different hardware and peripherals, the PC, today's operating systems were all created in universities and research labs, not in Microsoft's board room or in Steve Jobs' ego. You can't make your bread of it, then complain about those smelly hackers weird politics.

You say that all those distros are different OSes altogether. Why should they be different OSes? Why can't they just be different, compatible, flavors of the same OS? There's nothing technical that prevents distributions from becoming compatible. There are benefits to increased interoperability.


You're the tree complaining to the sun about the heat.

Linux is a kernel, GNU is a series of tools. X is a graphical protocol. GNOME/KDE et. al are desktop environments/window managers. Open Office is an "office suite". Firefox is a browser. GCC is a compiler collection. VI is a text editor. Bash is an interactive command line environment (shell). None of these does much on its own, so to get them all to work in a way that will actually "do" something for a user, someone needs to package them in a way that will create an Operating System. Those are called distros, short for distribution and everyone can do it the way he/she/they think is the best. These all abide to underlying standards, so whatever you spin it, if your source was created in a standard language, say C, with standard libraries and compiles and run with standard parameters on any distro, it should compile and run on others, as long as they abide the standard. Other than that, it's a free game.

And to your question, no one forces any user to use GNU/Linux, so if Linux doesn't support that user's graphic card, that user is welcomed to either buy a new card, one that's supported, or try another OS. If you chose *nix as your playground as a user/developer/else, you'll need to accept the rules. If you don't want to play, you are welcomed to try the other side.

Reply Parent Score: 1