2005 Jun 24 (Fri), 15:12 Jeff Johnson is a fucking idiot
Been real busy lately with things like work and a wedding so I haven't updated this in a while. However, something today happened that really pissed me off and made me want to post online here.

For those who don't know, Jeff Johnson is the main guy behind the RPM package manager. RPM is one of the leading package managers used in Linux distributions these days. In fact, it is currently used in more distros than any other (though, that isn't exactly saying much considering so many RPM-distros have very small user and developer bases). At the very least, it is the package manager at use in Fedora, Mandriva, and SuSE (or whatever they are called these days).

Well, this morning Jeff posted on the rpm-devel mailing list the following item:
Jeff Johnson n3npq at mac.com
Fri Jun 24 09:39:58 EDT 2005

Time to nudge my alexa rankings ;-)

RPM development is moving to wraptastic.org. All that's really there now is draft proof's of "Maximum RPM" and my blog, but I will be moving cvs.rpm.org content and releasing rpm-4.4.2 through that URL as well.

The immediate goal is to design and document changes in the next version of rpm. Probably the most important change is going to be to use XML in *.rpm packages rather than the existing binary header format.

I prefer to do the design and implementation through a blog, as random drive-by "Help me!" support issues on IRC, and luser learned bugture/featlet threads on mailing list pings are a whole lot of overhead for very little gain imho. I think my time is better sent writing up answers than answering endless questions.

So if you want to influence the design, development, and future directions of rpm, I suggest it's time to read my blog.

Off to swat mosquitoes at field day with "Maximum RPM" and the powerbook this weekend ...

73 de Jeff

Original link
I replied with the respond seen here. Others replied with this and this. As you can see, no one is really thrilled about this.

Why are we not thrilled? Well, for one, doing this radically reduces the amount of collaboration that people can lend to this project. FLOSS development over a blog? Are you insane?

This led to some of the following discussions on #tfug (on irc.freenode.net):
(09:28:04) criswell: jeff johnson got on today and nonchalantly announced that he felt that the devel mailing list and IRC are shite and he was going to move all of RPM's development to a blog
(09:28:14) criswell: i replied saying how stupid I thought that was
(09:29:12) superbenk: haha
(09:29:15) superbenk: dumbass
(09:29:24) superbenk: he's shite
(09:29:27) criswell: indeed
(09:29:46) criswell: this is where he wants to move RPM's development too http://wraptastic.org/blog/index.php
(09:29:50) criswell: s/too/to
(09:30:32) criswell: it's the package manager used in more distros than any other today... and he wants to further isolate it from the rest of the world
(09:30:36) criswell: what a fucking stupid idea
(09:33:25) superbenk: I'm confused... how does a blog == development collaboration in anything other than writing silly articles?
(09:33:35) criswell: yep
(09:33:37) superbenk: a wiki I could almost understand, but a blog?
(09:34:14) criswell: here's my reply https://lists.dulug.duke.edu/pipermail/rpm-devel/2005-June/000501.html
(09:34:15) superbenk: I don't even get how that can work
(09:34:35) superbenk: I mean technically speaking... how do you collaborate on source code via a blog?
(09:34:50) criswell: i have no idea
(09:34:55) criswell: submit patches in the comments?
(09:35:15) superbenk: it seems logistically impossible
(09:35:20) criswell: jeff johnson is a redhat guy (or at least was)... and redhat has this nasty habit of developing everything in a bubble...
(09:35:29) criswell: i.e., they don't give a fuck about anyone other than themselves
(09:35:38) superbenk: blogs just aren't made for code... they're made for freeform writing... they're made for opinionating
(09:35:40) criswell: their technical decisions are the only ones that possibly could be, no one else's opinion matters
(09:36:01) criswell: so, Jeff johnson has resisted collaborated development on RPM for years
(09:36:10) superbenk: ya, I get that, but I'm just trying to figure out how it's physically possible
(09:36:38) criswell: he even has a nasty habit of having entire developmental conversations off-list and then forwarding the conclusions back onlist in confusing ways
(09:36:41) superbenk: that's like me trying to dig a hole with a pitch fork
(09:36:44) criswell: yep
(09:36:52) superbenk: (or soup with a fork...)
(09:37:25) criswell: the simple fact of the matter is, he doesn't want to collaborate... he wants to domineer over the project and not care what others need
(09:37:37) criswell: case in point, this whole auto-rollback thing
(09:38:01) criswell: autorollback is something that is absolutely required in carrier grade linux... and yet he resisted for YEARS allowing code in that would do it
(09:38:10) criswell: instead there was kludged this crappy rollback code that doesnt even work!
(09:38:24) criswell: bah
(09:38:29) superbenk: "I think my time is
(09:38:29) superbenk: > better sent writing up
(09:38:30) superbenk: > answers than answering endless questions."
(09:38:37) superbenk: why does that seem like the same thing to me?
(09:38:40) criswell: hah
(09:38:56) superbenk: answers = answers = answers
(09:39:02) criswell: except when they dont
(09:39:09) superbenk: oh, right
(09:39:30) criswell: he wants to write up answers that he thinks people need to know
(09:39:49) superbenk: aka, the ones no one really cares about? :)
(09:40:00) criswell: yep
(09:40:21) superbenk: there's a HUGE difference between what is important to a developer and what users need help with
(09:41:42) criswell: hmmm... i think that we have hit on the real key trouble with the RPM world....
(09:41:51) criswell: the RPM-world's trouble is not a technical one.....
(09:42:01) criswell: the trouble is that they resist collaboration
(09:42:08) superbenk: I think you're right
(09:43:07) ***superbenk tries to think of another environment where collaboration among core & outside development is shunned... "M... something..."
So the ultimate conclusion? In our opinion the big problem with the RPM-world in general (and this really goes as much for Fedora as it does for RPM) is that collaboration is resisted. That's right, massive FLOSS projects that want to act just like closed-source ones.

