Debian ditches Glibc for... EGLIBC

Debian

Uh-oh. The C library is an essential core component of any Unix-like operating system, and for Debian to switch from the well-established Glibc is big news. This blog post explains the reasons behind the move to EGLIBC, noting technical aspects such as a consistent stable branch, support for different shells and the ability to optimise for size (using the -Os GCC flag).

It also points to dissatisfaction with Glibc maintainer Ulrich Drepper's attitude towards potential contributors: eg "Stop wasting people's time! Nobody cares about this crap." Or take a look at the comments here for some, er, lively debate.

But this raises some interesting questions. How much civility should we expect in free software development? Perhaps the code snippet linked above was indeed trivial, but should a lead developer be so blunt? OpenBSD head-honcho Theo de Raadt is well known for his brusque manner, yet many OpenBSD fans are fine with that -- they want to focus on the code, not time-wasting pleasantries.

However, such an approach can scare away potentially prolific contributors. Let us know what you think -- how frank should lead developers be to newcomers? Is being terse and direct the best way to get good code?

You should follow us on Identi.ca or Twitter


Your comments

We can't all be Gurus

It's attitudes like that which make me reluctant to contribute to Open Source projects.

In the case mentioned the contributer took the time to enter a detailed explanation of the problem which obviously has an impact on what he is trying to do and just got a load of abuse for his efforts.

Sounds like Ulrich has lost interest and doesn't want to deal with lowly contributors anymore.

@DilbertDave Just because

@DilbertDave

Just because you take the time to post a bug doesn't mean it's appreciated. There is etiquette around reporting bugs and "lowly contributors" should know about them.

For example: don't report duplicates, mention all relevant details and version numbers, list how to reproduce the bug, etc.

It's people who don't take the time to do this that are usually going to receive some abuse, and in my opinion quite justified abuse.

However, there is no excuse for the idiocy that is Ulrich.

In defence of Ulrich

I've read both the bug reports comments linked to from the release announcement from top to bottom, and Ulrich actually makes valid points early on (though yes, in a very brusque manner), so understandably gets annoyed when people ignore him.

In the arm case he points out (at least in his second post) that the official code does not support arm architectures. Note that this doesn't invalidate the fact the OP actually took the time to not only identify it, but to provide a patch. However the bug was obviously in the wrong place, and should have been moved to whichever port the OP was using.

In his very first response to the hosts issue, he points out that programs should handle multiple addresses. For instance, there should be nothing wrong with having two identical lines in the /etc/hosts file. This bug report also brings up another important point of etiquette: don't re-open something (bug/thread whatever) months after the last post. The bug report was re-opened no less than 4 times, with only the first re-opening actually producing any new info (which later turns out to be incorrect). The original bug was created 21 months ago, yet someone still saw fit to re-open it today, without checking details. The original code which has the bug no longer even exists.

On the other hand

Having said that, I really like how open Linux Mint's development team are to contributions. I added functionality, re-packaged, and was granted permission to upload it to the "community" repo within 3 days, even though this was my very first contribution to FOSS. Those improvements have now been accepted into the new upcoming release!

The community is just as friendly, and I think that's definitely related. If the devs are brusque then only people ok with that would join the community, and it would be a very different situation.

In conclusion: While I think everyone should be more civil, you really have got to remember that FOSS developers are not paid, they're doing it because they enjoy it, and they're not forcing their software down your throats. As soon as someone tells you what to do, it's natural to become hostile, so phrasing of bug-reports etc. is important.

Interesting times ahead

Some great reading on the background of this over the last 18 months or so ;-)

