rpm5.org versus rpm.org

January 6th, 2008 by Ralf S. Engelschall

Unfortunately, there seems to be still great confusion about the “official” RPM. Although I’m strongly biased, let me tell you my personal point of view…

History: The First 10 Years

RPM originally was the Red Hat Package Manager, as it was invented in 1996/1997 by the Red Hat employees Eric Troan and Marc Ewing. The Red Hat employee Jeff Johnson in 1998 joined this RPM developer team and for over 10 years was the primary RPM developer as Eric Troan and Marc Ewing already very early focused on other projects. RPM since its earliest days in 1996 stayed in a CVS repository, which until 2007 was located on the public server cvs.rpm.org. Even after Jeff Johnson already left Red Hat in 2005 (at the time of RPM 4.4.2) he continued to maintain RPM on cvs.rpm.org in his freetime as RPM already evolved into a Open Source style project, was licensed under the LGPL and since a few years even was officially Red Hat independently named just RPM Package Manager (RPM).

Until spring 2007, Jeff Johnson this way actively released RPM 4 versions up to version 4.4.9 from the original cvs.rpm.org code base while Red Hat previously forked the code base (as of RPM 4.4.2) into a new Mercurial repository hg.rpm.org but stopped any activate development on it for a longer time. Hence there was great confusion about the status quo and the future of RPM, as on one side we had Red Hat with the practically dead www.rpm.org (website) and hg.rpm.org (repository) and on the other side there was Jeff Johnson with the still actively maintained RPM on wraptastic.org (website) and cvs.rpm.org (repository).

Relaunch in 2007

In spring 2007 our OpenPKG GmbH decided to upgrade OpenPKG from the ancient RPM 4.2.1 to a newer version. We immediately got also faced with the confusing situation and had to decide what RPM streamline we want to follow. As we believe in strong code and not politics, we decided to use Jeff Johnson’s code base. It simply was the better one and it was pretty clear that nobody really knows the rather complex RPM better than its long-term developer Jeff Johnson.

Unfortunately, Jeff’s infrastructure was rather weak and the visibility of his RPM was mostly zero outside the usual RPM expert community. This was an obviously too uncertain and weak terrain — onto which we especially not wanted to just base the next version of OpenPKG upon. Hence we decided that in order to use Jeff Johnson’s RPM we first had to support him with a completely new and stronger infrastructure. While we prepared this relaunch from the infrastructure side (where we even migrated the original cvs.rpm.org code base), Jeff Johnson and a larger team of long-term RPM hackers around him proposed a new RPM roadmap towards the next version: the idea of RPM 5 was born and its roadmap later was publically announced once the new infrastructure was in place under rpm5.org.

Then, over a timerange of about 7 months, really a lot of efforts where put into the development of RPM 5, by both Jeff Johnson, the OpenPKG GmbH and all the other long-term hackers in the existing RPM community. For instance, I completely revamped the RPM build environment to make it maximum portable, Jeff integrated XAR format support into RPM, and all people together fixed hundreds of small bugs and unclean areas, etc.

Finally, rpm5.org was able to officially release RPM 5.0.0 just a few days ago. And our OpenPKG in 2008 is finally also in the process of upgrading to this brand-new RPM. We are very happy about the progress and results at rpm5.org

This new RPM 5 IMHO is really the best RPM which ever existed in the last decade as it is the first really portable and vendor-neutral RPM. It also comes out of the original code base, but at the same time this code base was dramatically cleaned up and further improved over the last 7 months.

The “official” RPM Brand

Now just remains the question of many people about which RPM is the “official” one, the “real” one, etc. Well, from my totally biased personal perspective I think it is the new RPM 5 from rpm5.org for the following simple reasons:

  1. RPM 5 from rpm5.org uses the original code base and still drives the original RPM CVS repository — after the infrastructure relocation it just now lives on rpm5.org instead of cvs.rpm.org.
  2. RPM 5 from rpm5.org is still developed by the original long-term RPM developer Jeff Johnson and the larger team of long-term RPM hackers around him. There was also not even a single gap of the code base maintainance for over 10 years now.
  3. RPM 5 provides the larger set of new features and especially addresses the larger scope through its portable cross-platform cross-vendor approach. This way RPM 5 is the more open and future-proof direction.

So, although I personally do not care about this subtle fact very much, if people think it is important to decide who has the “official” RPM, in my opinion those people should decide on their own, but at least keep in mind that code in the Open Source software field usually belongs to those who really care about and improve it in the long-term…

Future of RPM

Nevertheless, I personally really would like to see the two RPM camps to unite as there is no good reason to confuse the community in the long-term. Hence I personally strongly suggest that Red Hat officially lets their few RPM developing employees to join the larger rpm5.org development team. The new rpm5.org infrastructure even could additionally host their older RPM 4.4.2 derived code base if this is wished or even be required. rpm5.org is fully open for them to join at any time…

Leave a Reply