Okay, so perhaps this is just stating the obvious. I'm sure it's something that a great many of us who have tried to bang our head against the walls with respect to anaconda development, RPM development, Fedora development, etc have had to deal with... and we've largely already known this. But the next response Jeff said was what really got me going... It got me going because it was such an admission that this is the way he thought. That he felt his technical decisions were always going to be the right ones and the rest of the world can just go fuck themselves.
Jeff Johnson n3npq at mac.com
Fri Jun 24 10:54:11 EDT 2005

*Text he was replying to snipped*

Yes, I know what a wiki is, thank you.

There's absolutely nothing stopping anyolne from setting up a wiki.

If you want my participation, or want to know what I am working on, or want to influence what I decide I'm going to implement in rpm, then see my blog and comment there.

My rationale is that I beleive already know what needs to be done, and I'd rather explain once, then be run through the usual gauntlet of OSS development chatter, and vendor cloutocracies.
Been there, done that, no more.

In fact, I will write up responses to cluelesser opinions from Claudio and recent traffic regarding --redhatprovides from fedora-devel at redhat.com to show how pointless (imho) discussion about know design deficiencies in rpm is. I'd rather focus on redesign to alleviate perfectly and widely known flaws, than to chase a gazllion outlets, irc channels, mailing lists, wiki's and responding to issues that
a) I already know well
b) I already have a pretty good idea of how to fix.
c) I'm out numbered 1000-to-1.
That is a waste of my time.

And my time belongs to me now. If that's not to your taste, I will send you a rpm tarball and you can go do whatever you want, but elsewhere, please.

Surely, if you prefer discussing elsewhere, I am not stopping anyone from doing whatever they wish anywhere they wish however they wish.

However, I have a book to write this summer, perhaps two, an rpm distribution to put together, and a package repository, and tools, and a web site and a whole lot more that I wish to spend my time on rather than idly chattering about what is wrong with rpm and how to fix that. I wish to focus on rpm development and fixing, not discussing.

What's wrong is that I've been a lazy schmuck for two years because the OSS world fears change.

I do not.

Original text here.
Gah! Where do I begin?

First, he says that he already knows what needs to be done, and he would rather "explain once, then [run] through the usual gauntlet of OSS development chatter". In other words, he feels he somehow knows better about what's right for all of RPM-dom than anyone else. In essense, no one else's opinions or technical know-how matters. Sure, he's never worked on a Carrier Grade Linux distribution that needed RPM Autorollback, and he's never worked in the embedded space where highly trimmed RPMs are needed. But the fact that he's only ever worked on basic RH/FC Desktop servers (yes, they are desktop servers, try running the fuckers in true headless environments without a deep understanding of GNU/Linux) and has no experience in these realms means nothing... He STILL knows better than everyone else.

