From Fedora Project Wiki

RPM Fusion

Digg it

Developer Interview

What is the RPM Fusion project?

HG: We want to be a one stop place for Fedora add-on packages which cannot be in Fedora proper due to various issues. Currently we are a merger of the dribble, freshrpms and livna repositories, and we invite other repositories to join us.

TL: Its a joined effort from people behind Dribble, Freshrpms and Livna; the plan is to maintain RPM repositories that contain add-on packages build for Fedora which can't be in Fedora itself for different reasons.

For example Fedora on purpose only ships Open Source Software. That's a good thing and a reason why I contribute to Fedora. But a lot of people now and then need some non-free bits; RPM Fusion plans to provide provide them (similar to how Livna does right now) in its repos.

Sometimes even free bits get excluded from Fedora and thus are suitable for RPM Fusion as well -- zope and plone for example were (indirectly) were excluded in F7 and later, as they require python 2.4.x, which Fedora didn't want to ship in parallel to python 2.5. It's similar with kernel-modules which are not part of the official kernel: a heavily patched kernel like the one we had in the RHL or FC1 days is a maintenance nightmare and thus Fedora tries to avoid to many patches/modules in the kernel that don't head upstream in the foreseeable future. And separate packages for kernel modules were unwanted as well for good reasons; one of them: if it isn't good enough for the kernel developers to include a driver or feature than why should it be good enough to be included and shipped in Fedora? But nevertheless some people need some additional kernel modules, and RPM Fusion can and will provide them.

What's wrong with the current extra repositories for Fedora such as Livna and RPMForge?

Hans De Goede: There is not much wrong with them, there just are too many if you ask me.

Thorsten Leemhuis: On Livna: I'd say Livna works acceptable right now and might be one of the most known and used 3rd-party add-on repos for Fedora; but Livna from my point of view had and has many underlying problems.

The main reasons for that option: there only evolved a very small Livna contributors community. Sure, there were about 5 to 15 or 20 Livna contributers all the time (thx to all of you for your work!), but that number didn't change much. Some people came, other left while Fedora.us / Fedora Extras / Fedora at the same time got many many new contributors. That small Livna contributors base was and is enough to keep Livna running "good enough", but a lot of things in fact need to be improved or should/could work better. Starting freshly with RPM Fusion and merging with other groups that do a similar thing like Livna is IMHO at this point the best way forward for "a better Livna"; then hopefully a better and healthy community evolves and we have a better and healthier repo in the end for contributors and and users.

BTW, Livna is likely in parts guilty for the fact that only a a small Livna contributors community evolved; some of the reasons were/are: private buildsys in the beginning; using different tools [SVN vs. CVS] than Fedora; people focusing on Fedora instead of doing more work for Livna; leadership issues; long review queue without much progress; infrastructure issues (lots of them); important people leaving Fedora/Livna behind and moving on to other things in life.

