Open Ballot: do we need a standard package format?

TuxRadar

We all know that "choice is good", but does that extend right the way down to the very fundamentals of our Linux lives? In our next podcast the Open Ballot question is this: should we standardise on a single package format, eg RPM or .deb?

If you haven't participated before, the rules of our Open Ballot are simple: we want you to answer the question with a simple yes or no, backed up with the deep insights and reasoning that led you to your answer. Do users really care about package formats? Would it make much of a difference even if we did have a standard? Please also provide a name other than "Anonymous Penguin", because it sounds silly when read out lots of times. Let us know what you think!

You should follow us on Identi.ca or Twitter


Your comments

No

Nobody needs a unified format. Everybody should just use `alien` to convert packages to their native format if the owners can't be bothered to package it properly.

Different distros choose their package managers carefully. Each one has it's pros and cons - RPM is slow but quite flexible. DEB is quicker but is a complete mess :)

One more thing: YUM is written in Python. Take that, Paul!

Abolutely

Not only will it be simpler for users, it'll also save app developers and packagers loads of time.

--
Mayank Sharma
geekybodhi.net

No

Part of the joy with linux is that we can go in all this different directions. What is needed tho is for newbies on linux not to need to know the differences that exsist for them to install software and codecs - so in short its a distributors problem to sheild newbies from all the joys
of linux :)

Universal package management

I have had an idea for Universal package management for some time, just like the way that fluxbuntu and other ubuntu minis can do apt-get install ubuntu and you have a complete ubuntu distro, imaging if you could do from ubuntu: apt-get install open-suse, well that is probably a bit OTT and there would have to be different versions of each package for each distro but I think one of the highlites of Linux and one of its advantages is that it has a great way of installing and removing apps, and it is needed because it has doesn't have a standard libraries installed and because of its fast development pace. I have heard that some people think that there are too many distros and I think having a universal package management tool will bring them all together, and it will be easier to make your own distro, you can just get a linux kernel iso loop mount it and just apt-get install the packages you want and edit a couple of configs, just the same way you can customise Ubuntu like was it Mike did on the LXF DVD's.

Not black and white.

Well, you've got to remember, that if people want to create their own distro, they need to get packages. And they're going to attract no users with the good ol' fashioned Tarballs.
But at the same time, Ubuntu, Suse and the likes are making their own (.Deb, .Rpm)! So, are we falling into the trap of making a single large distro with one filetype? Because no one will download that new distro with tarballs, they'll download the simpler one, the .rpm, the .deb!
But, then, we come down to 'Should we use a single distro?'.
If you ask my opinion, one filetype would be a kick in the right direction for linux.
Thanks, Pádraig. (pronounced Poor-drig, seriously, you will not believe how many people make the mistake of calling me pad-ray-g! :P)

YES

Come on, this is what everybody has been waiting for!

No. Following are my reasons

No.
Following are my reasons :
- It would lead to a major re-design of Distros not using the choses package management.
- Repos with data amounting to Gigs and gigs will have to be replaced.
- No point in splitting the respective package manager's followers/fans
- What's next standardizing Apps like text editors to choose between Emacs , Gedit and Vim ?

No

If you tried to unify it the different groups will probably want to preserve their own code. So a compromise will be reached where they will set up a common package standard group with some funding. The new way (DREM?) will be under development until they put out code that is slow, a bit less of a mess and as a bonus unstable as well. Debian will schedule it for inclusion just after ext3 runs out of dates. The rest will ignore it till it goes away.

No

This would limit the liberty of choice

Would it make any difference?

In a discussion regarding this and other downsides to Linux, it was pointed out that it doesn't matter which package format is used. You can always use 'alien' as the first poster noted, but the real problem is the underlying architecture of each distribution.

I think the solution is things like Linux Standard Base and then a user friendly front end to 'alien', as well as using solution like PackageKit besides the distributions other packaging tools.

It Depends!!!

I think it depends. If we were to choose one package format over the others, the developers won't exactly be happy if their format loses. BUT if it makes life easier for new users, then I'd be all for it.

I'm using Ubuntu and apt-get at the moment, if I was using Yum, I'd be happy, or RPM I'd still be happy. What I think really matters is whether the applications exist.

It doesn't matter, but then you lose the freedom that you get with choosing Linux as your distro of choice.

No

There's really not much point. Mandrake, Red Hat and SuSE all use RPM but you can't install a Mandrake RPM on SuSE system. The only advantage of using 1 package management system is so you can package software once and have it install on any system, take that away and what's the point.

Oops

Sorry, that shows my age, obviously the last post should refer to Mandriva not Mandrake.

Sorry

No

