Catching up with recent news, I came across this blog post by Stephen John Smoogen in Fedora People, where he explains the reason for the recent disappearance of the Puppet package from the Extra Packages for Enterprise Linux (EPEL 6) repository:
This week various people using EPEL on RHEL and CentOS 6 have found that the puppet package is no longer provided by EPEL. The reason for this is due to the way EPEL packages are built and kept inside the repository. A package needs a sponsor so that we can hopefully get bug fixes and security updates to it. In the case of puppet this package is sponsored by the user kanarip. However, most packages aren’t whole pieces, they rely on other software.. in this case the package puppet relies on a lot of different ruby gems of which one of them was called ruby-shadow. This package was orphaned 30 weeks ago and while it did have other people watching it, none of them took over the package.
Last week a large cleanup was done to clean out orphaned packages from EPEL which removed ruby-shadow. Once that was removed, then all of the other packages depending on ruby-shadow were also removed. Today various people reinstalling systems found puppet wasn’t around and came onto #epel to ask.. which seems to have gotten the packages responsored and hopefully they will be back in the EPEL release in a day or so.
This problem has been happening a lot lately. I think it shows quite a few problems with how EPEL is set up and managed. For this, I take responsibility as I said I would try to clean it up after FOSDEM 2016 and it is still happening.
Unpleasant annoyance that shouldn’t have happened, right? Well, yes, maybe.
Software is a complex matter, whether you are designing, developing, testing, or distributing it. So things do go wrong sometimes. And that was something I wanted to focus on for a second.
Forget the actual designing, developing, testing and documenting the software. Forget all the infrastructure behind such a vital part of the Linux ecosystem as EPEL. Just think of this single issue for a moment. Once again:
A package needs a sponsor so that we can hopefully get bug fixes and security updates to it.
So what, I hear you say. Well, let’s take a closer look. EPEL provides packages for multiple versions of the distribution, hardware platforms and so on. Let’s just look at the EPEL 6 for x86_64 (to keep things simple). That looks like a lot of packages, doesn’t it?. How many? At the time of this writing, from a random mirror that I got:
wget -q -O - http://download.fedoraproject.org/pub/epel/6/x86_64/ | grep -c 'unknown.gif' 12129
Yup. That’s 12,129 packages! And each one of those has at least one developer behind it, to sponsor. Some of those amazing people obviously maintain more than one package. Some packages are maintained by multiple people. All of them are working hard behind the scenes for you and me to have an easy and stable access to a whole lot of software. Here is a quote from the FAQ which is smoked and marinated in all that effort:
Software packages in EPEL are maintained on a voluntary basis. If you to want ensure that the packages you want remain available, get involved directly in the EPEL effort. More experienced maintainers help review your packages and you learn about packaging. If you can, get your packaging role included as part of your job description; EPEL has written a generic description that you can use as the basis for adding to a job description.
We do our best to make this a healthy project with many contributors who take care of the packages in the repository, and the repository as a whole, for all releases until RHEL closes support for the distribution version the packages were built for. That is ten years after release (currently) — a long time frame, and we know a lot can happen in ten years. Your participation is vital for the success of this project.
I don’t know about you, but for me, this is absolutely mind-blowing. So I just wanted to take this opportunity to say thank you to all the brilliant people behind the scenes, who are often invisible, yet indispensable for the continuous success of Open Source software in general, and Linux in particular.
You guys rock!