Glibc Steering Committee Dissolves; Switches To Co-Operative Development Model
First time accepted submitter bheading writes "Following years under controversial leadership which, among other things, led to a fork (which was in turn adopted by some of the major distributions) the glibc development process has been reinvented to follow a slightly more informal, community-based model. Here's hoping glibc benefits from a welcome dose of pragmatism."
The pissing match between RMS and Drepper that resulted in the steering committee is no longer longer relevant now Drepper has gone to work at Goldman Sachs (something that makes me smile: I can't think of any other company more deserving of him).
I am TheRaven on Soylent News
There are a couple of forks apparently. Why does this have to be one monolithic library?
https://en.wikipedia.org/wiki/GNU_C_Library
NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
Monolithic libraries are the way to go. They make software development much easier.
If you don't believe me, just look at the GNOME project. The last time I tried to build it from scratch by hand, there must have been at least 50 libraries I had to build first. That was several years ago, so there are probably many more that are needed now. Those were just libraries from the GNOME project, too! That's not including glibc, the many X libraries, Gtk+, and so forth! Don't forget that you'll need to start making sure you're using the right versions, too. Some of these libraries are released yearly, while others have a new release every week.
To realistically build something like GNOME, where they went absolutely stupid with unnecessary modularity, you need to use one of the scripts that are out there that'll do it all for you. Those scripts end up being a solution to a problem that shouldn't exist in the first place! They're only needed because what should be one monolithic library was split out into 60 smaller libraries. You'll need all of the libraries to get even a basic GNOME installation up and running, so there's no point in separating them.
It's not the 1980s any longer. We don't statically link everything using dumb linkers that can't strip out unused executable code. Modern OSes using dynamic linking and delayed loading only ever use the parts of libraries that are actually used.
It's clearly written in the fery first FAQ:
EGLIBC is not meant to be a fork of GLIBC.
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
It should be GNU, not Debian. Glibc is very much a GNU project. How do people not know GlibC is a GNU project?
They are vilified as being "mean" or "intolerant" because they act like mean intolerant assholes.
A truly great programmer does not feel the need to belittle others' efforts. A truly great project leader does not feel the need to be rude and dismissive.
Compare Linus Torvalds, who is just as opinionated and can be just as abrupt, and yet somehow manages not to be widely perceived as a mean intolerant asshole. Consider the possibility that this is because he is also frequently observed being polite and saying nice things in public.
Ulrich and Theo have both earned my respect based on their software development accomplishments. I could not care any less about what they may or may not have said to somebody on some mailing list or bug report. That is all secondary to the amazing software they're managed to produce.
I don't have exact numbers here, but Ulrich has had a massive role in producing what may very well be the most widely used C library ever. There's a very good chance that the very computer you're using right now is executing at least some of the code he's written hundreds of times each second! Then there are the millions of servers around the world running Linux and Glibc that are performing extremely important tasks, and they're likely doing this using at least some of Ulrich's code. That's a very significant accomplishment, and I have great respect for him because of this.
The same goes for Theo. He's managed to produce what may be the most secure pieces of software ever written. It's even more respectable because it's not just a single library or application. It's a whole UNIX-like system, for crying out loud! It's a great accomplishment to be so integral to an effort like OpenBSD, which has astoundingly great code quality and security.
I judge both Ulrich and Theo on their accomplishments, and they have nothing but the highest level of respect from me because of everything they've managed to build.
Theo and Drepper are very different. Theo is usually technically correct and has no time for people who can't work out why for themselves. Drepper is very often wrong, and is still an asshat in these cases.
I am TheRaven on Soylent News
I don't have exact numbers here, but Ulrich has had a massive role in producing what may very well be the most widely used C library ever
Is this 'may be' as in the Wikipedia definition, meaning 'isn't'? FreeBSD libc - not GNU libc - is the basis of both the Android and OS X libc implementations, and either one of these uses likely dwarfs glibc installs. And that's before you get to the Microsoft one (which is crap, but is installed on every Windows system).
I am TheRaven on Soylent News
When I first started using Linux (about '97).. I emailed Torvalds to say that I thought Linux needed to advertise because a lot of people didn't know it existed. He actually responded and politely explained how the project is put together/why that wasn't going to happen.
Not that have some kind of allegiance to the glibc, but what do all those Linux based GPSs, routers, TVs, etc, not to mention all those servers? Franky, I find it hard to believe that Android dwarfs all of those put together.
Dilbert RSS feed
Not that have some kind of allegiance to the glibc, but what do all those Linux based GPSs, routers, TVs, etc, not to mention all those servers?
Most embedded users don't use glibc either, they use something like newlib or uclibc, depending on the resource constraints.
I am TheRaven on Soylent News
It's very doubtful that all FreeBSD, Android, Mac OS X and iOS installations put together "dwarf" the number of Linux installations, as you claim. Among all of those installations or devices, including any ever manufactured (although many are no longer used, given their surprisingly short lifespan), it's unlikely that over 1 billion devices have been shipped. In reality, we're probably looking at a range of 600 million to 800 million units, if even that.
Linux is extremely prevalent, much more so than even you would likely think. It's not just used solely in semi-disposable consumer-grade smart phones like Android and iOS, or rare desktop systems or servers like Mac OS X and FreeBSD. Linux, and usually glibc, have been used in billions upon billions of devices. Aside from the many consumer devices using Linux, many of these other installations are highly-specialized industrial devices and tools that you likely wouldn't even know existed unless you worked in the proper fields. There is a huge amount of Linux infrastructure out there that isn't very visible, yet is very important. With Linux's excellent support for virtualization and its very flexible licensing, it's not rare at all these days to encounter infrastructure with hundreds of thousands, if not millions, of virtualized Linux installations. Much of these specialized devices and infrastructure using Linux and glibc will remain in production use far after Android and iOS are mere footnotes in the history of computing.
Don't forget that EGLIBC was directly based on glibc. So while Ubuntu and Debian may not be using glibc directly these days, they are still essentially using glibc's code. Microsoft's implementation is perhaps the only one that can rival glibc, in terms of usage. But even its numbers may pale when considering all of the "unseen" Linux installations that surround us.
As somebody who has worked on many embedded Linux devices in the past, and who continues to do so today, I can tell you that you're completely wrong. Even the cheapest embedded hardware we deal with today is more than powerful enough to handle Linux and glibc, and that's what almost everybody chooses to use. This has been true since about 2003-2004. In fact, it takes more work and effort to not use glibc these days! Nobody will take you seriously if you suggest having a single developer waste even a single day trying to use a non-glibc library in an embedded Linux system. It's much cheaper and more efficient to use the well-tested and very capable glibc, given that the embedded hardware constraints of the 1950s-1990s are no longer of any concern.
Respect is earned, not given.
Except in Bradford West.
Well, there are people with a lot of ability who are able to cooperate with others and there are those who cannot. Theo should pick a smaller project than an operating system to do by himself and I'm sure he could do brilliantly and make it famous and widely used (OpenBSD is known by most of slashdot, mostly for its phenomenal strokes of brilliance in the areas Theo cares about and its gaping lack of features in other areas). Drepper on the other hand, well, I'm not sure what's so great about glibc, sure, sprintf never has crashed on me but fucked if I'm handing out any credit to the guy who manages stlib.h just because he manages it.
When Argumentum ad Hominem falls short, try Argumentum ad Matrem
You're high if you think Linux hasn't been dwarfed by iOS alone, never mind Android and OS X. Wake me up when hundreds of millions of Linux/glibc consumers arrive.
Read http://sourceware.org/bugzilla/show_bug.cgi?id=4980 or http://sourceware.org/bugzilla/show_bug.cgi?id=4403 for a good laugh. /. trolls pale in comparison. :D
Speaking as someone who develops embedded devices: Raven64 is correct.
Many projects still require minimal hardware(less than 16KiB RAM, a barebones processor with no cache etc etc), for many different reasons, such as hardening, long battery life(speaking months or even years here, not hours or a couple of days at most), heat/cooling reasons etc, and reduced complexity, increasing reliability.
Other reasons not to use glibc include real-time requirements, with glibc being barely capable of soft real-time, meaning you use other libraries instead, if you even use any.
No, building your own little HTPC from a Mini-ITX board etc does not constitute embedded development.
He didn't judge anyone. What he said is correct: Drepper is often wrong. Just look at the dick waving contest he engages in every time someone says strlcpy() anywhere near him.
Udpcast recently switched from glibc to uclibc in order to stay small enough to stay bootable from floppy.
I dunno; GP has actually signed his post, unlike you, and anyone can go check his Slashdot comment history. In fact, I don't even need to do that, because I see his upmodded posts often enough - and, invariably, they are informative and correct when technical matters are involved (and he doesn't post about stuff he doesn't know, either).
Drepper, on the other hand... his stubbornness when pointed out that his code is plain wrong and non-portable is enough to judge him on his merits alone, regardless of the attitude problem that he has.
I don't have exact numbers here, but Ulrich has had a massive role in producing what may very well be the most widely used C library ever. There's a very good chance that the very computer you're using right now is executing at least some of the code he's written hundreds of times each second!
There's an excellent chance that the computers that a number of people posting to Slashdot are running are executing code either in a C library from Microsoft or in one that's a combination of FreeBSD and Apple code; are you asserting that most Slashdot posters are running Linux on the machine on which they're posting (which might be correct - the Slashdot audience is different from the "owns a desktop or notebook computer" audience) or that Drepper's code is in one or both of those C libraries? The rest of your post may be valid, but be careful with that assumption - it's not a Linux-only party here.
A truly great programmer does not feel the need to belittle others' efforts. A truly great project leader does not feel the need to be rude and dismissive.
I don't think having such a psychological complex necessarily disqualifies one from being a "truly great programmer." There are plenty of utter douchbags who excel in their fields/skills. But you'd be right about project leadership, as that is an area that requires interpersonal skills and much patience and tolerance. Partly because you have to deal adeptly with highly skilled douchebags, but especially because you have to deal with the mediocre ones as well.
Someone had to do it.
Er, Linux won't run in 16KB RAM. I don't think it ever did. Usually, embedded devices have a cache. Indeed RISC CPUs with their instruction throughput are more dependent on a cache than would otherwise be the case.
I'm an embedded developer by trade and I've seen projects using both glibc and uclibc. I'd gravitate towards uclibc on the basis that it is small, lightweight and easy for me to poke around in compared with the glibc behemoth; these things are all important. On the other hand, uclibc occasionally has some stupid bugs, like a leap year bug that was fixed recently, and which showed up about a year back.
Yeah, but the AC claimed that the hardware restraints don't exist anymore
Not really. Most use uClibc internally, even though they could use glibc. uClibc and newlib are two of the more common libc's to use for embedded, even when there's plenty of flash and processor power to go around. Hell, there are piles of toolchains prebuilt around uClibc.
Heck, most embedded systems can get away from using busybox, but most choose to use it because the reference design chosen uses it (very few devices are customized beyond the basics - mostly cost reductions and such).
Honestly, I run across far few glibc based toolchains for cross compiling than non - uClibc/newlib's by far the more popular, and with the ease at which people can obtain it versus having to build it themselves. Heck, I'm sure the glibc folks weren't helping themselves by concentrating on x86-based systems.
I don't see how it'd be frightening. There's probably some sort of card game that relies on strfry() to shuffle the deck.