On RPMForge: I don't follow it closely, but Dag and Dries afaik focus on RHEL/CentOS these days, so they afaics have a different target audience. There is a repo where their packages get rebuild for Fedora, but that repo from my point of view doesn't integrate to well with Fedora as it replaces packages from Fedora. In my experience that leads to a lot of trouble (IMHO it's the result in fact is a different distribution), that's why Livna has add-on packages in its repo only; RPM Fusion will do the same in its main repos.

How does it relate to the Fedora Project as a whole?

HG: We will not (ever) replace Fedora packages, and all our packages are packaged according to the Fedora packaging guidelines, and are reviewed when initially submitted for inclusion just like Fedora. Also we try to follow Fedora's procedures as much as possible. We want Fedora contributors to feel instantly at home, we strive for the Fedora "look and feel" when it comes to the "user interface" for contributors (and end users).

TL: All of the current RPM Fusion contributors are Fedora contributors as well and I expect that will stay that way. Due to this relation there is a good information exchange and I expect that both groups will work together quite well.

I further hope that RPM Fusion becomes the official semi-official Project where people get their software from that's missing in Fedora. The current confusion with to many repos doing similar things in slightly different ways just leads to a lot of confusion among users. That's very bad for Fedora and it's reputation.

I understand you're using a lot of the same processes and tools, particularly now Fedora has opened their entire build system: has this improved things significantly for you?

HG: I'll leave answering this one to Thorsten as he is much more at home with the buildsys.

TL: Using the same tools like Fedora is good and bad at the same time. The two IMHO very important benefits from using the same tools are:

  • contributors are used to the tools already; they just need to point cvs, plague, their web-browser somewhere else
  • everything including lots of small helper scripts that make life easier should be coded and tested already; only small adjustments need

to be made

In Livna we used different tools then in Fedora and that had lots of downsides. For example Livna uses SVN instead of CVS; we had to write patches for plague to make it support svn. That took a while, never was done properly and thus never got upstreamed, thus we still need to maintain them, which complicates things. Further: a proper look-aside cache never was coded for svn, that's why two people normally do the builds once the contributor tagged a package for building. That's way more complicated then in Fedora. And contributors had to learn SVN (and other things that were different) to contribute to Livna -- that made things a lot more complicated for them and for some people was a reason not to contributor to Livna.

On the other hand some of the tools from Fedora might be to complex for a add-on repo. That shouldn't be a big problem normally, but it is one when it comes to setting up the infra for the first time, as more complicate/flexible tools are often harder to set up.

Obviously it hasn't been officially launched yet: when do you hope this will happen and what work still needs to be done to get to this point?

HG: We've already done lots of work in merging packages which were present in both freshrpms and livna into one bets of both package, currently we are mainly having troubles with setting up the infrastructure. I'm sure Thorsten can say some more about this.

We really could use some help with getting the infra up and running, so if anyone feels like giving a hand please drop Thorsten a mail.

Also I will be at fosdem2008 the whole weekend, and I plan to organize a rpmfusion get together there. So people interested in contributing one way or the other please drop me a mail if you go to fosdem, including when you will be there and then I'll try to pick a day and time for us to get together.

TL: The infrastucture is the big problem right now. The builders and cvs are up, but we have a similar problem like Livna had: no look-aside cache yet (that's where sources are stored while the rpm spec files and patches are in CVS). We have the code from Fedora, but the authentication is done against the Fedora Accounts System. Thus we tried to set that up, but it's not ready yet as most of us are packagers, but no sysadmins. Besides this there is another problem: the machine which hosts CVS/FAS/plague crashes now and then :-/

And finally, perhaps you could tell us all a little bit about yourselves: how did you first become interested in free software and Fedora? What do you like to do with your time when not working at the computer?!

HG: In the summer of 1996 I switched universities and for the new university I had to catch up on programming, so I learned myself to program that summer, at first from a book, later I found it more fun to hack on existing software (it all started with vgb), at my new university there were some Linux enthusiasts and so I gave Linux a try, porting my vgb enhancements to the Linux version of vgb, and merging the 2 ports. Then I started on making MAME (http://mamedev.org/) working properly on Unix, around that time I had firmly chosen for Red Hat as distro and I even was a Red Hat beta team member, I had acquired a sparc and an alpha machine, solely for the purpose of being able to test the alpha and sparc beta releases of Red Hat too. Then Fedora launched and I saw a chance to create high quality packages of a lot of things I was using which weren't readily packaged for Red Hat in a way that meets my quality standards, and now I maintain over 200 packages for Fedora, not counting the packages I maintain in livna and dribble.

TL: I'm 30 years old and live in Hannover, Germany (famous for Expo 2000 and CeBIT each year) since more than 10 years now. I'm grown up in a very small village (there was neither a baker or a pub) on a farm (there were likely 10 times as many milk cows in the village than humans); IOW:besides working on the farm and going to school there was not much to do, thus I sit behind the keyboard a lot since I was 11 or 12.

I liked tetris, minesweeper, enigma and similar "small and easy games", but never liked doom, quake or similar games; operating systems instea somehow became my preferred "adventure"/game. After starting with Dos 3.3/4.01 I used OS/2 throughout the nighties and switched to Linux late 1999/Early 2000. I started with Suse (like most people in Germany), but quickly switched to Caldera (a colleague said it was a good distro; I used KDE back then). I wasn't really satisfied with that either and a few months later finally installed RHL (6.2 iirc) and switched to Gnome -- it was a good decisions when I look back at them now ;-).

When RH some years later announced the Red Hat Linux Project (which quickly became Fedora) I became interested, subscribed to the newly created mailing lists. In the beginning I just watched what happens, but quickly after that I started to learn RPM packaging and became a fedora.us contributor; a bit later I joined Livna as well. Over time I more and more got involved in both Fedora and Livna; so much that I never found time to properly learn C and python (which is on m todo-list for quite a while now) :-/

Sitting behind a computer consumes most of my free and work time, so there isn't must time left; if it is I'm sometimes working in the garden or do some cooking in the kitchen. "time when not working at the computer?!" Hmm, whats that for new strange concept you're trying to tell me about? I used to have other hobbies, but between spending time with my family, work and my Fedora activities there is very little time left for anything else.