An open request to rename Ubuntu package formats

I have a .deb file, where can I install it?

If the software package was compiled for Debian, I can install it on nearly any recent Debian release. Currently I have XTightVNCViewer installed with the Debian package release 1.2.9-21 (from the Stable branch) even though I run a Sid desktop, because this older package has functionality which isn't available in the Sid package at version 1.3.9-5. Other than some dependency resolutions, mixing Debian software branches (Stable, Testing, and Unstable) isn't recommended but it isn't difficult to do, and my experiences with it have been a rather stable setup when it needs to be done. (Let me repeat, this is not recommended nor supported). Debian releases infrequently enough that this mixing probably isn't needed much; if a package is still relevant there will be a new release for it.

Ubuntu came onto the scene a few years ago with the goal to release Debian Sid (Unstable) as a stabilized set of packages. Not to start a flame war, but Ubuntu's success in this has been questionable, depending on who you ask or your own experiences.

The repackaging of Debian was at first welcomed by many in the Debian community, but early into the project the Ubuntu developers forked and changed the way Debian works for their own distribution. This is Free Software and there is nothing wrong with that approach, although there has been much said about Ubuntu's contributions upstream.

With that split from Debian, however, came no split with the package manager or its tools. Ubuntu now requires separate package releases for each OS release; a quick stop at GetDeb.net shows that you have to search for your specific version of Ubuntu to find a package which will work for your setup. These aren't repositories to keep your software up-to-date like Debian is designed for; these are downloadable packages to be installed much like a Windows .exe file would be installed: download and double-click.

When SuSE Linux took the Red Hat package format, RPM, it led to the increase of Dependency Hell for RPM-based distributions. Red Hat, Suse, and Fedora all use RPM files but they're incompatible; without knowing which release and distribution a package was created for, that package is nearly useless and attempting to install it will lead to a failure or massive headaches when trying to resolve its dependencies. O perhaps it will just luckily work, all depending on the software and its complexity.

Ubuntu is doing the same to the .deb package format. Their frequent OS releases means that every package needs to be recompiled for that release. Applications downloaded from GetDeb.net or one of the many other Ubuntu-focused software sites may no longer work when the OS is upgraded; without a repository there is no way to upgrade the 3rd party packages. (Note: These sites provide a valuable service to the Ubuntu community, but seem to disregard Debian completely; the purpose of this Open Request is not to stop or deride these sites at all.)

Debian, on the other hand, has always used .deb files and has encouraged using software repositories for accessing new software and for keeping it up-to-date. While mixing Debian released packages from one OS release to the next isn't recommended or supported, it does work. Downloading individual .deb files for installation works but it isn't the recommended method. Perhaps mixing Ubuntu packages (from one release to the next) would work also, I am not sure.

But the real problem here is that Ubuntu is using the .deb package format and giving it both a bad name (due to dependency breakages), and its packages are named .deb but don't work on Debian, the very system that the packages were designed for.

With Ubuntu's frequent release cycle and with the nature of Free Software, the package management tools that Ubuntu uses (dpkg, apt, aptitude) should be modified to accept packages in a Ubuntu-specific package extension: .ubu files. This could happen at any release; perhaps after this next release it could be worked on, to be ready in time for the next LTR or even the next 'short term' release in order to give time for testing.

While the packages themselves may be internally identical to a .deb file, these .ubu files would specify that the packages are for Ubuntu and not for Debian. SuSE should have done that and didn't; Ubuntu doesn't have to make this same mistake. Debian users wouldn't have to be confused trying to know if a .deb file will work on their system or not. Ubuntu would get the great package management that Debian has but with better branding of their packages and software. Debian would have its branding as well, and perhaps both Debian and Ubuntu could still install one another's packages with unknown results, just as it is now.

The new .ubu files wouldn't impart any release info in their file names as they are; either the name itself could be 'packagename.904.ubu' or maybe the extension should specify the release, for example 'packagename.u904'. I don't have the answers to this, but naming separate distribution packages the same isn't helpful at all.

Ubuntu may be here to stay, but please, keep Debian's package extension .deb for Debian.

=-=-=-=-=
Powered by Bilbo Blogger

0 comments:

Copyright © 2009 - System Admin Tools - is proudly powered by Blogger
Smashing Magazine - Design Disease - Blog and Web - Dilectio Blogger Template