Slashdot Mirror


Debian Package Maintainer Steps Down, Complaining About 'Old Infrastructure' (stapelberg.ch)

Michael Stapelberg, maintains "a bunch" of Debian packages and services, and says the free software Linux distro "has been in my life for well over 10 years at this point."

Today he released a 2,255-word essay explaining why he's "winding down" his involvement in Debian to a minimum, citing numerous complaints including Debian's complicated build stack, waits of up to seven hours before package uploads can be installed, leading to "asynchronous" feedback -- and Debian's lack of tooling for large changes.
The closest to "sending out a change for review" is to open a bug report with an attached patch... Culturally, reviews and reactions are slow. There are no deadlines. I literally sometimes get emails notifying me that a patch I sent out a few years ago (!!) is now merged. This turns projects from a small number of weeks into many years, which is a huge demotivator for me.

Interestingly enough, you can see artifacts of the slow online activity manifest itself in the offline culture as well: I don't want to be discussing systemd's merits 10 years after I first heard about it.

Lastly, changes can easily be slowed down significantly by holdouts who refuse to collaborate. My canonical example for this is rsync, whose maintainer refused my patches to make the package use debhelper purely out of personal preference. Granting so much personal freedom to individual maintainers prevents us as a project from raising the abstraction level for building Debian packages, which in turn makes tooling harder.

There's also several complaints about old infrastructure -- for example, "I dread interacting with the Debian bug tracker. debbugs is a piece of software (from 1994) which is only used by Debian and the GNU project these days." Stapelberg also complains that the "painful" experience of developing using Debian "leaves a lot to be desired," and adds that "It baffles me that in 2019, we still don't have a conveniently browsable threaded archive of mailing list discussions."

"My frustration level ultimately exceeded the threshold," Stapelberg writes in the essay, adding "I hope this post inspires someone, ideally a group of people, to improve the developer experience within Debian." He'll soon transition packages to be team-maintained "where it makes sense," but also "orphan packages where I am the sole maintainer... For all intents and purposes, please treat me as permanently on vacation..."

"I will try to keep up best-effort maintenance of the manpages.debian.org service and the codesearch.debian.net service, but any help would be much appreciated."