I would say no, mainly because I don't think it would make much difference. Take a look at Skype's download page for linux for example, 8 different packages labeled for different distros, multiple debs, rpms and a tarball. Are there differences between the way different distros handle the same package type? I don't know enough to say but i would assume it's different enough for skype to have different files.

Perhaps if Ubuntu hadn't come along and boosted the .deb file's usage then rpm would have become the standard by default, it being used by the biggest distros.

YES

And .deb is the way to move forward.

No

It would be insane to standardise on one format.
We need two formats to compete, otherwhise no or little progress will be made. Look at KDE and GNOME none of them would be what they are without the other.
Competition is good.
What would be better id to have the fsh standard so good it woulf be possible to install any rpm on any rpm based system and of cause the same goes for .deb. It would also be good with a simple way of translating formats.

No...

...BUT, we need some GUI package manager that is really simple to use and compatible with both .DEB packages natively, and RPMs via alien (obviously the other way around on RPM-based systems). So a user can just download anything, click it, and it's installed.

Yes!

I think the whole system needs to be revamped. Not only do I think we need to standardize on a single system, but I don't think the system that we need to standardize on exists yet. My whole complaint can be summed up in one sentence.. "If you used it to develop the program...INCLUDE IT IN THE PACKAGE!!" We can make it smart enough to not download things you don't need, but everything the program needs to compiler or run should be available from the same source as the original package. I have problems sometimes getting the packages and libraries I need to install a program and I'm a programmer and daily Linux user. The average user would just have to give up most of the time and not use the program. I use Fedora 10 so it's not like I don't have a wealth of packages and libraries available in the package manager either. This doesn't happen in other parts of our lives, you don't goto the store and buy the frame for your refrigerator and hope that your kitchen has the missing pieces.

Standardizing is a good thing. Look at C++ for example. I'm sure people were irritated when their features or input weren't including in the standard but nobody wanted to go on letting the compiler companies decide what was allowed and not. If we standardized today nobody would remember in 10 years and developers and users alike would be the happier for it.

Don't we have one

Don't we have one already.
I've download many <package name>.bin files which i install by doing:
su -c 'bash <package>.bin'

If we modify the package managers to work with these files aswell we can get the best of both worlds.:)

No...but

No I don't think we need a standard Linux package. Diversity is a good thing.
However, I do think that it's important to point new users to one particular distro to start on. Ubuntu seems to be the frontrunner given its popularity on netbooks and its apparent ease of installation and use.
After they've mastered that they can move on to another distro if they wish.

I think so

What I want is not depends of distro that I'm using.

I want download a program and install it in the computer without worry about if the package is compatible with my distro or not.

I want to develop a program that I can distribute my binary without worry about what distro I will make it for. I don´t want to be dependent of distro companies approve to see my application available for users.

For me, that is be free.

If there is a way to make it and keeping actual package systems differences, great! But I don´t believe in it.

I think so

Sorry... I forgot to put my name.

Yes! ... well sorta...

I understand the naysayers perspective, but personally after using ubuntu for a couple years ( and debian before that ) I am spoiled by the ease of apt-get. It has made it relatively impossible for most other distros to steal my heart.

HOWEVER, I agree that enforcing some sort of standard is against the very spirit of what Linux is... SO... I'd propose a compromise:

Create a standard USER INTERFACE for package installation: synaptic, whatever. Develop the code behind to support multiple backend repository systems. YES, this would be a lot of work (though not necessarily all features would need to be represented for all backends).

The result being a standard packaging system (as far as the desktop users go anyway) while terminal users still have the full functionality of their preferred system.

No

Why this obsession with dumbing down or making simpler? All the open ballots have been the same - unify KDE and Gnome, have one distro for netbooks, dump OpenOffice. Why are we even discussing ways to attract more users which will annoy the core base?

The only argument for a unified package format is that it will minimise a team's workload. The pros are outweighed by the cons.

Yes but...

I would say yes, it would offer the benefit to a new user to not have to worry about file types etc.

But I can see the problem of having the different files for different distro's, so how about a compromise?

