Slashdot Mirror


Debian Switching From Glibc To Eglibc

ceswiedler writes "Aurelien Jarno has just uploaded a fork of glibc called eglibc, which is targeted at embedded systems and is source- and binary-compatible with glibc. It has a few nice improvements over glibc, but the primary motivation seems to be that it's a 'more friendly upstream project' than glibc. Glibc's maintainer, Ulrich Drepper, has had a contentious relationship with Debian's project leadership; in 2007 the Debian Project Leader sent an email criticizing Drepper for refusing to fix a bug on glibc on the ARM architecture because in Drepper's words it was 'for the sole benefit of this embedded crap.'"

153 of 565 comments (clear)

  1. At Least It's Egier to Use and Less Glib by eldavojohn · · Score: 4, Funny

    Mod me down, boys.

    --
    My work here is dung.
    1. Re:At Least It's Egier to Use and Less Glib by Philip+K+Dickhead · · Score: 5, Funny

      Talk about "embedded crap". This ancient troll seems to be lodged between your ears!

      --
      "Speaking the Truth in times of universal deceit is a revolutionary act." -- George Orwell
    2. Re:At Least It's Egier to Use and Less Glib by atari2600 · · Score: 5, Informative

      " Any change will negatively impact well
      designed architectures for the sole benefit of this embedded crap."

      ^ Actual Quote.

    3. Re:At Least It's Egier to Use and Less Glib by RubberDuckie · · Score: 3, Interesting

      Mod parent up, as the above are Drepper's words with a bit more context. Nothing like stirring up the pot a bit with sensational headlines.

    4. Re:At Least It's Egier to Use and Less Glib by ta+bu+shi+da+yu · · Score: 5, Funny

      I know! For the record, he was talking about the problems of the patch in aquatic environments. "It's working fine everywhere but this carp architectures."

      I'm not surprised that the project's been forked after reading this bug. Not only was he wrong, but he was adamantly wrong. It was only when his employer (RedHat) stepped in that it looks like they solved the issue.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    5. Re:At Least It's Egier to Use and Less Glib by schon · · Score: 5, Funny

      I'm not surprised that the project's been forked after reading this bug. Not only was he wrong, but he was adamantly wrong.

      Wow. Looks like he went to the Theo DeRaadt School of Social Graces.

    6. Re:At Least It's Egier to Use and Less Glib by larry+bagina · · Score: 5, Informative

      For even more context, look at the patch. The "negative impact" is a couple extra microseconds of cpu time to memset 20 bytes instead of 3. I guess 32-bit x86 ought to be enough for anyone.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    7. Re:At Least It's Egier to Use and Less Glib by Darinbob · · Score: 2, Insightful

      I was actually surprised anyone even objected, and to object in such a poor way. Agreeing or disagreeing with someone else's ABI is irrelevant. If we all want to go back to the days of assuming only a single OS and single CPU exists, and that portability just gets in the way of true genius, we can always use Windows.

    8. Re:At Least It's Egier to Use and Less Glib by Chris+Burke · · Score: 4, Insightful

      For even more context, look at the patch. The "negative impact" is a couple extra microseconds of cpu time to memset 20 bytes instead of 3. I guess 32-bit x86 ought to be enough for anyone.

      Really? Since that's a single cache line in either case, the difference is actually going to be more like maybe a dozen nanoseconds on a modern x86 (when it was going to take around 100ns in the base case assuming a cold cache miss).

      --

      The enemies of Democracy are
    9. Re:At Least It's Egier to Use and Less Glib by A+Nun+Must+Cow+Herd · · Score: 5, Insightful

      That's quite a read, you have to go out of your way to get multiple people writing comments like this one:

      "Wow, you are a bastard. I hope you die alone. :D"

      How do people with an attitude like Drepper's become maintainers of crucial projects? He seems obviously unsuitable (whether he has superb technical skills or not).

    10. Re:At Least It's Egier to Use and Less Glib by totally+bogus+dude · · Score: 4, Informative

      That particular comment was in response to something posted by a fake Drepper. Check the email address for comment #40.

    11. Re:At Least It's Egier to Use and Less Glib by larry+bagina · · Score: 5, Informative

      yes, nanoseconds. If that.

      Just for kicks, I compared memsetting 20 bytes (aligned) vs 3 bytes (unaligned) with llvm-gcc (which can output code in a dozen assembly languages).

      For mips, sparc, and ppc32, a 3-byte unaligned memset must be done 1 byte at a time, so the 20 byte memset is only 2 instructions more (5 32-bit stores).

      For 64-bit alpha and ppc64, the 20-byte memset only uses 3 instructions (2 64-bit stores + a 32-bit store).

      x86 (and arm, for that matter) can do a 3-byte memset as a 8-byte set and a 16-byte set.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    12. Re:At Least It's Egier to Use and Less Glib by A+Nun+Must+Cow+Herd · · Score: 2

      Thanks - I'm surprised their bugzilla installation makes it so easy to superficially impersonate people in posts.

      Still, some of the other comments are pretty strong too. He seems to have a knack for winding people up.

    13. Re:At Least It's Egier to Use and Less Glib by BrokenHalo · · Score: 2, Interesting

      How do people with an attitude like Drepper's become maintainers of crucial projects?

      I have absolutely no evidence to back this up, but perhaps he has a borderline case of Asperger's syndrome or some other form of autism. It's not unknown for such a characteristic to have a worthwhile outlet in the programming world, since obsessive perfectionism is really useful in dealing with low-level code like compilers and filesystems.

      But it does make it pretty hard to get along with such individuals.

    14. Re:At Least It's Egier to Use and Less Glib by ta+bu+shi+da+yu · · Score: 5, Informative

      Indeed - and not just ordinary, non-involved people. In one bug alone, he managed to upset Gentoo's Mike Frysinger, he told Petr Baudis of SuSE that "I never saw your name on my paycheck. Since if that's not the case you cannot order me around., and gave the MirOS developer Thorsten Glaser cause to comment on Drepper's standards.

      Nice going!

      --
      XML is like violence. If it doesn't solve the problem, use more.
    15. Re:At Least It's Egier to Use and Less Glib by noundi · · Score: 3, Insightful

      ... in Drepper's words it was 'for the sole benefit of this embedded crap.'"

      Aurelien Jarno has just uploaded a fork of glibc called eglibc...

      I love FOSS.

      --
      I am the lawn!
    16. Re:At Least It's Egier to Use and Less Glib by MikeBabcock · · Score: 2, Insightful

      While funny, when was Theo wrong exactly?

      --
      - Michael T. Babcock (Yes, I blog)
  2. Hope it works by AvitarX · · Score: 5, Funny

    I would hate the embedded version's maintainer to not want to fix a bug that was simply for 'for the sole benefit of this desktop crap.'

    --
    Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
  3. Don't be so Glib by powerlord · · Score: 5, Insightful

    It might be "Egier" to use, but how far will it stray from the original project (that everyone else is currently using), or is it the first leak in the Dam before everyone jumps ship.

    Its especially ironic given the push that netbooks have had over the past year, and the emphasis on Power savings that is pushing developers to consider using ARM chips, and by extension Linux (since Windows just plain won't run on them :) ).

    If the OSS community doesn't support an opportunity to get our foot in the door (in a BIG way), by putting "our" OS on the "longest running and lightest" Netbooks/Notebooks that come out (or put our software out with known bugs), then we deserve to reap what we sow.

    --
    This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
    1. Re:Don't be so Glib by TheStonepedo · · Score: 3, Informative

      I know you mean Windows in the XP/Vista/2007 sense, but historically Windows CE/Mobile has run on ARM chips. While current netbook users demand slightly more out of their machine than they'd have had in a PDA five years ago, an up-to-date mobile edition of Windows would run on embedded chips splendidly (or as splendidly as Windows runs).

      --
      I'll be your candy shop of infinite deliciousity if you'll be my discotheque of endless rump-shaking.
    2. Re:Don't be so Glib by Stewie241 · · Score: 2, Informative

      Well, if you had read the summary, you would notice that it is binary and source compatible. I would assume that they would stay relatively close except in cases where glib is being uncooperative.

    3. Re:Don't be so Glib by FlyingBishop · · Score: 3, Informative

      Please read the summary.

      The maintainer is hostile to ensuring compatibility on ARM.

    4. Re:Don't be so Glib by ta+bu+shi+da+yu · · Score: 5, Informative

      The ABI is compatible with glibc, this doesn't preclude them from including new functions like strlcpy and strlcat - which again looks like something that Ulrich Drepper doesn't think is a good idea. In fact, the man went so far as to reject the patch, stating that:

      This is horribly inefficient BSD crap. Using these function only
      leads to other errors. Correct string handling means that you always
      know how long your strings are and therefore you can you memcpy
      (instead of strcpy).

      Beside, those who are using strcat or variants deserved to be punished

      Fork couldn't have come soon enough!

      --
      XML is like violence. If it doesn't solve the problem, use more.
    5. Re:Don't be so Glib by jabjoe · · Score: 4, Insightful

      Doesn't matter what Windows it is. Windows on ARM won't have any software. It can't use the mountain of x86 Windows software, which has always been it's advantage until now. Because of the closed nature of the platform, it's not like everything can just be recompiled for ARM. Linux on the other hand has been multi-platform for a long time, all the software is open source, so most stuff was changed so it can compile on other platforms (including ARM). Linux comes to the table very strong on ARM, where as Windows without Windows software is pointless.

    6. Re:Don't be so Glib by DrXym · · Score: 2, Insightful
      I don't disagree, Windows mobile would run great on ARM processors. However anyone expecting a desktop experience from a netbook with ARM and Windows mobile is going to be sorely, sorely disappointed. The apps are nowhere near sophisticated enough for desktop use meaning the overall experience will be pretty lousy, more like a glorified PDA.

      By contrast virtually all of a standard Linux desktop will compile to ARM. You might be missing some important pieces like Flash player, Sun Java and some other stuff, but the core experience would all be there. You'd get Firefox, OpenOffice, media players and everything else, subject to the system's other limitations such as memory & disk footprint.

    7. Re:Don't be so Glib by lilo_booter · · Score: 2, Insightful

      But, umm, he's right. He may have been abrupt in the way he phrased his initial response, but his reasoning is not at fault.

    8. Re:Don't be so Glib by hyc · · Score: 2, Interesting

      Oddly enough, I have to agree with Drepper here, strcat() et al are terrible, and anyone using them *does* deserve to be punished. (Odd because of the many other disagreements I've had with him, on bug 4980 and elsewhere.)

      But what do I know, it's not like I ever maintained a C compiler, high performance C library or multitasking kernel before. (Oh wait, I did...)

      --
      -- *My* journal is more interesting than *yours*...
    9. Re:Don't be so Glib by samjam · · Score: 2, Informative

      Yes but did you read the thread?

      strlcat was the salvation for those who have already been punished by legacy applications abominable use of strcat.

      Sam

    10. Re:Don't be so Glib by powerlord · · Score: 2, Informative

      What happens if/when there is an x86 -> arm jit runtime compiler?

      Remember apple has a nice ppc -> x86 jit for when it switched to intel cpu's, so it's not impossible.

      and don't forget than dotnet is cpu independent!

      Good questions, but unfortunately for MS its a different situation.

      1. Apple's Rosetta works because it the Intel hardware its running on is more powerful than the PPC hardware its emulating. A better example would be VirtualPC on Apple PPC hardware running Windows. It worked, but it was dog slow compared to VMWare or Parallels on Apple Intel hardware.

      Another option some people have mentioned, that goes along with Rosetta is the idea of "Fat Binaries" where one "binary" actually includes multiple binaries for different architectures. Apple did this with their Universal Binaries that contain both PPC and Intel code inside them. This allows the same binary to work on multiple architectures. Its a great idea and contains the flexibility to let you support multiple architectures, but I think MS would need to modify the OS to support it, and even then, it balloons the size of the binary because of all the "redundant" pieces that most users won't even use. This isn't something that you want for a netbook. On OSX this extra space can often run in to the GB depending on how many applications you have installed. Once of the big things in Snow Leopard is that removing PPC support allows Apple to start stripping out that cruft themselves (at the expense of no longer supporting PPC hardware from 3-4 years ago).

      2. .Net is SUPPOSED to be architecture independent, and most of the stuff that is developed for Mono is, but a lot of the stuff MS develops make calls to WINtel specific libraries. They (MS) would have to port these libraries to ARM. They could certainly do it, but I doubt it would just be "recompile the source" since a lot of those libraries were probably not coded with portability in mind, let alone making sure that the architecture supports the features the libraries are expecting, in the format they are expecting.

      --
      This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
    11. Re:Don't be so Glib by Just+Some+Guy · · Score: 3, Insightful

      But, umm, he's right. He may have been abrupt in the way he phrased his initial response, but his reasoning is not at fault.

      No, he's not. The entire point of not using assembler is to have the language do convenient stuff for you. What's more efficient, reasonable, and secure: implementing those nice functions well in one standardized library, or forcing each programmer to re-implement them - probably poorly?

      memcpy for string manipulation, my ass. I thought we'd moved past that.

      --
      Dewey, what part of this looks like authorities should be involved?
    12. Re:Don't be so Glib by hyc · · Score: 2, Informative

      You and the vast majority of C programmers, it seems.

      Security aside, think of it from an efficiency perspective: it always starts from the beginning of the target string (since it has no other information available to it), iterates to the end, and then begins catenating the second string. This gives you O(n^2) behavior when catenating multiple times to the same string. The str* functions are some of the worst ever designed...

      There are two obvious fixes:
        1) always record explicit lengths of your strings, so that you can catenate by just memcpying to the end of a given target string
        2) use my strcopy() function, which returns the pointer to the terminating NUL at the end of the target string.

      E.g., this is legal and useful:
      strcat(strcat(strcpy(a,b),c),d);

      but it's slow because each strcat starts over from the beginning. If strcpy/strcat always returned the pointer to the end of the target string, instead of the pointer to the beginning of the target string (which is what strcopy() does) then you get no efficiency loss, and you only need one function instead of two:

      strcopy(strcopy(strcopy(a,b),c),d);

      After you fix this basic inefficiency you can of course define strn/strl variants as you see fit...

      --
      -- *My* journal is more interesting than *yours*...
  4. Might be a good idea by je+ne+sais+quoi · · Score: 5, Interesting

    Speaking as a Debian user who has had some major upgrade problems directly caused by glibc, anything that's "more upstream friendly" is okay by me. I've had my system totally screwed by glibc problems before, so badly that the only thing I could think of to do was to reinstall (it was while installing on a new machine, so it was okay). Whenever I see that glibc in the upgrade list for apt-get upgrade, I get a little queasy to this day though, along with upgrading the locales package.

    --
    Gentlemen! You can't fight in here, this is the war room!
    1. Re:Might be a good idea by Timothy+Brownawell · · Score: 5, Insightful

      Speaking as a Debian user who has had some major upgrade problems directly caused by glibc, anything that's "more upstream friendly" is okay by me.

      I don't think this means "easy to upgrade", but rather "the maintainer isn't an asshole".

    2. Re:Might be a good idea by TheRaven64 · · Score: 4, Informative

      Which, unfortunately, is the problem with glibc. Remember the fact that he refused to incorporate the safe string handling functions because they were 'inefficient BSD crap,' forcing portable OpenSSH and a number of other projects to include their own copies of things like strlcat()/strlcpy() to work on GNU systems?

      --
      I am TheRaven on Soylent News
    3. Re:Might be a good idea by fm6 · · Score: 5, Informative

      Drepper does come across as an asshole totally antagonistic to ARM and embedded development. But after a little googling, I'm convinced his thinking is a little more complicated than that. Basically, he seems to think that glibc is poorly suited to embedded applications, and wishes that ARM developers would develop their own specialized libcs.. He's also concerned that in GCC development, the needs of some platforms that happen to have powerful backers (such as AIX) get more priority than their mindshare deserves.

      He's got some good points. He does express them in a way that's unnecessarily offensive and combative. But that doesn't make him an asshole. That makes him a typical geek!

    4. Re:Might be a good idea by xant · · Score: 2, Interesting

      These are not necessarily unrelated. You can't rule out the possibility that glibc problems are caused by a reluctant maintainer not fixing known issues because the known issues are a hassle.

      That said, I cast a very skeptical eye on anyone who says glibc toasted their system. What they usually really mean is "I installed this unsupported sid package, which required a newer glibc version, and it brought in the kitchen sink with it because of the dependency tree, and now I'm toast."

      --
      It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
    5. Re:Might be a good idea by je+ne+sais+quoi · · Score: 2, Insightful

      That said, I cast a very skeptical eye on anyone who says glibc toasted their system. What they usually really mean is "I installed this unsupported sid package, which required a newer glibc version, and it brought in the kitchen sink with it because of the dependency tree, and now I'm toast."

      It was actually during a dist-upgrade, but from sarge to etch (kde was hugely out of date for an end user). In my defense though, why should my system get so hosed while trying to do that? I thought the entire point of having a package manager was to make those kinds of things seamless. glibc is the only package that hosed my whole system doing that. Even having problems with locales required me to revert and just reinstall some things. I think that having a package maintainer who is more open to fixing bugs in existing releases (such as is shown in some of those bug reports that people have listed here) would make life much easier for transitioning and make it more flexible about which packages depend on it. This is especially important for such a low level package like glibc. But hey, what do I know.

      --
      Gentlemen! You can't fight in here, this is the war room!
    6. Re:Might be a good idea by Nicholas+Evans · · Score: 5, Informative

      It's horribly inefficient BSD crap. Get your Drepper quotes right!

    7. Re:Might be a good idea by Geoffreyerffoeg · · Score: 5, Insightful

      He's got some good points. He does express them in a way that's unnecessarily offensive and combative. But that doesn't make him an asshole. That makes him a typical geek!

      Then we need fewer typical geeks, and more atypical geeks.

    8. Re:Might be a good idea by pz · · Score: 4, Insightful

      He's got some good points. He does express them in a way that's unnecessarily offensive and combative. But that doesn't make him an asshole.

      Sorry, being unnecessarily offensive and combative is the very definition of an asshole. The term fits.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    9. Re:Might be a good idea by evanbd · · Score: 5, Insightful

      He's got some good points. He does express them in a way that's unnecessarily offensive and combative. But that doesn't make him an asshole. That makes him a typical geek!

      Then we need fewer typical geeks, and more atypical geeks.

      Indeed. For the record, I don't think he is a typical geek. But if that's your definition of typical geek, then the typical geek is an asshole.

    10. Re:Might be a good idea by bytesex · · Score: 2, Interesting

      It is a problem that is starting to pervade glibc anyway - the last few years seem to have been solely dedicated to 'tarting up' glibc with thread-safety and locale-awareness (and UTF). To keep things just as speedy, they have 'macrofied' a lot things; a lot of things you used to think were functions are now actually macros (which is a disaster for re-linking, but that's another discussion (I'm looking at you, Oracle !)). And it's not just embedded stuff that suffers (although they suffer the most); if I run a server which does not use threads, then any re-entrancy adds a few instructions per call. I don't know - it just adds up where it shouldn't. The ability to use a glibc as efficiently as possible according to your wishes, /should/ become an option. Do it via multiple glibc's, make the compiler choose them via #defines, or via relocation-on-the-fly, I don't care. But it's gotta happen. Not everybody likes that java-finish on their functionality.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    11. Re:Might be a good idea by MikeBabcock · · Score: 2, Informative

      You have to love his replacement example:

      *((char *) mempcpy (dst, src, n)) = '\0';

      --
      - Michael T. Babcock (Yes, I blog)
    12. Re:Might be a good idea by fm6 · · Score: 2, Funny

      Discussion and argument means explaining yourself. You didn't do that. You just contradicted me.

  5. FINALLY by Anonymous Coward · · Score: 5, Interesting

    Drepper has had this coming for many, MANY years.

    He has pissed off practically everybody in the FOSS world at least once.

    Good riddance.

    I hope this ends up like the gcc/egcs thing a while back. In the end the old gcc was shut down and egcs was renamed back to gcc.

    It would be for the best of glibc if this Drepper dude got removed from the project.

    I still think we should organize a mud wrestling match between Ulrich and Theo.

    1. Re:FINALLY by David+Gerard · · Score: 4, Funny

      Ulrich, TuomoV and Joerg Schilling.

      --
      http://rocknerd.co.uk
    2. Re:FINALLY by DaGoodBoy · · Score: 2, Insightful

      I'm sure the EGlibc and EGcs naming was not entirely coincidental.

      --
      My God! It's full of Voids!
    3. Re:FINALLY by Anonymous Coward · · Score: 4, Informative

      Sure he's a bit abrupt on the glibc dev list, but does any of that really interfere with his role as package maintainer?

      I mean other than the fact that he rejects small, well-designed patches to the build system because the problem doesn't affect him -- he insists that no mere mortal should build glibc anyway.

      And maybe he packages the system to fail with no useful errors when building with the default options on i386 -- but he also capriciously and unilaterally decides which platforms are supported both as targets and build systems, and again, mere mortals shouldn't attempt to build glibc in the first place.

      And he doesn't package releases into tarballs, and only tags new releases on his schedule, even if the last release has major bugs with committed, tested patches in wide use downstream -- but he does apply tags on an arbitrary schedule to code that may or may not have been widely tested, so at least releases are predictable.

    4. Re:FINALLY by ThePhilips · · Score: 5, Insightful

      Drepper has had this coming for many, MANY years.

      Frankly, I'd say Ulrich is fitting person for a project like glibc.

      I do not think his a bad guy, it's just a job of glibc maintainer (which is a central piece of "Linux OS", second most important after kernel) would make out of anybody an a**hole.

      I'd say his job is 99.9% of times saying "NO" to all the silly proposals flying all the time on glibc mail lists.

      But it's just in this case he was wrong. Shit happens.

      --
      All hope abandon ye who enter here.
    5. Re:FINALLY by ak3ldama · · Score: 2, Interesting

      There is always the possibility that he is right. Adding something to glibc just for ARM and embedded devices might be a bad idea, an embedded "fork" is probably what was needed.

      --
      "but money is the God of Algiers & Mahomet their prophet." - Rich. O'Bryen June 8th 1786
    6. Re:FINALLY by Anonymous Coward · · Score: 3, Funny

      Ulrich, TuomoV and Joerg Schilling.

      Get Dan Bernstein in that match and you could sell it on pay-per-view.

    7. Re:FINALLY by emurphy42 · · Score: 4, Interesting

      Drepper's complaint was that the fix would slow things down on other architectures. The counterarguments were (1) he was relying on an assumption that could be broken under other circumstances as well, and (2) a different version of the fix that would actually speed things up on all architectures. (I assume these things are correct because some version of the fix was eventually accepted.)

    8. Re:FINALLY by Anonymous Coward · · Score: 5, Informative

      He refused nscd patches to fix issues in glibc that had numerous gross errors like:

      1) assumed all replies arrived in one packet
      2) database storage mishandling
      3) zero-length returns from syscalls due to unrelated signals

        And then last year he "found" many of these bugs and finally fixed them the same way, after rejecting the same patches 3 years earlier. Ulrich Drepper is the reason nscd sucked so badly for so many years in Linux, as he's the reason for so much other suckage, and the reason most distributions end up with a heavily forked glibc anyway. This is just sharing those forks - the forks happened many years ago in every distribution that works. Even Redhat has a glibc that's heavily forked from the mainline, and they pay him.

    9. Re:FINALLY by TheRaven64 · · Score: 5, Interesting

      Sure he's a bit abrupt on the glibc dev list, but does any of that really interfere with his role as package maintainer?

      Yes. When he refuses to incorporate the string manipulation functions that don't perform silent truncation, that's a security problem. Every BSD libc (including Darwin/OS X) has strlcat() and friends, but Drepper decided they were 'inefficient BSD crap'. A few projects, like OpenSSH, just include a copy of the ones from OpenBSD libc in their own code, but other projects over the years have just fallen back to strncat() and friends if the safe versions aren't available, and had security problems on GNU platforms that didn't apply elsewhere.

      If you're going to refuse patches for no reason other than the fact that you're an idiot, then it is affecting the project you maintain and a fork is an excellent idea.

      --
      I am TheRaven on Soylent News
    10. Re:FINALLY by xant · · Score: 4, Insightful

      Honestly, even if none of that were true, you're not allowed to be an asshole any more if you are in charge of a major project. Open source is a *community*, and people flee the community when it's populated by assholes. Darwinian selection tends to filter out assholes in this environment, because it doesn't take all that much to advance a better project, even if the asshole is extremely gifted.

      --
      It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
    11. Re:FINALLY by welshbyte · · Score: 2, Informative

      If Debian users want to use the strl* functions and others from BSD libc they can get them from the libbsd* packages, but of course that's far from ideal.

    12. Re:FINALLY by X0563511 · · Score: 4, Informative

      The guy knows what he is doing, too. If you haven't, I suggest reading his paper:

      http://people.redhat.com/drepper/cpumemory.pdf

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    13. Re:FINALLY by Curtman · · Score: 5, Funny

      Get Dan Bernstein in that match and you could sell it on pay-per-view.

      Hans Reiser death match... Ahhh shit, probably still too soon for that one.

    14. Re:FINALLY by EveLibertine · · Score: 3, Funny

      He has pissed off practically everybody in the FOSS world at least once.

      Good riddance.

      Because the FOSS world is full of well balanced individuals who would never get unreasonably pissed off at the drop of a hat.

    15. Re:FINALLY by Thuktun · · Score: 2, Informative

      Please go back and re-read the post to which you replied. I think you missed something, like some small amount of sarcasm.

    16. Re:FINALLY by Austerity+Empowers · · Score: 3, Insightful

      This proves he understands computer architecture, particularly for the x86 and knows how to write code that works very well on his targeted hardware. A lot of people do, particularly in hardware development, firmware and (get ready) embedded development. Not everyone, I'm sure he gets lots of crappy patches.

      That doesn't qualify him to lead anything, nor does it excuse the attitude. If he wants to pull off the Asperger's thing and obsess over every lost access cycle, he should do it as a code contributor while a more dynamic personality handles the project leadership.

      Put another way, any program can be optimized down to nothing if you throw out all the requirements. He doesn't seem to balance the two very well, nor does he want to share his insight with others as to why he makes arbitrary decisions.

  6. Re:Efficiency? by Anonymous Coward · · Score: 3, Informative

    Not really in any way that you'd notice. It comes down basically to the fact that, despite glibc being rather portable, Drepper is a bit of an asshat towards the ARM community, and Debian needs to work on more than a dozen architectures without asshattery.

    It's also not so much of a fork as it is a "branch", sort of like the cherry-picking that happens to generate the -mm tree of the kernel; it's not 100% of the same sauce, but it's close enough that mostly nobody cares.

  7. Re:uClibc by profplump · · Score: 5, Informative

    uClibc is not binary compatible with glibc, so you can't compile on one and run on the other. Heck, uClibc is generally not even binary compatible across versions -- you have to recompile the whole system every time you update uClibc.

    That's not to say uClibc isn't useful, but it doesn't have the same goals (or features) as glibc or eglibc.

  8. More context by Anonymous Coward · · Score: 2, Interesting

    This has nothing to do with "x86 only". All ABIs designed by people who have a
    bit of understanding require no change. Any change will negatively impact well
    designed architectures for the sole benefit of this embedded crap. But your own
    version of the file in the add-on.

    He wasn't saying that embedded systems were inherently crap. It sounds to me like he has a disagreement with some specific set of design choices.

    1. Re:More context by dgatwood · · Score: 4, Funny

      everywhere but this carp architectures

      Seems pretty fishy to me.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    2. Re:More context by hardburn · · Score: 4, Insightful

      Looking elsewhere through the bug comments, it seems that there are assumptions in the glibc code that could break whenever the gcc people feel like it, even on x86. This was something that needed to be fixed, and isn't specific to x86 or any other non-embedded arch.

      Also, when has x86 ever been a "well designed architecture"?

      --
      Not a typewriter
    3. Re:More context by Chuck+Chunder · · Score: 2, Funny

      At least Drepper wasn't being koi about it.

      --
      Boffoonery - downloadable Comedy Benefit for Bletchley Park
    4. Re:More context by grcumb · · Score: 2, Funny

      everywhere but this carp architectures

      Seems pretty fishy to me.

      I dunno, I think he has every right to be worried about how his cod scales.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    5. Re:More context by mikiN · · Score: 3, Funny

      Nah, he's just thinking about Sturgeon's Law. Ninety percent of everything is crab.

      --
      The Hacker's Guide To The Kernel: Don't panic()!
  9. Re:uClibc by lobiusmoop · · Score: 4, Informative

    Agreed. It's what Gumstix seems to be using for their tiny ARM-based boards, it's a good lightweight alternative to the increasingly bloated glibc.

    ARM is getting big these days, it's not a market to sideline.

    --
    "I bless every day that I continue to live, for every day is pure profit."
  10. downstream from debian by C0vardeAn0nim0 · · Score: 5, Interesting

    downstream we have many, many distros now adays.

    so, if this eglibc becomes the default, it'll end up being the default in pretty much all debian based distros like ubuntu, mepis, xandros, etc.

    a repeat of the whole xfree86/x.org thing ?

    --
    What ? Me, worry ?
    1. Re:downstream from debian by TopSpin · · Score: 3, Interesting

      a repeat of the whole xfree86/x.org thing ?

      A repeat of that, and also a repeat of the GCC/EGCS fork. This isn't the first major fork in FOSS history and it won't be the last. Both the Xfree86/Xorg and GCC/EGCS forks resulted in improvements to the progress and maintenance of these systems/tools.

      Perhaps another glibc fork is overdue. Remember that the GNU C library that Ulrich is paid by Redhat to maintain was, for a long time, forked by Linux kernel developers. Consider also that there are already at least 5 alternative C library implementations (Bionic, dietlibc, uClibc, Newlib, Klibc) for Linux, all revolving around the embedded use case. Is it any wonder this fork pre-appends E for embedded as a name? Embedded Linux is absolutely crucial to the future of Linux generally; Linux has its foot in the door of many institutions because it's easy to embed.

      There is no actual technical reason (including performance regressions) a C library implementation need be exlusively 'embedded' or not. It certainly makes development more difficult as more conditions appear in the source and the build system gets more complex. C library developers/maintainers should be capable of dealing with that degree of complexity. Lightweights need not apply.

      By its nature a C library must contend with so many architectures and use cases that no one developer can possibly encompass all the required knowledge. Perhaps having a prima donna like Ulrich play gate keeper is not optimal.

      --
      Lurking at the bottom of the gravity well, getting old
  11. Re:uClibc by impaledsunset · · Score: 5, Insightful

    uClibc is created for embedded systems, meaning that it might lack some of the features that glibc has. Debian doesn't work only on embedded systems, and therefore it needs a full libc with all bells and whistles. eglibc is a glibc fork, which might be targetting embedded systems, but retains full source and binary compatibility with glibc, and I would assume that any useful feature would still be there, possibly optional.

    And they switch not because they want lightweight libc, but because they want more friendly upstream. uClibc doesn't seem to be a good choice if that is the reason.

  12. For the greater good by Rob+Riggs · · Score: 5, Interesting
    That quote in the story is way out of context. Ulrich's words were:

    Any change will negatively impact well designed architectures for the sole benefit of this embedded crap.

    As the maintainer of GLIBC, he has to be the steward for the greater good of all users. And sometimes that means pissing off a vocal constituency.

    --
    the growth in cynicism and rebellion has not been without cause
    1. Re:For the greater good by Anonymous Coward · · Score: 2, Insightful

      The thing about a vocal constituency in OSS is they can do what you wont and then replace you......

    2. Re:For the greater good by Burkin · · Score: 5, Interesting

      He claims random crap like that all the time when he refuses to fix bugs.

    3. Re:For the greater good by Anonymous Coward · · Score: 5, Informative

      Not only that, but Drepper was taking with where the change was being made. He was suggesting that the alternative implementation be in an architecture-specific file rather than changing the generic implementation.

      In other words, in this particular case, the idea was that the original patch would incur a performance hit to x86 and other mainstream architectures in compensating for ARM's differing alignment. Consequently Drepper wanted the change to be done in a platform-specific file outside of his purview.

    4. Re:For the greater good by BSAtHome · · Score: 5, Insightful

      The code hit an assert() in glibc. That is per definition a bug. You should never implement an assertion and then complain if someone hits it and confronts you with the design choices of that time. When you are informed of a triggered assert(), then you should act like a man and fix the code.

    5. Re:For the greater good by Burkin · · Score: 3, Insightful

      But that would actually involve Ulrich actually admitting that he's ever been wrong.

    6. Re:For the greater good by Areyoukiddingme · · Score: 5, Insightful

      Reading the context didn't help his case any. I read the bug report, and the attached patch, and was appalled that Ulrich thought he was defending good code. If the code is expected to run on even ONE other platform, what he was doing was incredibly stupid. It doesn't matter if the vocal constituency is on a platform that doesn't please Ulric. There is more than one officially supported platform, so therefore his opinion was idiocy of the highest order.

      Anybody who thinks it's a good idea to depend on the size of structure padding, on one specific platform, with one specific compiler, and code a memory violation on that expectation, deserves all the vitriol the community can muster. Take his compiler away from him. He's not fit to write C.

    7. Re:For the greater good by LizardKing · · Score: 4, Interesting

      He's not fit to write C.

      Which is probably why glibc source code looks like preprocessor soup.

    8. Re:For the greater good by ThePhilips · · Score: 2, Informative

      Embedded architectures are never well designed. Their purpose is not to win "best design" award - but to be cheap and efficient.

      Embedded systems are extremely high volume market. Sparing few transistors here there often saves $$$$$ when you get into shipment volumes with 4-6 zeros at the end. Software development is often one time effort, that's why such oddities (as Ulrich have complained about) with easy workarounds are quite common. Main savings are coming from actual H/W costs.

      --
      All hope abandon ye who enter here.
    9. Re:For the greater good by Flavio · · Score: 3, Interesting

      >> He's not fit to write C.
      > Which is probably why glibc source code looks like preprocessor soup.

      Glib looks like preprocessor soup because it has to be portable and fast. The only sane way to avoid using the preprocessor is to move the logic into the C code. This usually results in better readability, but destroys performance. The insane way would be to duplicate code, which has a disastrous impact on maintainability.

    10. Re:For the greater good by VGPowerlord · · Score: 2, Informative

      That quote in the story is way out of context. Ulrich's words were:
      "Any change will negatively impact well designed architectures for the sole benefit of this embedded crap."

      He claims random crap like that all the time when he refuses to fix bugs.

      [citation needed]

      bconway posted 4 citations earlier.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    11. Re:For the greater good by shutdown+-p+now · · Score: 3, Informative

      Not only that, but Drepper was taking with where the change was being made. He was suggesting that the alternative implementation be in an architecture-specific file rather than changing the generic implementation.

      The problem is that the code before the fix wasn't generic at all. It could break on any architecture, and, in fact, it isn't even guaranteed to work on x86.

  13. Re:uClibc by OrangeTide · · Score: 5, Informative

    Because uClibc has(had) inferior threading and performance. And it is(was) missing the GNU extensions that many popular FOSS projects depend on.
    There is also newlib and dietlibc. In many ways I find newlib to be better than uClibc, although I still tend to use uClibc for projects because it's good enough and we already use it.

    --
    “Common sense is not so common.” — Voltaire
  14. Re:uClibc by Red+Flayer · · Score: 5, Funny

    Why this and not uClibc?

    Because uClibc brings us one step closer to Cthulhulibc.

    That which lies dead but dreaming must not be awoken, especially on embedded devices.

    --
    "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
  15. Yay! by Omnifarious · · Score: 5, Interesting

    I've been wishing for ages for maintainership to be taken away from Ulrich Drepper. Every single bug report I've seen submitted to him has been shot down for some stupid, insane reason, even when it's been accompanied by a patch. He's a bad maintainer.

    One example, I submitted and update to an EBCDIC encoding used on IBM mainframes. The encoding had several choices for what should be encoded as the newline character. It wasn't clear which one should be used, but the z/OS system I was using had definitely chosen a particular one. Glibc had chosen a different one. I submitted a patch that changed it and Ulrich rejected it saying that there wasn't a standard and so my version was no more valid than the version that was in the library.

    And, on another case, it was clear that the /etc/localtime was being read for each and every field that was being printed in strftime. This both caused things to be slow, and it also created a race condition if that file was changed. I recommended to the person who found the bug that he submit it. He did, and Ulrich rejected it for some bizarre reason I can't recall.

    He is an awful maintainer, and I really hope the project is taken away from him by this fork.

    1. Re:Yay! by Estanislao+Mart�nez · · Score: 4, Insightful

      One example, I submitted and update to an EBCDIC encoding used on IBM mainframes. The encoding had several choices for what should be encoded as the newline character. It wasn't clear which one should be used, but the z/OS system I was using had definitely chosen a particular one. Glibc had chosen a different one. I submitted a patch that changed it and Ulrich rejected it saying that there wasn't a standard and so my version was no more valid than the version that was in the library.

      Um, if you're describing that right, isn't he right to reject your patch? What if I'm a user of another EBDDIC system, and that system uses the choice that's in the library? Does that mean that if your patch is accepted, my patch to undo yours should be equally accepted?

    2. Re:Yay! by Omnifarious · · Score: 4, Informative

      Um, if you're describing that right, isn't he right to reject your patch? What if I'm a user of another EBDDIC system, and that system uses the choice that's in the library? Does that mean that if your patch is accepted, my patch to undo yours should be equally accepted?

      I suppose that is sort of correct. But the major EBCDIC system out there that people use these days is z/OS. I sort of doubt you could've actually found another system the change affected because it didn't change all EBCDIC encodings, just a specific version of the EBCDIC encoding.

      What I did is I created my own encoding that was named very similarly and carefully rebuilt glibc with every update. But that was a poor solution in several respects because that encoding is mentioned by name in several IBM manuals.

      I guess I would've appreciated a tiny bit of discussion, or perhaps the mention of a different system my change would've affected negatively. Neither were forthcoming, and I really doubt there is such a system.

    3. Re:Yay! by Blakey+Rat · · Score: 4, Informative

      The IBM implementation has to represent about 99.9% of all EBCDIC systems in existence. Ignoring it is just asinine.

  16. I make a living on this embedded crap by bzzfzz · · Score: 5, Informative

    Devices like MP3 players, set top boxes, and mobile phones account for far more GLIBC deployments than desktops and servers.

    1. Re:I make a living on this embedded crap by antime · · Score: 2, Informative

      Apple don't use glibc in any of their OSes.

    2. Re:I make a living on this embedded crap by midicase · · Score: 4, Informative

      I develop "embeddded" systems for the broadcast industry. Most every piece of broadcast equipment in a satellite truck and cable head end system runs some flavor of glibc in Linux.

      I quote embedded since it can mean different things to different people. We use a 233 MHz PPC processer with 128 Meg Ram which easily handles 60Mbit high-def streams. Relative to a modern desktop, our base system it is a bit light, but it's plenty enough to run the full glibc.

  17. "So what" vs "Wow, unbelievable" by pla · · Score: 4, Insightful

    in 2007 the Debian Project Leader sent an email criticizing Drepper for refusing to fix a bug on glibc on the ARM architecture because in Drepper's words it was 'for the sole benefit of this embedded crap.'

    And the developer has every right to make that call, just as eglibc has every right to make a fork that cares more about the embedded world, and Debian's maintainers have a right to switch.

    That said, I have two main thoughts on this issue.

    First, only a complete idiot would ignore the fact that one of Linux's primary strengths lies in the embedded market. Refusing to fix a relatively easy bug because it "only" affects that market sounds like something Microsoft would force on us "for your own good", such as DRM or the UAC.

    Second, Debian (as a stock install, I don't include remastered lightweight Knoppix variants in that category) does not have a significant presence in the embedded device market. Such uses either involve a platform-specific lightweight distro where available, or the devs take a roll-your-own approach. Getting in a pissing match over support for an irrelevant feature doesn't inspire me with confidence in Debian's leaders.

    1. Re:"So what" vs "Wow, unbelievable" by ArsonSmith · · Score: 4, Informative

      Actually Debian is quite prevalent in the embedded space. It's a very consistent develop environment across 11 supported architectures and an additional 5-10 unsupported ones.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    2. Re:"So what" vs "Wow, unbelievable" by Chris+Burke · · Score: 5, Insightful

      And the developer has every right to make that call

      Who said or implied otherwise in any way shape or form? Seriously.

      Getting in a pissing match over support for an irrelevant feature doesn't inspire me with confidence in Debian's leaders.

      But ARM is a supported architecture, used enough at least that they found the bug, and the bug was in glibc and thus affects all distributions that use glibc. What would make me lose confidence in Debian's leaders is if they agreed that because it's an "irrelevant" architecture that it shouldn't be fixed.

      And just because the bug in question may be "irrelevant" for Debian, the real issue they're getting in a pissing match over is an obstinant maintainer of one of the most important pieces of software in any linux distro. Switching to a libc with a friendlier upstream maintainer over an irrelevant bug makes a hell of a lot more sense than waiting until it's a critically important bug that the current guy decides he won't fix for some stupid reason, now doesn't it?

      --

      The enemies of Democracy are
    3. Re:"So what" vs "Wow, unbelievable" by Geoffreyerffoeg · · Score: 2, Informative

      Getting in a pissing match over support for an irrelevant feature doesn't inspire me with confidence in Debian's leaders.

      Check the eglibc home page. This isn't the only case where he's viciously attacked people who have pointed out bugs and sent him patches.

    4. Re:"So what" vs "Wow, unbelievable" by dbIII · · Score: 4, Informative

      It was just somebody lost and reporting a bug in the wrong place - pissing off the maintainer a little bit and resulting in a three line reply with an insulting middle line. Now we only get to see the insult without the suggestion of putting the code where it belongs.
      If you look at the thread the bug had already been fixed two months before in the port where some thought it belonged (sysdeps/unix/sysv/linux/arm/check_pf.c) instead of in the main branch where the submitter thought it belonged.
      Not only is this out of context it also is from two years back. It's as petty on Debian's part as it would be going off at RMS for his "linux? Never heard of it. Haha" comments for most of the 1990s. It's almost as petty as the Iceweasel squabble over the logo. I suspect that the person at Debian responsible for this petty press release should be a little more honest in their tantrums instead of cherry picking two year old quotes out of context.

    5. Re:"So what" vs "Wow, unbelievable" by ToasterMonkey · · Score: 2, Insightful

      First, only a complete idiot would ignore the fact that one of Linux's primary strengths lies in the embedded market. Refusing to fix a relatively easy bug because it "only" affects that market sounds like something Microsoft would force on us "for your own good", such as DRM or the UAC.

      Honest question, why should the glibc maintainer be concerned with which market Linux is strong in, or what direction it takes, or if there even is a Linux tomorrow? This seems to happen a often now, long time free software developers are basically ostracized for not putting Linux at the center of the universe or supporting its cause - whatever that is, and it most certainly is separate from GNU's goals. I'm not suggesting this particular problem is specific to Linux, you did that. In general though, this seems to be the case.

      It also kind of makes you wonder if the OSS crowd realized that openness does not excuse you from the politics of dealing with throngs of people and instead exposes you to more of it.

      Go ahead.. what if everyone, and I mean EVERYONE used OSS (more to the point, YOUR) software? Would testing requirements change? How would developers start responding to millions of user complaints vs. thousands? Could individuals realistically contribute in that environment with the higher testing costs (in time & resources)? The "don't like it, fork/write it yourself" model doesn't scale. The only way I can imagine it is if OSS development eventually evolves into a corporate-like hierarchy where responsibility and ownership trickle downward through multiple layers. We've already figured that out though.... *ahem* commercial software *cough* and people say that model isn't really open, even when it is.. OpenOffice, OpenSolaris, any OSS project with commercial backing pretty much. Maybe non-profit OSS organizations are the answer to this. They'd face the obvious problem of reminding everyone that free != free or find some other method of funding. Ugh, OSS really digs itself a hole leading people to think free == free. Good luck with that.

    6. Re:"So what" vs "Wow, unbelievable" by shutdown+-p+now · · Score: 3, Informative

      This bug I haven't seen linked to in the comments in this story yet, but it's another gem.

    7. Re:"So what" vs "Wow, unbelievable" by Sam+H · · Score: 2, Informative

      The following survey disagrees with your perception of Debian not having a significant presence in the embedded market: http://www.linuxdevices.com/articles/AT7065740528.html . I suggest you back up your statement with relevant information if you wish to use it as an argument.

      Also, Ulrich Drepper does not have "every right" to disregard the ARM platform as long as it is listed as a supported architecture. My request to the steering committee can be seen here: http://lists.debian.org/debian-glibc/2007/10/msg00038.html

      --
      God, root, what is difference ?
    8. Re:"So what" vs "Wow, unbelievable" by petrus4 · · Score: 2, Insightful

      You must not know much, if anything, about Debian.

      God, I love this. Anyone (and I mean anyone) who is in any way remotely critical of Debian, gets this response immediately fired at them from the cheerleading squad.

      Kudos on the compelling argument there, Slick. Totally airtight, and utterly unassailable rhetoric. ;)

  18. Re:uClibc by fuzzyfuzzyfungus · · Score: 4, Funny

    Be nice, now, Cthulhu has excellent standby performance. I don't see any laptops that can stay in S3 for untold aeons before the age of man.

  19. Re:Anonymous Coward by Burkin · · Score: 3, Funny

    Is that you Joerg?

  20. Not Just for embedded devices by John+Goerzen · · Score: 3, Insightful

    I think there is some shallow reading going on here.

    eglibc has a number of features that are useful in general. It happens that embedded systems have a strong need for these features, but they are generally useful as well. I've discussed it with one of the Debian glibc maintainers, and he said that eglibc is basically a patchset atop glibc implementing new features and fixing bugs. I think of it similar to the relationship between go-oo.org and OpenOffice. Distributions have to fix these bugs anyway, because upstream won't. So why not adopt a standard patchset to do so collectively?

    This has no implications for a change of focus away from the desktop or anything like that.

  21. API/ABI compatibility? by pathological+liar · · Score: 3, Insightful

    From eglibc's mission statement:

    "Retain API and ABI compatability with GLIBC wherever feasible."

    Yeah, that's going to end well...

  22. What an ugly situation by erroneus · · Score: 3, Interesting

    I recall the brief and mild concern over the push to change from XFree86 to X.org. The reasons for doing so were pretty clear and obvious and most people (except for the XFree86 people themselves) that it was simply necessary as the needs of the community outgrew XFree86's visual range. In short, the people wanted more than XFree86 could collectively deliver. (XFree86 people? You were such dumbasses... what better way to show how useless you could be?)

    But this story is different. Now we have a maintainer who doesn't believe in what the people and the market are interested in doing -- moving Linux into smaller and smaller devices. "Embedded crap?" Indeed! The future of computing is not more powerful single boxes, but smaller networked devices that work together and the operating system will eventually become less relevant if not entirely irrelevant. This "embedded crap" is where all devices are headed. Many popular consumer gadgets and some really high-end consumer gadgets are already utilizing embedded Linux as the means of making some really cool things happen. The community will not stand for one or a few pig-headed people to impede that.

    Either GLibc needs to pull his head out of his ass or he will make himself and his project irrelevant. Worse, if your name and reputation were to be muddied because your project was killed off by the community because "you don't want to work and play well with others" then the odds of people wanting to work with you socially or professionally in the future are greatly reduced and your technical skills, wisdom and experience will have been wasted.

    Would it surprise anyone to know that many ice cream sellers only like one or two flavors? Why, then, do they sell so many other kinds?! The reason is obvious.

  23. Re:uClibc by hardburn · · Score: 2, Informative

    IIRC, uClibc can't run Apache. There's a place for uClibc, but that place isn't a generalized distribution like Debian.

    --
    Not a typewriter
  24. A rant by jmorris42 · · Score: 4, Insightful

    > As the maintainer of GLIBC, he has to be the steward for the greater good of all users.

    No, it needs to be correct code. If ARM happens to be the only platform that currenty exercises the bug it is still a bug. Goddamn people, I swear we are getting as blase about fixing bugs as a Microsoft shop. There is no such thing as a good bug, a less important bug, etc. If it is a bug and someone has a patch for it you APPLY THE DAMNED PATCH. If you have a problem with the patch you write a better patch. Not patching at all is never be the answer.

    I really hate updating my systems these days, because for every bug fixed it seems you get a fresh new one. Make it shiny, we will fix the bugs later! Of course later never comes, eventually the crap piles up too high and somebody decides to just start over. Which explains the piles of discarded stuff and the new one that also doesn't quite work in most areas, especially in system administration.

    Seriously, the Free Software world needs to call a timeout. Establish a core and devote every available resource into making that core bug free and secure. Then allow no change to be committed to that core without extensive peer review to prevent new bugs from getting in. The Linux kernel is hopeless, no chance of getting it to stop and clean up and x.org is currently in a period of upheaval, but the layer above each could be stabilized. Not just coreutils, but everything including the core widget sets, admin tools. Get things to a point where an ordinary userland package will (not might) work even it it wasn't built against the exact same release.

    And finish hashing out the whole new /dev/, dbus, etc. and settle the API down enough to document the damned thing. I know UNIX, but this new stuff totally confuses me. WHere does one go to even find out how it is supposed to work? Which of course isn't how it currently DOES sorta work. How does one even know if a particular piece of documentation, sketchy and incomplete as it will certainly be, documents what was, what currently is or what is intended to be?

    --
    Democrat delenda est
    1. Re:A rant by taniwha · · Score: 2, Interesting

      look at the bug - the problem is caused not by the arm per-se but by GCC for the arm's choice to round align structures to 8-byte boundaries - he's coded in an assert that verifies that the number of bytes left over after an align of a 1 byte in a structure is always 3. There's no requirement in C that structure alignment should be to 4-byte boundaries.

      As someone else mention putting in the assert was a smart thing to do - it tests an assumption that the original programmer made - the fact that it went off meant that the original assumption isn't true and the code should be changed to match a new understanding of reality rather than denying it

    2. Re:A rant by jmorris42 · · Score: 3, Interesting

      > Drepper never suggested not to fix a bug for the ARM architecture....

      Couldn't be bothered to read the linked bug discussion could you. Beyond rejecting a fix for an actual problem he even went so far as to say "No, Arm is not supported." Which was of course news to a lot of folks, since Debian has been shipping an official ARM port for years. If glibc isn't accepting patches for platforms Debian is officially supporting it is totally understandable they would adopt a fork that does.

      --
      Democrat delenda est
    3. Re:A rant by BikeHelmet · · Score: 2, Insightful

      I just updated to the new Ubuntu, and now my SATA controller doesn't work. It corrupted a partition before I figured it out and put in an PCI card to handle my drives.

      Unfortunately, now my drives are juggling around. /dev/sda one boot, /dev/sdb another boot!

      Bless the new code. Who cares about backwards compatibility?

    4. Re:A rant by debatem1 · · Score: 2, Insightful

      Documen-what? Use the source Luke. This is big part why I love open source. Source is the ultimate documentation. I can read how anything I fancy works! Documentation is always going to have problems keeping up with the source.

      Opinions like this kill good projects. Document your damn code.

    5. Re:A rant by debatem1 · · Score: 2, Insightful

      commented code != documented code.

      End users need docs too.

  25. The problem isn't GLIBC. It's Ulrich Drepper. by GreatBunzinni · · Score: 4, Informative

    The problem isn't GLIBC. The only problem is this idiot Ulrich Drepper. He demonstrates time and again that he is incompetent and has no business being in a position that is forced to interact with other people. This Ulrich Drepper character has the nerve to say stuff in bug report discussions like this such as:

    • Stop reopening bugs. Search the web if you want an explanation, I don't have
      anything handy and certainly have no interest in writing it up.
    • Strange, I never saw your name on my paycheck. Since if that's not the case you
      cannot order me around.
    • Stop reopening the bug. If you want explanations pay somebody.
    • Dammit, stop opening the bug. It is obvious that you know *NOTHING* about the
      issue at hand. Otherwise you would have noticed that this code has been
      entirely rewritten in the current code. It uses a very different implementation
      which allows to handle this situation differently.
    • Stop reopening the bug. And this is also no discussion forum. Go somewhere else.
    • Stop commenting.
    • Idiot. There is no bug. Don't reopen.
    • Fine. Whatever. I'll revert it, assholes.

    And this is from a single bug report alone. Why exactly does GNU tolerate such a thoughtless idiot in such a fundamental position in such an important project? Moreover, this idiot Ulrich Drepper even shuns support important architectures such as ARM apparently due to nothing more than whims. How can this be?

    GNU is supposed to be a project for it's users by it's users. You don't go far if you rely on antisocial morons to handle PR stuff.

    --
    Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
    1. Re:The problem isn't GLIBC. It's Ulrich Drepper. by elevator · · Score: 5, Informative

      • Fine. Whatever. I'll revert it, assholes.

      And this is from a single bug report alone.

      You are aware I hope that the last comment (and one earlier) is from a fake Drepper? (check the mail addy)? :)

    2. Re:The problem isn't GLIBC. It's Ulrich Drepper. by Anonymous Coward · · Score: 4, Insightful

      The problem isn't GLIBC. The only problem is this idiot Ulrich Drepper. He demonstrates time and again that he is incompetent and has no business being in a position that is forced to interact with other people.

      Have you ever delt with glibc development, or do you base this on reading a single bug?

      One thing Ulrich Drepper is NOT is incompetent. He is extremely competent, and if you boot Linux you're running a ton of his code. In fact, he is so competent he has keep maintainership for years despite his finely tuned confrontational style where he seems to know *exactly* the response to write that will create the worst reaction in whoever he is responding to. I know, it has happened to me, but luckily I'm out of that game for now. If I was still dealing with it day-to-day, like Debian glibc maintainers, it would drive me nuts too.

      The other thing to consider is that glibc, being the base of pretty much everything else, can be like a candle to a moth attracting people who really, truely have no idea. This can become tiresome, and may explain why some of the elitism comes about. You don't want the real development lists turning into a Ubuntu newbie user forum.

      I wish eglibc well!

    3. Re:The problem isn't GLIBC. It's Ulrich Drepper. by abigor · · Score: 4, Informative

      I personally enjoy this old classic:

      http://sources.redhat.com/ml/libc-announce/2001/msg00000.html

      Scroll down to the thanks list, and read below. Not saying who is right or wrong here, but it makes for some funny reading.

    4. Re:The problem isn't GLIBC. It's Ulrich Drepper. by TheRaven64 · · Score: 2, Insightful

      There's a big difference between Drepper and TdR: Theo is usually actually right when he's being an asshole. Drepper has no such excuse.

      --
      I am TheRaven on Soylent News
    5. Re:The problem isn't GLIBC. It's Ulrich Drepper. by lgw · · Score: 4, Insightful

      One thing Ulrich Drepper is NOT is incompetent.

      If you're job is to lead a development effort, people skills are more important than technical skill. Being an asshole makes you incompetant. If you just want to be some asshole writing good code in the corner, you can do that, but that isn't waht makes a good project leader!

      --
      Socialism: a lie told by totalitarians and believed by fools.
    6. Re:The problem isn't GLIBC. It's Ulrich Drepper. by GreatBunzinni · · Score: 4, Insightful

      Have you ever delt with glibc development, or do you base this on reading a single bug?

      I believe it is easy to understand that if this problem was limited to a single uncivilized reaction towards a single clueless user on a single bug report no one would ever seriously ponder the possibility of forking such a complex project.

      One thing Ulrich Drepper is NOT is incompetent. He is extremely competent, and if you boot Linux you're running a ton of his code. In fact, he is so competent he has keep maintainership for years despite his finely tuned confrontational style where he seems to know *exactly* the response to write that will create the worst reaction in whoever he is responding to.

      He is incompetent due to the very nature of his job. He is paid not only to write code but also to interact with all glibc users who may wish to contact the project due to any issue related to that particular software project. If his job involved being locked in a basement somewhere away from all traces of humanity where he would code to his heart's content without having any contact without the outside world then there wouldn't be any problem. But that isn't his job. He also needs to interact with users, communicate with them, listen to what they have to say and handle cases where a party in that interaction is wrong in order to get a positive outcome. Moreover, due to the very nature of his job he is also assumes the responsibility of being a sort of public figure of that project responsible for public relations and the project's image.

      Due to that, if someone in that position happens to be an antisocial moron who can't help being a dick... That person will end up making the project look bad and suffer the consequences that his own moronic actions cause. That's what makes him incompetent. Due to the nature of this project, being an antisocial moron makes you unfit to be in that position, as much as being a great PR person without any noticeable programming skills would also make that project suffer, although in different ways.

      I know, it has happened to me, but luckily I'm out of that game for now. If I was still dealing with it day-to-day, like Debian glibc maintainers, it would drive me nuts too.

      If a company pays someone to work in a project and his antisocial behaviour leads the company's clients to not only run away but also start off a competing project, would that employee still be considered competent? He would be fired on the spot. That's what is happening with glibc.

      --
      Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
  26. Re:Imagine by Culture20 · · Score: 2, Informative

    Won't someone explain this in terms of a car analogy!?

    Car analogy ho!

    "Toyota recently announced that it will be switching manufacturers of its most commonly used drive trains because the original manufacturer said that the changes Toyota requested were 'for the sole benefit of this hybrid/electric crap.'"

    In other words, in three years time, glibc might be used only by RHEL6, and Ulrich Drepper will just be forking eglibc and calling it glibc.

  27. Doesn't matter by 0xABADC0DA · · Score: 4, Insightful

    The problem is that programming a libc is the worst kind of programming... you have to be compatible with N different standards that are incompatible with each other. A lot of the functions you have to implement are impossible to simultaneously be correct and not make you puke (see printf). And on top of that, nobody even cares since they're all using some high-level library to call your libc functions anyway.

    I really wish somebody would come out with a decent libc for linux though. With glibc, you either compile statically and have a 1+mb binary that's still dynamically linked anyway because you used a socket or your program just doesn't run on some systems and you have dll hell far worse than on any Windows. If you've ever had to deliver a non-OSS binary for linux you know what I'm talking about.

    Dietlibc is the most convenient alternative by far, but it has several bugs, is slow, and errno is not threadsafe. For instance printf("%2d\n", 222) prints nothing. But if you test your software you can use it really easily, just CC="diet gcc". The uClibc is better, but it's a pita to use, requiring its own entire toolchain.

    Since nobody actually pays for developers to work on libc, you end you with whoever crazy people will actually work on it. So while the fork is a good thing, it's probably just going to be more of the same.

    1. Re:Doesn't matter by Code+Master · · Score: 5, Insightful

      When your embedded system has 8-16 MB of Flash and SD RAM, it matters.

      --
      The Code Master
    2. Re:Doesn't matter by mzs · · Score: 3, Interesting

      Ha! That's a great idea in principle, though I don't know how I would feel about there being a /compat dir containing glibc on Linux, you know it would be needed. It also would be a lot of work to get apps and libs that have workarounds or have come to expect (even without knowing it) glibc-isms to be fixed. The other thing is that there are lots of programs that rely on glibc internals to link. They would need a recompile. Then there are those programs that actually use glibc internals, and there are more of those than you think. For a while there that was the only way to really get internationalization to work right with glibc.

      In any case I think the Debian folks use a BSD libc in some ports and there was a some work on BSD libc in Gentoo. That all sort of came to the problems I outlined above when trying to use BSD libc on i386.

    3. Re:Doesn't matter by raynet · · Score: 2, Funny

      I tried to up mod but didn't have enough memory

      --
      - Raynet --> .
  28. Re:GLIBC is the cause for all binary incompatibili by phantomlord · · Score: 5, Informative

    Not even an old program written from Loki Software Entertainment would run on a modern Linux Mint (2.6 kernel) for example unless in a chroot'd sandbox. Truly sadistic, that I even remember this happening even on the same kernel branch. Bruce Perens would address this better than I, but my time is worth more elseware.

    You can do it by installing the old libraries and using LD_LIBRARY_PATH and LD_PRELOAD. See the Gentoo Wiki archives for information and a tarball of the necessary libraries.

    Not the most elegant solution, but it's easier than dealing with a chroot.

    --
    Don't leave your mind so open that your brain falls out. Don't close it so much that you cut off the blood.
  29. Re:GLIBC is the cause for all binary incompatibili by Tubal-Cain · · Score: 4, Funny

    Sadly, nobody really gives a shit about Linux binary compatibility.

    BSD does.

  30. Re:Delicious by Poltras · · Score: 2, Funny

    Does he have 6 fingers on his left hand?

  31. Re:uClibc by LaminatorX · · Score: 5, Funny

    That is not dead which can ACPI, and with strange ions charge is stored on Li.

  32. Some of Ulrich Drepper's finer points by bconway · · Score: 5, Interesting

    From TFA: 1 2 3 4

    --
    Interested in open source engine management for your Subaru?
    1. Re:Some of Ulrich Drepper's finer points by Dahamma · · Score: 2, Informative

      Wow. #2 actually had me laughing out loud. That's pretty unusual for a bugzilla report :)

    2. Re:Some of Ulrich Drepper's finer points by Stiletto · · Score: 4, Insightful

      From reading those posts, it is pretty clear that this guy seems like a total douchebag and in my view has no business maintaining any serious open source project, let alone something as important as glibc.

      Particularly #3. Someone finds a bug, submits a patch, and in return gets mocked for their effort. How great.

    3. Re:Some of Ulrich Drepper's finer points by fm6 · · Score: 4, Insightful

      I just wrote this post defending Drepper, but now I take it all back. It's perfectly reasonable to expect a maintainer to explain his actions. Responding with "you don't write my paycheck" makes him an asshole, pure and simple.

      It occurs to me that Redhat does pay Drepper's salary. I assume that he gets to maintain glibc because they're donating his time? I'm sure they know, even if he doesn't, that donating resources to an open source project does not give them ownership of said project. If I were one of these frustrated developers who's tired of Drepper's BS, I'd find out how his boss is and have a word.

    4. Re:Some of Ulrich Drepper's finer points by Dahamma · · Score: 4, Funny

      Responding with "you don't write my paycheck" makes him an asshole, pure and simple.

      Yep, and the comment "Paid $1 via Paypal. Please fix" was my favorite response!

    5. Re:Some of Ulrich Drepper's finer points by Just+Some+Guy · · Score: 2, Informative

      Particularly #3. Someone finds a bug, submits a patch, and in return gets mocked for their effort. How great.

      Side note for anyone who actually wants strfry to be statistically valid: the fix doesn't completely fix it.

      Suppose that __random_r returns a value between 0 and 9, inclusive. Suppose than len is 8. In that case, j %= len maps to:

      old new
      ---+---
      0 | 0
      1 | 1
      2 | 2
      3 | 3
      4 | 4
      5 | 5
      6 | 6
      7 | 7
      8 | 0
      9 | 1

      In this example, 0 and 1 occur twice as often as any other value. The fix for this problem is to pick a threshold close to 2^31 that is a multiple of len, and keep requesting values for j until you get one less than the threshold. Then you'll get an even distribution on j %= len.

      --
      Dewey, what part of this looks like authorities should be involved?
  33. Debian forks glibc, Drepper forks Debian by David+Gerard · · Score: 5, Funny

    [To be posted tomorrow, probably]

    The Debian project has dropped the use of the GNU project's glibc C library, substituting the eglibc fork, as glibc maintainer Ulrich Drepper refused patches or bug reports for several architectures Debian relied on.

    "Any change will negatively impact well designed architectures for the sole benefit of this embedded crap," said Drepper. "Famously good architectures like x86. Can you believe, these people wanted their C library to work in systems with shells other than bash! These people must think they're signing my pay check."

    Drepper has, in retaliation, announced his own fork of Debian. It will be created in cooperation with Joerg Schilling and Tuomo Valkonen and be based on OpenSolaris with Ion running on XFree86 as the standard window manager. "Keith Packard ruined X," said Valkonen. The standard file system will be ext4, given its proven ability to cause data loss in user software the maintainers consider ill-written.

    The project will be licensed under both the intersection and union of the GPL, LGPL, CDDL, MIT and the thing TuomoV wrote for Ion. This is not anticipated to be a problem in practice with real-life users, at least not until one exists.

    "YOU!" said David Dawes of XFree86. "YOU'VE BEEN TALKING TO THEM, HAVEN'T YOU! YOU'RE CONSPIRING WITH THEM! THOSE GUYS! THEY STOLE IT ALL! THEY PUT A RADIO IN MY HEAD! LINUX/BSD WEENIES! I'LL SHOW 'EM! HELL YES!" "That means he's onside with us," said Valkonen. "Dave's been a bit terse since he finally lost it trying to fix his own broken modeline."

    --
    http://rocknerd.co.uk
    1. Re:Debian forks glibc, Drepper forks Debian by hduff · · Score: 2, Funny

      This could be the most obscure string of geek jokes ever written.

      Laughed so hard I hurt myself.

      Then I realized I understood all the jokes and that scared the s**t outta me.

      --
      "I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
  34. Re:No - it's people who don't read. by Rycross · · Score: 3, Insightful

    Since he never explained the rational for the "fix," and instead preferred to spam "Do not reopen this, this is not a bug," instead, I would say he is not. A bug comment discussion like that would get me reprimanded or fired.

  35. As far as possible! by CarpetShark · · Score: 2, Insightful

    It might be "Egier" to use, but how far will it stray from the original project (that everyone else is currently using), or is it the first leak in the Dam before everyone jumps ship.

    Hopefully it'll stray as far as possible, given that the original project seems to have serious attitude issues with accepting their bugs and simply applying supplied patches! I know little about GLIBC internals, but even I can see how crack-happy the maintainers seem to be, and could probably do a better job myself. All I can say is thank god this is being forked away from those nut-jobs, and hopefully everyone else WILL jump ship too.

  36. No, Ulrich Drepper's response was appropriate by tetromino · · Score: 4, Informative

    Did you actually read #3? strfry() is a joke function, an silly Easter egg that had been included in Glibc since time immemorial and unfortunately cannot be removed for fear of breaking compatibility.

    Anyone with half a brain can see that fixing "bugs" in ancient Easter eggs is a waste of developers' time. If I were in Ulrich Drepper's position, my response would be similar to his, but with more insults.

    1. Re:No, Ulrich Drepper's response was appropriate by Mr.+Slippery · · Score: 4, Insightful

      Applying a patch takes a trivial amount of time in any sane project.

      Performing the necessary configuration management, code review, and regression testing -- for a patch is non-trivial in any responsbily-maintained project.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    2. Re:No, Ulrich Drepper's response was appropriate by danieltdp · · Score: 3, Insightful

      An explanation like yours would go miles ahead of ulrich's. The guy is an asshole

      --
      -- dnl
    3. Re:No, Ulrich Drepper's response was appropriate by antime · · Score: 2, Funny

      So it shouldn't have been a problem to apply it to glibc then.

  37. FUCK by that_itch_kid · · Score: 4, Insightful

    Can we PLEASE get the moderation confirm button back!?!?!?!

  38. Yay! by seebs · · Score: 3, Informative

    I use eglibc, and I like it better. For instance, when I was a bit distressed to discover that glibc shipped with scripts which require bash or ksh (not a good fit for a TINY embedded system), I went and looked. The dependencies there could be EASILY removed with no significant harm done -- and the scripts would work. One of them took me all of twenty minutes to clean up to make it functional with any POSIX shell.

    This isn't rocket science. It also isn't software engineering. I was first disappointed with glibc's performance somewhere around 1996, and it's never really won me over since. eglibc seems to me to be a much nicer approach.

    (Full disclosure: I think $dayjob funds some eglibc development, and we certainly use it.)

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  39. That bug report was well worth a read by Chrisq · · Score: 3, Funny

    I,m surprised that this isn't quoted by Microsoft as a "typical" example of cooperative open-source development.

  40. ARM design is way better than x86 by slashbart · · Score: 2, Interesting

    I mean seriously. The nastiest microprocessor architecture that anyone has ever come up with is x86. It's an Intel cultural thing, all their processors (afaik) suffer from this.

  41. Can someone explain his good points? by Dan+Ost · · Score: 2, Insightful

    I'm seeing lots of comments about how horrible a maintainer he is...but somehow he's still the maintainer. I have to assume that he's actually good at something or else he would have already been replaced.

    Can anyone give some insight on what qualities he has that explain how he has managed to keep the position as glibc maintainer?

    I'm just trying to see the other side of the picture here.

    --

    *sigh* back to work...
  42. Get either the FSF or Fedora on board by Khopesh · · Score: 2, Interesting

    I know Red Hat employs Drepper (or something like that), but a move by Debian has little meaning without support from other sources. It's been shown that even Ubuntu doesn't always follow suit with its upstream Debian Sid (e.g. they ship Firefox, not Iceweasel).

    This absolutely MUST gain traction. Somebody must bite. Nokia could put it in Qt Embedded, Fedora could use it by default (and thus pressure Red Hat), Ubuntu could take a real look at it, FreeBSD could make the move, the Free Software Foundation could make a statement, etc.

    Otherwise, we risk yet another rift in an already fractured community.

    --
    Use my userscript to add story images to Slashdot. There's no going back.
  43. He's a nexus so he'll always make someone unhapp by thaig · · Score: 2, Interesting

    Various people want various things out of him and he arbitrates somehow.

    It's impossible for a lot of people not to be disappointed. I have experienced it - people can demand a lot of contradictory things from a maintainer and be cross when they don't get them.

    His mistake is not to have trusted lieutenants - a posse to support him and also moderate him.

    But I have little respect for the moaners on this thread. Fork and do the work yourself if you're not happy.

    --
    This is all just my personal opinion.
  44. Re:Drepper in a rant vs RMS by gatkinso · · Score: 2, Funny

    >> I'll immediately walk away from glibc...

    Promises, promises.

    --
    I am very small, utmostly microscopic.