26 of 176 comments (clear)

  1. Package Tools are the worse by Phillip2 · · Score: 4, Informative

    The problem is that fixing tool affects lots and lots of other people. Change the tools, and you break lots of other projects that many not thank you for it, even if it's for long term good. Or, alternatively, some of them use your new versions of tools and some of them do not. Then you have fragmentation.

    It's not only debian which has these problems of course. Old mature projects are slow, slow, slow to change.

    1. Re:Package Tools are the worse by phantomfive · · Score: 2

      Not to mention that the Debian packaging tools are already pretty good, so there's little reason to change what works.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Package Tools are the worse by Zaiff+Urgulbunger · · Score: 5, Interesting

      I can fully appreciate why someone who uses tooling to get stuff done, and has already taken the time to learn and understand that tooling, really doesn't need to be wasting their time to switch to something else that does the same thing.

      But, the flip side is, some of this stuff is so arcane.

      I can't speak as an even vaguely "good" developer, because I'm not. But what little tinkering I've done with various Debian packages, it's been sodding hard work. Typically, something I'm doing isn't quite what I should be doing... e.g. I've downloaded the source packages and tried recompiling, except I'm doing it under Raspbian and some of their packages aren't quite in sync (e.g. debhelper is slightly older).

      So then, because things are not working as per the instructions I'm looking at on how to build Debian packages, I'm faced with _trying_ to grok what is being done.

      Now, this is in large part because I'm not an experienced *nix user or C programmer. So for example, whilst I broadly know what make does and what a makefile is (the person who decided that using a space or a tab in the wrong place would break things really should suffer in the next life however), the syntax is pretty hateful and I don't want to have to try to understand the whole thing. Plus, this is Debian, so it's probably generated by some other tool and to try to read and understand it will take me a huge amount of time alone.

      Plus there's absolutely loads of other bits of tooling all glued together somehow. Any time I've looked at it, it's just a bunch of rabbit holes I go down, leading to another, and then to another, before eventually I have to call it quits because I can't invest the time, for what is typically some minor issue that I might hope to be able to fix.

      I know the above is a bit unfocused and ranty... and I would understand if people wrote it off as being down to my lack of understanding. My concern is that if newbies want to jump in and contribute, the barrier to entry is very very steep, and as a result, it's likely people won't bother.

      A few months ago I encountered a problem with file / libmagic (or something) where a file beginning with "80" would report as being mime-type "application/zlib"... in my case, I had a text file that happened to start with "80" and should've been reported as "text/plain".

      Turns out this only happened in Debian Jessie and not Stretch. And reporting involved using the Debian reporting tool... and I dunno, it just all looked too much like hard work. And I knew I'd be updating to Stretch soon anyway and I could work around the immediate problem so... I didn't bother.

      Anyway... thank you (anyone) for listening! :D

    3. Re:Package Tools are the worse by execthis · · Score: 2

      True, and contrary to quite a few other posts here, there is a lot of activity and updating/modernization going on. For example: Debian Continuous Integration which is only a few years old.

      I think the disgruntled maintainer should consider running for the Debian Project Leader position which is open right now and advocate for changes he wants.

  2. Petty fiefdoms are always going to be a problem by Kalrand · · Score: 4, Interesting

    I read the article, and he did touch on the endemic issue I've run into of "that patch didn't come from us, so it's rejected (or ignored)".

    1. Re:Petty fiefdoms are always going to be a problem by jittles · · Score: 2

      I can assure you that it is not just Debian that takes this approach. This story is getting a bit old, and perhaps things have changed, but I submitted a patch to kernel.org for a deadlock in the kernel with USB HID devices back in 2.10 and this simple (one line patch to remove a sleep with a spinlock) never got accepted. Even after I submitted it for 7 kernel versions in a row. Finally someone on the kernel team submitted the exact same patch and it instantly got accepted into the project. And guess how many times I tried to submit anything to kernel.org after that?

    2. Re:Petty fiefdoms are always going to be a problem by AmiMoJo · · Score: 2

      I've found that delays or rejections are often due to the maintainer not being able to properly test the patch. Often I'm fixing quite specific bugs or adding support for some unusual use case I have, and the maintainer just doesn't have the resources to test it.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  3. Re: email client by phantomfive · · Score: 2

    If it bothered my I might, but I've been satisfied with their current system for hosting threaded mailing listed discussions. i guess he's just wishing there were a different user interface that would be more convenient?

    --
    "First they came for the slanderers and i said nothing."
  4. the culture of containers by nyet · · Score: 4, Informative

    > rsync, whose maintainer refused my patches to make the package use debhelper purely out of personal preference

    I see this ridiculous attitude in docker, docker-compose, lxd, et al upstream maintainers as well.

    They're in the container space because they don't understand packaging (or sane library/API design) so they got crushed by dependency hell. Their response? Run every single app in its own VM with its own copy of every single library under the sun. 500MB applications! YAY!

    They refuse to take any packaging related patches.

    Debian devs will drop one by one due to these people.

    1. Re:the culture of containers by ArchieBunker · · Score: 4, Interesting

      Snap doesn't fucking work if your home directory is in a non standard location. Say /home/blah.corp/mylogin. I couldn't even get gnome calculator to run because of snap. Oh and the program itself is nearly two megabytes in size. Xcalc does the exact same functions and its not even 40 kilobytes!

      --
      Only the State obtains its revenue by coercion. - Murray Rothbard
    2. Re:the culture of containers by nyet · · Score: 2

      Don't even get me started on snap. What a steaming pile of shit.

  5. dude got busy? by forgottenusername · · Score: 5, Insightful

    > When I joined Debian, I was still studying, i.e. I had luxurious
    > amounts of spare time. Now, over 5 years of full time work later, my
    > day job taught me a lot, both about what works in large software
    > engineering projects and how I personally like my computer systems. I
    > am very conscious of how I spend the little spare time that I have
    > these days

    Yes he has many good, useful and interesting points. The fact that his life has changed and can no longer dedicate the same amount of time, effort and energy as he could when he was a student with fewer responsibilities is the key non-sensationalist takeaway imo.

    > Culturally, reviews and reactions are slow. There are no deadlines. I
    > literally sometimes get emails notifying me that a patch I sent out a
    > few years ago (!!) is now merged. This turns projects from a small
    > number of weeks into many years, which is a huge demotivator for me.

    Hardly a new problem. People have been complaining about this for a very long time. Part of what spawned Ubuntu. These really large, old projects with huge user install bases tend to be very resistant to change for good reason.

    He has some valid points but also much of what he expresses is personal preference. Things that bug him others really prefer. Who can say which is right / how things should change? *shrug*

    1. Re:dude got busy? by turbidostato · · Score: 2

      "He has some valid points but also much of what he expresses is personal preference. Things that bug him others really prefer. Who can say which is right / how things should change? *shrug*"

      More or less my impression.

      * On one hand, quite a lot of good ideas that come from his obvious knowledge of the innards of the project.
      * Then, he seems to be good at what he does, he's ten years older (and more expert) and has his ideas, so there's also quite a bit of what he finds others to be guilty of (my way or the highway -only on subprojects he's not the owner, so it ends up being the highway for him)
      * Older and with less free time also means less patience with the petty ways of others.
      * Then there are deep, infrastructure problems -or, maybe, circumstances of this very project: it is a mainly decentralized, so he misses the streamlining abilities of more centralized ones: when change is needed, someone in the highs spells the "make it happen", appoints a group with the authority to make it happen and, provided they are good enough for their trade and have the required backing, voila, things happen. It's only Debian is not and probably wouldn't want to be managed that way, which comes with its pros and cons. Think of it: would you want *others* to tell you it's this way or the highway, when not having it your way is what put you out to start with?

      Yes, Debian would probably benefit of finding a way to be able to make big internal shifts, but they would not be without their own set of problems, though... OK: here you have the ability you asked for. Now, what's the big shift *you* want to happen? Oh, by the way, the selection mechanism ended up deciding it was not *your* big shift or not in *your* chose direction. Now what?

  6. Re: Maybe he should be paid by Anonymous Coward · · Score: 5, Funny

    Only way I'd come help would be a guarantee we were getting rid of systemd.

  7. You're not wrong by Anonymous Coward · · Score: 2, Insightful

    The truth is that revolution is always multi-generational.

    The initial generation of youthful dissidents really don't know what they're doing, but they talk a lot, and bitch and moan about the way things should be.

    Then, another generation comes along which takes a stab at actually doing something, and they fuck up horribly. They create religious cults with codes of conduct, and evangelize new ways of writing their ideas, and behave in impractical ways that makes everyone roll their eyes and think "Nothing will ever change for the better.".

    When the dust settles, there appear the ones who will be remembered as "the" revolutionaries. They see not only what needs to be done, but how to do it, and this implies an avoidance of fluff; they are shrewd and practical, and topple the Old Way with what superficially appears to be some kind of divinely inspired ease—they will be regarded as a generation of geniuses. But, there is no ease or acute genius in it; they are the final benefactors of a long, arduous struggle to find the path.

    Eventually, they or their disciples, having one the authority, will have their minds slowly corrupted until they themselves become the rotten foundation that must be dismantled and replaced.

  8. so long... by turbidostato · · Score: 3, Insightful

    You were a fruitful Debian Maintainer for a decade long so, with the best of my wishes, Michael...

    ...so long, and thanks for all the fish

  9. Re: Maybe he should be paid by Anonymous Coward · · Score: 2

    Then there's the people who stopped a long time ago and didn't bother announcing it to random people on the World Wide Webz

  10. if that by slashdice · · Score: 2

    I've submitted probably close to a hundred debian bug reports over the years. These are project that don't have an upstream or the bug is debian specific. Most of them include patches to fix the issue. I don't think any have been looked at.

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
  11. An institution is its people by Anonymous Coward · · Score: 2, Insightful

    I know it hurts man, but you've uncovered an important lesson for others: Go where you're appreciated; don't work for people who can't see your value.

  12. That's the problem. by Anonymous Coward · · Score: 4, Insightful

    When bugs are found, they do not get fixed. When you point out that a simple patch hasn't been applied in 8 months, then you get nothing but indignant whining about the nature of volunteer efforts and other older-person, boomer excuses; meanwhile another 8 months go by, at which point you decide it's not worth poking again.

    So, you're right. That's exactly what's going to happen. All of these "working" packages are going to be re-written in Rust by pink-haired trannies, and thus the wheel will have been re-invented for the ten-thousandth time.

    If there's one thing humans know how to do well, it's waste resources.

  13. FreeBSD by darkain · · Score: 4, Insightful

    As a Debian to FreeBSD convert myself, it sounds like pretty much everything they're looking for is already solved in the FreeBSD ecosystem. It has been absolutely night and day as a user, administrator, and contributor working with FreeBSD compared to any Linux distro. It is so nice having one single ecosystem for the kernel, base OS, and 3rd party software, instead of each being handled by different communities with different objectives overall. if a breaking change needs to occur in the FreeBSD world, the entire kernel/OS/software stack is updated in unison with a new major version release.

  14. Nobody wants to lead Debian by Anonymous Coward · · Score: 2, Interesting

    Recently the period for nominations to fill the Debian Project Leader position expired and not a single Debian developer has stepped forward to nominate themselves to take the reigns of the project. According to Debian constitution, the period for nominations will be extended one week until a developer finally throws their hat into the ring though it may not occur before the current DPL's term is up.

  15. Reviews are the highest priority items on queue by Wrath0fb0b · · Score: 3, Interesting

    One thing I love about my current job is that everyone takes this rule almost 100% seriously. You are almost forbidden to do anything while you have a review pending on you.

    The reasons are fairly obvious -- reviews are a blocking operation. Sure, the developer can go work on something else, but if he's got a chain of dependencies to work through, things get hairy if he gets too far ahead of the reviewers.

    Other benefits are more subtle. First, it encourages everyone to carefully pre-review, because they know that sending it up will interrupt everyone and they don't want to do so trivially. The second major benefit is that the longer things are pending, the greater the chances of merge conflicts, and even with the best of tools, 3-way merging is the enemy.

    Of course, we aren't robots. And a huge change may take a week to read. But it's a good general default rule that you shouldn't be writing code or investigating bug reports if you've got a patch waiting on you.

  16. Re:email client by arglebargle_xiv · · Score: 2

    He used to use gmane which does give a threaded interface, but gmane is not maintained reliably as it once was.

    That's like saying Atlantis is not maintained reliably as it once was. Visited gmane.org recently?

  17. Re: email client by novakyu · · Score: 2

    He's a millennial. He probably uses Gmail, which uses subject header (and timestamp) to thread, ignoring References and In-Reply-To.

  18. Re: Dude got busy IS the problem by drinkypoo · · Score: 2

    It's all open source. There's no good reason to continue supporting the software with development and patches. Anyone can fork it.

    Forking doesn't solve the problem, which is that the place the users go to get the software is antiquated and baroque. If you fork it, now the users have to go somewhere else (or to two places) and you'll wind up only serving a subset of the users. The best solution for the users is for the centralized repository to be efficiently maintained.

    What you're really saying is any upstart junior programmer with a patch should be able to receive the benefit of putting their code in a project whose name has decades of cachÃf©, rather than forking the project and needing to spend the next two decades doing marketing and getting their fork to take over.

    You're focused on the benefits to the maintainers, but the real issue is the benefits to the users. The project exists to serve the users, not the maintainers. If they can make changes to better serve the users, that benefits everyone.

    The tools for creating and maintaining Debian packages are indeed baroque and obscure, and they are also not well-documented. A lot more work could be done by other people if the tools were documented better, and even more could be done if the tools were designed better.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"