Users are just never happy

So why should we try to make them happy at all?

So, let’s see bug #196926. It’s a nasty bug in glibc, somehow it lapsed through the quality checks for glibc releases, and it hits the two major architectures that Gentoo supports (x86 and amd64, or rather multilib amd64, as the failure is still related to the x86 codepaths; amd64-only codepaths are just fine); on the lucky side, the problem only presents itself when glibc-omitfp is enabled, and it is not by default for sure.

There is a tentative patch; sure there is, there are for most bugs, sometimes they are not just enough. And you don’t really want to risk with glibc. Plus, Mike who takes care of most toolchain, glibc included, is quite busy, and having him release new patchsets every day to fix issues that are caused by non default setups would require him to spend all his time on tar and epatching around.

Okay, maybe sometimes Mike has the prerogative of not creating new patchsets until he has a trouble with the current patchset, that’s why I continue insisting fo him to release a new GCC patchset to fix the failures building htdig and xalan-c. But as I know the kind of burden that releasing a new GCC is, and let’s not even try to make the burden of releasing a new glibc something that can be explained in a single blog post.

Anyway, as I know the particular traits of Mike’s character, I decided to take action myself. As I certainly have no time to start testing new patches to glibc all over, and I know that messing with someone else’s package patches can create more troubles to that person, I avoided the patch altogether, but I decided to mask the glibc-omitfp USE flag. It’s still better than nothing: users upgrading will get a working glibc, maybe not with the frame pointer omitted, but they won’t find strange failures and won’t make me waste time finding new mails with “me too” comments – sorry, we do know that there is a problem, after three people said so, and the developers acknowledged it, saying “me too” just annoys the hell out of the people that are in CC on the bug to follow the development of it – plus, I know that Mike wouldn’t have been upset by my masking.

But hey, this is not enough for some users. And that is what sometimes frustrates me. Trying to help them to get a working package is not enough, it has to be the package as they want entirely; no more and no less!

Well, I would like to let those users know that Gentoo is a volunteers-based distribution. And some volunteers are already doing stuff they care little about personally, just for the greater good of having the distribution working. Lately, though, some of them, some people I actually find important in the whole Gentoo microcosm, start to be frustrated, seeing users that demand stuff to be like they want, and developers that rarely support their decision, and just criticise.

For many of us, Gentoo is about fun; I’m one of them, I always was one of them because I do find fun maintaining some easy ebuilds, I do find fun being able to integrate anew software that might be useful to me and others into the distribution, and I sometimes do find fun having to dive into the internals of a software to fix a bug, or to make the build system behave like a good build system should.

I certainly don’t find fun in having users demanding that their solution be implemented immediately, nor I do have fun in people repeatedly sending “me too” messages that just waste my time, and least of all I have fun in seeing developers fighting with each other over nothing, because they are all stressed both from the work they have to do (often Gentoo for us is a second job, or a part-time job, or an hobby), upstreams that might not be very nice to deal with, and by users who demand that everything be perfect.

To sum it up, for what concerns glibc 2.7, the USE flag is masked in amd64 and x86 profiles; I could have unmasked it for no-multilib profiles for amd64 actually, but I didn’t care yet enough for that; people not using multilib on amd64 would probably be able to unmask it manually anyway. I didn’t follow if the upstream sources of glibc were patched and thus fixed, but I hope they did, for that case, I limited the mask to 2.7 version of glibc, so a new version of glibc will not have glibc-omitfp masked. If Mike commits a new glibc patchset with the patch, he’ll probably drop the USE flag, or I’ll do it, so the masking won’t stay more than needed, it’s just a matter of having the build not fail on users.

To my fellow developers, I would say instead: “try to let it go the hatred”. Yes, I know that there are developers who act in ways getting on your nerves (and pay attention, I’m not referring to anyone in particular; I actually can think of about four people that do appear in both roles with different combinations), I know you’d rather have things done in another way, but unless you can replace them, you shouldn’t make it your own battle to find them wrong every turn of the road.

People have different ways of thinking and different ways of doing their job. Even if you disagree on a technical or social level, it doesn’t mean you can’t try to respect each other and try to understand the point of view of the other person. I can actually say that after about two and a half years, some of the developers I respect most (and I consider friends, and love to work with) are developers with whom I rarely share views; just to drop some names (that you can confirm on mailing lists or if you really want to read #gentoo-dev), there are Donnie and solar. With the former we have very much opposite views about technical progress versus compatibility (and you can easily find this out by looking at the long discussions we had about Xorg and FreeBSD), but I find him a very skilled developer and also a nice person, and I was thrilled when I seen that we ended up in the council together this term; for what concerns Ned, we had quite some arguing about FreeBSD, uClibc, and NLS support, again we have opposite views, but this might help and we usually get to find a compromise solution that suits more or less both of us, and I do call him “friend”.

Okay so the post turned out to be concerning both users and developers behaviour, I actually didn’t intend that much when I started, I just wanted to write something to clarify the masking of glibc, and to say which kind of behaviour won’t bring you in my list of good users. And only people in that list will get their Christmas present… (read: if you’re an user I don’t have a problem with, I might answer to your bugs even during the holidays).