It will be even more interesting if Glibc is totally dropped by Debian, as is clearly the intention, and all Debian derivatives have to adopt the change. This could also have a significant impact on the choice of distro for embedded systems (although why you'd need the option of 20,000+ packages on such devices is beyond me).

Regards from
Downunder!

Downstream

Seeing as their upstream has adopted this, perhaps Ubuntu/Other debian based systems will have to follow suit?

Please no more guniea testing

Ubuntu is already f*cked up by Intel because of their half-finished move to the new stack. No need to guniea test the common user on the basic and core component of an OS, thanks.

But what about the important part?

It seems to bad that the article chose to segue to a hand-wringer about civility in bug testing. What most of us want to know is, what are the practical implications of this switch for those using Debian and its derivatives?

This is why we have choice..

This is an excellent illustration of why there shouldn't be a universal package manager. Don't like something use something else. This is the power of the oss community. You don't have to be force fed shit.

Sounds like one arrogant arsehole might get taken down a peg.

Change is never without pain, though. And change isn't immediate either. I wouldn't expect to see eglibc in Debian mainstream until at least 2-3 major revisions away, anyway. And who knows what else will have changed by then?

Same old Debian

History will repeat it self yet again.

Debian has a LONG!!!! history of not getting along with anyone. Heck, Debian can't even stand itself.

They maintain their own patch repo, have little upstream communication, when they do, _sometimes_ it is only in Debian's interest, and not the source package as a whole. When upstream rejects Debian's patches, Debian then rejects upstream.

85% of Debian's packages are mere resemblances of the original source. This is because of the DFSG. The DFSG reminds me of certain person and fascist group from the '30's and '40's.

They did the same thing with cdrtools. They claimed a license reason, but when you read through the dev lists, they just didn't like Jorg. They (Debian) actually include NON-FREE NON-OPENSOURCE software. They use patent restricted code on their font package. So it was a lame excuse to fork cdrtools into a failed and half working cdrkit.

Debian will switch to EGLIBC, make claims to take over the project. Everything will look good for about 6 months. Then Suse (as they have with GNOME), Mandrake (as they have with KDE and K3B right now), and RedHat (who fixes everything in the end) will pick up the pieces for everyone else. Mean while Debian takes a pause to try and figure out if man pages should be included at all since they *might* not be free enough.

In the end, Debian will take that code, apply 1000000000000000000000000000000 lines of patches, then Ubuntu will paint it brown, and everyone will think Ubuntu invented something new and great ---------- again.

Wait, that's they it's been since 1993, things weren't painted brown until 2004.

Same old same old....

Debian in a nutshell... Bah..

Sounds Like...

his boss at Red Hat (which appears to be his employer) needs to have a talk with Ulrich about how to work and play well with others. To refuse to EXPLAIN why changes are made is unacceptable.

I can't blame the Debian folks for going in a different direction.

Montagu

ā€œCivility costs nothing and buys everything.ā€

Bad attitudes abound

I've been a software engineer and occasional Linux user for quite some time, and I've noticed that bad attitudes are fairly common in both communities. I've gone to IRC chat rooms and online forums to ask for help or general questions related to programming, and there are almost always people pointing out what an idiot I am for asking the question rather than trying to help. That type of thing just doesn't help and only makes for sour feelings.

I second the post about the

I second the post about the Mint community being great. I use that distro above all others because the community welcomes contributions like no other. All you need too do is go post a message on their forum about a change you would like to see and if its any good it makes it into the next release. It is that simple. The new theme in the up coming release was down to me simply posting a thread on the forum suggesting in. I'd like to see a random person contribute a theme to Ubuntu like that.

I really wish Linux format would push Mint more. It is a viable alternative to Ubuntu and deserves to be seriously considered for all Linux newbies.

Well

The difference between Ulrich and Theo is that Theo at last knows and appreciates good code

bugs are bugs

The strfry() bug report says it all. Obviously the reporter tracked a real problem to this library function, explained it clearly and politely, and even provided a patch. For this, he is treated like an idiot.

It should be obvious to even the greenest programmer that strfry() must produce equally likely permutations, and applications using the library ought to be able to depend on that.

Feel Sorry For...

I feel sorry for Petr Baudis. He's posted a perfectly legitimate issue along with a solution. The brusk manner with which Ulrich has attacked his changes has been taken badly by the rest of the glibc community and Petr is left not only defending his changes, but also Ulrich himself!

This is a shame because Ulrich has done some excellent work for glibc for a good long while now. There may be more to this behind the scenes than is necessarily being revealed.

I'm interested in the Red

I'm interested in the Red Hat vs Debian angle some people seem to be trying to take...

Debian is on so many

Debian is on so many different architectures it actually makes sense to switch to eglibc so they don't have to bother maintaining a glibc package.

The real issue is architecture support

The real issue is not Ulrich Drepper and his abrasive nature (which certainly can alienate contributors), but the goals of the GLIBC and EGLIBC projects. Drepper (and thus the GLIBC project) is focused on workstations and servers, primarily on x86 processors. Patches to GLIBC which allow it to run on smaller processors (for example, ones which emulate certain instructions in software) have been rejected because they are "unsupported". There are also features in GLIBC which are useful in large systems but unnecessary in smaller embedded systems.

One could argue that Drepper is maintaining the focus of GLIBC. Others would see this as excessively narrow. The result is the fork of EGLIBC which accepts patches for architectures which Drepper will not accept, or which make EGLIBC more suitable for embedded systems.

I would think that a better resolution would be for GLIBC to expand its scope to include both servers and embedded systems. That's not likely, given Drepper's role in GLIBC.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

CAPTCHA
We can't accept links (unless you obfuscate them). You also need to negotiate the following CAPTCHA...

Username:   Password:
Create Account | About TuxRadar