A single file format, but one that can be limited to specific distributions (e.g. .xxx file (new user knows this is for linux) but only for Ubuntu and Suse (warning given by company supplying).

I'd rather keep the

I'd rather keep the different formats and create a "reverse" PackageKit. This would be PackageKit for packaging - making packaging for several distros easier...

If both "anti"-PackageKit were made, only the developers of the package systems would have to care about the different formats, their pros and cons...

Yes please.

Yes and it should be ended with .EXE. In that case every user would immediately know what is it for.

Yes. Exactly what

Yes.

Exactly what "innovation" is competition spurring? Correct me if I'm wrong, but there hasn't been any real innovation in package management in about 15 years.

No

As long as the distros have good tools to install and update, I don't see any reason for conforming to one standard.

LSB says (yes) RPM

0. Quick answer: yes.

1. I would say rpm from rpm5.org which uses xar for the archiver is nicer than BOTH rpm and deb formats. We should make it transparent as possible by making yum, yast, apt-get and other META package managers work with the new format.

2. All the distros should move to lzma as well for better compression and speed. The xar archiver supports different compression for different files so we should figure out the best for each file and use that.

3. The packages wont be cross platform until we standardize gcc versions and libc versions so let's do that too from time to time. It is much more important than synchronizing release schedules as M. Shuttleworth is focusing on.

4. If there is anything else obvious that will make packaging easier such as reducing dependencies where possible, it should be done too.

5. Proprietary software should be easier to integrate with distributions. Maybe a directory of proprietary repositories should be available.

YES

Common guys, nobody want to limit your freedom of choice...
But standardization is really good thing.
For example, look at the manufacturing or all those ISO standards or something...

Not format, certainly

Isn't this pretty close to the "Should we standardize on a netbook distribution" question? And the inevitable answer is "Sure, as long as the format is .deb using Apt-frontend X". Question is, who exactly should do the standardizing. As anyone who knows how the community works would agree, if all but one package format were slashed, new ones would pop up like mushrooms.

Absolutely!

3rd parties won't probably bother if they can't just do one for all, it takes too much effort.
They would be more likely to do it if they could just make a Linux package and not worry about it. It would be handy if there were universal repos about as well so people could just go and get what they wanted without having to compile from source, as there are still things there. If one wanted to make a package they would just submit it to the server and it would package it nicely along with static format for 3rd parties dependencies removal (phew) and people to be able to download without downloading anything else! Think how much less of a hassle that would be! I want the linux package. OK. Here you are. See? Done. And it installs quick too, taking the best bits from yum and rpm and still having the freedom to use whatever frontend you wish! Everybody wins!

Choice vs. Standards... and yes

Ah... the old rub where freedom meets up with standards. The next Open Ballot may as well be about whether or not to use convention over configurability was a good idea for Rails...

For this question, I'll support a standard package format. A number of the arguments here seem to deal with the practicality or politics of switching, but to me that isn't the issue. From an end-user perspective, I can't imagine that anyone cares whether or not they get a deb or an rpm. They might care about the tool, but not the package itself. From a dev perspective, the question is a bit more difficult given Linux's diverse goals and ideologies, but I'd still think software you only had to bundle once would foster more creativity rather than hinder it.

Basically, if openSUSE provides a build service in order to make this effect basically happen, then I think there's substantial enough demand to move to one standard format.

Yes.

Every now and again this question pops up. Whatever happened to autopackage? I think this is the weakest area of linux at the moment, having to hunt round for deb or rpm's or face the prospect of compiling from source (what a pain!). With Ubuntu becoming the distro of choice for most newcomers, and with so many distros being based on debian/ubuntu, I think things will standardise on deb's anyway.

Only under one condition.

I agree to standard packaging, as long as it's pacman of course.

is it biased to no?

I think i am seeing more noes than yeses :(
So I am going to try to take as much of both sides of the argument into the equation:

Lots of people seem to say that it will force them down one route and I think even if it is universal there will still be different versions of software for each distro with different patches, i.e. the packages will still not be cross compatible so there will still be more than one way to go. It might save developers time if they make a 'base' package and then distro people add the patches themselves, but otherwise there are already package making tools

If this is going to happen it will take some changing of code, but that is inevitable, we are doing it all the time, if we just stay the same way Linux will never get any better. If we can use alien to convert packages already then there is already some cross compatibility and all of the packages in the package servers won't go to wast, what is to say that you can't have two package managers on one distro?

There are advantages to both RPM and DEB but if we make a new package manager it will probably have to be just new code and then it can sit alongside older package managers until they go out of date, it will also prevent RPM vs. DEP wars etc.

It also doesn't have to be a 'file format' it can just be a set of guide lines, I think if Linux is going to go mainstream then what we need most is a set of standards, it doesn't matter how you implement them there for giving diversity, but it stops incompatibility and allows lost of distros, big and small, to co-exist with out the best one with all the features taking the market.

I think having package management is a really good way of installing software, far superior to windows' go to website > download app > follow wizard > install > run. On Linux it is Install > run and weather we have a standard package management system or not (you can probably tell I want one) We should be proud of the system we have in place already!

Do we want to preserve choice/freedom? Then Yes!

I think this is somewhat counter intuitive in that by standardizing the package format we actually help to improve choice. As Ubuntu continues to grow more popular developers are going to have incentive to package their apps as .deb since that is the largest market share. This will make it harder for those who are new to Linux to use anything but Ubuntu.

If we want to preserve choice and provide a variety of options for Linux users we need to make sure that it is relatively easy for new users to move between the various distros without a major learning curve. A standard package format is one a great way to do that.

No. There's just no point in

No. There's just no point in that.

The difference between package managers (for newbies) could easily be eliminated by a standard GUI front-end.

But the difference between distros - the ones preventing Mandrake RPM from installing successfully on SuSE, just like David Petticrew said - will not go away easily, unless we enforce a strict compatibility...

Tarballs, .deb and .rpm are standards de-facto, and it will take a really good new format and tools to overcome that. And it will take lots of time to develop and properly debug it all - a few years at least. Is this really worth such an effort?

Yes, but...

as mentioned, if we wanted a truly universal package format, there would be much more involved than just settling on .deb or RPM or something else. I don't see the "preserving choice" argument if it's limited to just the packaging format. There's been no significant progress on that front in a least a decade, as far as I can remember.

Unfortunately the real problem is that just having all RPMs, .debs, etc, would not magically make us able to put a .deb into Puppy or a SUSE package into *Ubuntu. It's in the file locations, compilers, and basic package mix used by each distro where the problem of limiting options arises. If every distro tries to conform so as to allow any package, from any source, to work seamlessly, it will have to significantly change its basic structure. At that point the concerns about diversity and innovation become relevant.

So, ideally some kind of universal package format and repository would be a giant step forward. When you think about the details in the real world, though, it's pretty much impossible to find the road from here to there.

So I hope somebody figures out how to do it, but it won't be nearly as easy as the question implies.

YES! And include BSD.

Don't curse me! I think we would benefit from an universal package format and so would distro's. Main reason I don't use some distro's is the ease of package installation and dependency issues. IMHO this would help people break the Windows addiction.

No, however...

We need an easy way to convert between package types, such as the 'alien' program included above. Different package types need to be well documented, easy conversion by both CLI and GUI needs to be avaliable.

And yes, differences between distros is an issue. But Debian packages can run on Ubuntu, Ubuntu packages run on Mint... that doesn't seem to be where the problem lies. RPM, on the other hand... sigh.

Choice is important, but only if good choices are available :D

Undecided

Each manager seems to have its fans and detractors. How about a command-line "wrapper" script so that no matter what distro you were in you'd type

package install name_of_package

with the script taking care of executing apt-get/yum/rpm/whatever

I'm sure that with a little thought it could be arranged so that the default package manager for a particular system would be specified in a .ini file somewhere. This file could then be referred to by any gui interface.

Or has this been done already?

NO

We have packagekit now, so it does not matter the package format.

Linux is about choice, if you find that someone does something better than another group, you can adopt this. If you find Apt with Debian to be better than YUM with RPMs, then you should be able to choose.

YES - KISS

In the words of the good old engineering maxim, KISS ~ Keep It Simple Stupid. Try whenever possible to keep the basics of the system simple and standard; just as long as it doesn't throttle future development.

NO. That makes things easier

NO. That makes things easier for everyday users, and makes geeks seem less clever. That would NEVER do!

Need? Yes! Get? No!

Well, it would be jolly nice wouldn't it. But, let's face it, it isn't going to happen.
Let's imagine that I create the "Universal Software Installer" and manage to persuade all of the distro vendors to use it (yes, this is pure fantasy), the following day someone will create a Linux distro that doesn't use it, just because they can, and the day after that someone will complain that they can't install USI packages on that system, or that system's packages on any other distros.
A stricter LSB so that package conversion tools would be more likely to turn out compatible packages is probably the best one can hope for. That and perhaps giving the much neglected Checkinstall some love. Checkinstall is a pretty easy way to create packages from anything you can successfully compile and any such package you install will be registered in your package manager's database, which can prevent some problems, in my experience.

If so...

If so, then my vote is for .deb.

No

I don't think we need a universal package format because actually it is the wrong question!

Essentially all a package is is a tarball with meta information. Hence it is possible to convert from one format to another with alien. Package Kit will hide the top level distinction between rpm, deb and tgz.

It is in the middle that the true problem lies: each distro is different, even with Linux Standard Base there are subtle and important differences of library versions and package dependencies. I don't think this problem is easily solvable (or LSB would have solved it by now!) or that desirable.

Standardising on which package to use makes no difference unless the dependency and versioning are aligned across all packages.

Kev

No. Choice of RPM or DEB is

No. Choice of RPM or DEB is already pretty good.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

CAPTCHA
We can't accept links (unless you obfuscate them). You also need to negotiate the following CAPTCHA...

Username:   Password:
Create Account | About TuxRadar