Next, he says he'd rather spend his time focusing on "rpm development and fixing" rather than "idly chattering about what is wrong with rpm and how to fix [it]". What on earth does that mean? It sure sounds to me that he wants to run RPM as a one-man-show, and not give a crap about the patches and input from the rest of the world. This means if there is something *YOU* think is wrong with RPM, it will only be wrong if *HE* agrees with you.

He even said that he's outnumbered "1000-to-1". Well, maybe, Jeff, if you are really outnumbered by that much you should consider why you are outnumbered in the first place. Could it be that this large group of technical peers are here to help and have RPM's best interest in mind and that maybe... just maybe ... they have the technical know-how and experience to see and fix something you do not?

BAH! What an idiot.

2005 Jun 29 (Wed), 15:11 Jeff Johnson is not a fucking idiot?

Hmmm... okay... a few more days to think about this and analyze things... and I'm not sure I can say I agree anymore with the statement that Jeff Johnson is a fucking idiot. Perhaps he is just not a fucking team player. Perhaps he is more anti-social than idiotic.

See, I still do take issue with the fact that he wants to have complete and total control over a project that should be a community one. I do take issue with the fact that he so cavalierly dismisses the technical criticsms of his peers. I still think the decision to move RPM development to a blog is insanely stupid. I still agree with most of what I said before. Even that this whole thing he is doing is fucking idiotic.... I just don't know if he is specifically a fucking idiot, or just someone doing a fucking idiotic thing at the moment. I hope the latter.

Why this slight change in my assesment? Well, let's look at the facts a bit:
  • Jeff No Longer Works for Fucking Red Hat
    I actually can't tell if this is true, but it sure seems to be. In one of his last messages he says "And my time belongs to me now". Also, in a reply to Paul Nasrat he seemed especially curt when it was announced the CVS would be down (or rather, was down). I may be reading more into this (and I could just ask him, but I'd rather just suppose and move on :-) but it sure seems he doesn't work there anymore.
  • Jeff seems influenced by Debian things at the moment
    On his webblog he has links to 3 Debian people's weblogs. He is making the RPM headers XML (something that several Debian folk have whined and moaned about for years to be done in RPM). And he apparently is a big Fink user. Not sure what all this means, but given the political seperation between the two camps (RPM & DEB) in the past, and one that he has been known to participate in, it sure is strange.
  • Jeff seems to be in a power struggle with Red Hat over RPM
    This is nothing new. Red Hat is notorious for forking and borking RPM, so I wouldn't blame in the least the RPM maintainer taking issue with that and pushing back. Of course, I wouldn't shut myself out from the community, just move the community to an arena I had more control over (e.g., my own source repo, my own mailing lists, my own site, etc.) Note this isn't the same as moving development to a blog... that isn't very friendly to the community... certainly doesn't harbor community involvement like a good mailing list or something else.
Personally, it seems to me that Jeff is actually a decent enough guy that just can't handle much traffic with people. If he had someone who could work as a liason between the community and him (someone to filter the junk and get the important bits to him) it would probably work out well enough.

In other words, what probably needs to happen is the RPM development community should move to some new location (someplace other than the Red Hat controlled and Red Hat neglected RPM.org) where they can have all the things they need for the community to prosper (a wiki, mailing lists, irc, forums, whatever). And then some liason chosen from this RPM community (preferably someone who can work with Jeff and his quirks, my vote would be James Olin Oden) would be the person who worked with Jeff to get stuff from the community into RPM proper.

Some people have suggested just forking RPM and forgetting Jeff and his anti-social nature. I am not so sure that would be prudent. Jeff, like it or not, is currently the most knowledgable person on the planet with respect to this rather difficult to understand code-base. He may not have the experience necessary to take it in some of the directions it needs to go (CGL is what always pops up in my mind), but he certainly is better equipped at understanding how to get new bits into this code base. Some people have even suggested that Red Hat may attempt a fork... man I hope not. There's always been a power struggle between Red Hat and any communities that are associated with the software they use. I'd hate to see RPM get re-absorbed back into the empire that is Red Hat.