|
|
Subscribe / Log in / New account

Maintainerless Debian?

By Jonathan Corbet
December 6, 2016
The maintainer model is deeply ingrained into the culture of the free-software community; for any bit of code, there is usually a developer (or a small group of developers) charged with that code's maintenance. Good maintainers can help a project run smoothly, while poor maintainers can run things into the ground. What is to be done to save a project with the latter type of maintainer? Forking can be an option in some cases but, in many others, it's not a practical alternative. The Debian project is currently discussing its approach to bad maintainers — a discussion which has taken a surprising turn.

A maintainer of a package within the Debian project cannot be circumvented by forking — unless one wishes to fork the entire distribution, an enterprise which tends not to end well. So, when maintainer problems arise, they must be solved in some other way. A recent problem of this type, involving the GNU GLOBAL package, came to a head in October, and is still, as of this writing, unresolved. The slow progress of this case, which played out for years before being referred to Debian's technical committee (TC) in October, has led longtime Debian contributor Ian Jackson to start pushing for changes.

Jackson noted that the Debian constitution only provides one practical method for the removal of a nonperforming maintainer: the technical committee. But, he said, the committee has never, in the entire history of the Debian project, actually forced a maintainer out of their position. That, he said, indicates a problem:

It is surely obvious that there must have been several occasions in the history of the project, where someone has been such a poor maintainer that they ought to have been deposed, with someone ready to take up the role. The only possible conclusion is that our process for dealing with bad leadership on the part of maintainers is totally broken.

Jackson expressed mystification as to why the TC — an institution he designed and served on for years — has proved unable to deal with maintainership problems. He went on to propose a couple of methods for improving the situation.

Making it easier to depose maintainers

His first proposal was to create a new mechanism, separate from the technical committee, to handle maintainership disputes. After an initial mediation step failed, a "jury" of ten randomly chosen Debian developers would hear the arguments and, with a majority vote, decide whether the package should be given to a new maintainer or not. The jury idea comes from a desire to get away from an appointed panel like the TC; as prominent members of the project, committee members, he said, are more likely to side with maintainers than with those who are complaining about them.

He quickly moved away from this idea, though, toward a scheme that, he hoped, would make it easier for the TC to make maintainership decisions. He posted a draft for a general resolution that would, if adopted, offer "advice" to the TC. That advice says that, in disputes over a package, the maintainer's position should be given no more weight than that of any other project contributor. Each opinion should be considered on its own merits, regardless of the "authority" of the person expressing any given opinion.

This draft resolution has not been all that well received. It was simultaneously seen as a no-op resolution that made no changes to how the TC was supposed to operate and a statement of a lack of confidence in the current committee's judgment. Two TC members (Philip Hands and Didier Raboud) said that they would be likely to resign from the committee if the resolution were to pass. Those TC members also seemed to feel that, by pursuing this initiative at this time, Jackson was trying to force the committee's hand in the GLOBAL dispute. As of this writing the discussion is ongoing, but it seems unlikely that Jackson's proposal will make it to a vote in anything resembling its current form.

No more maintainers?

Back at the beginning, Jackson proposed another option, seemingly as an exercise in extremes: abolish the concept of package maintainership entirely. He quickly dismissed that option, saying that it would lead to developers being "expected to play core wars in the archive" when they disagree over changes to a package. But some other developers took the idea more seriously.

Former project leader Stefano Zacchiroli remarked that abolishing maintainership was "the obviously right solution". The maintainer model, he said, gets in the way of effective collaborative development and should be done away with. He proposed moving to a "weak code ownership" model (without describing how that would work) along with tools that would make it easier to integrate changes made by multiple developers.

Russ Allbery agreed that the maintainership model is a part of the problem, partly because involuntary changes in maintainership will be, by their nature, confrontational events. Rather than codify how those changes should be done, he said, it would be better to just weaken the notion of maintainership in general. Again, though, he didn't get into the details of how a weaker maintainer model might work.

Jackson disagreed with this conclusion; he does not believe that things can work well in the absence of a maintainer who can make decisions. Others felt the same way; Adam Borowski suggested that, as a thought experiment, one could consider what would happen if the init-system choice were open to modification by any interested party. Rather than abolish the maintainer role, Jackson said, it would be better to just make maintainership changes easier and more routine. Some developers clearly see some appeal in the no-maintainer idea, though. Lars Wirzenius suggested the creation of a list that maintainers could join if they were amenable to having their packages taken over if they weren't keeping up with them. That list was subsequently created by Laura Arjona Reina and now had a handful of names on it.

Jackson, meanwhile, has moved on to a new idea: require group maintainership for all packages. The worst problems, he said, have always involved single-maintainer packages. If a formal team does not exist for a Debian package, then, perhaps, the entire project should be seen as the team and empowered to make changes. Like some other projects (the kernel, for example), Debian has encouraged more group maintainership of packages, but has not required it. Perhaps strengthening that encouragement is all the change that is really needed.

The Debian maintainer model has endured since the beginning of the project with few changes. It is too early to tell but, just maybe, this discussion will lead to larger changes in how Debian packages are maintained, with a subsequent reduction in maintainer-related problems. One should remember that this is Debian, though, so there is certain to be a fair amount of further discussion to get through first.


to post comments

Maintainerless Debian?

Posted Dec 6, 2016 20:24 UTC (Tue) by prometheanfire (subscriber, #65683) [Link] (2 responses)

So debian is getting herds?

Maintainerless Debian?

Posted Dec 8, 2016 1:44 UTC (Thu) by dirtyepic (guest, #30178) [Link] (1 responses)

Maybe they'll have better luck with it. The thing about herds (ie. package groups for those outside of Gentoo) was that they were really good at one thing - making it look like packages were being maintained when they really weren't. So the sound team for example would be in charge of 150 or so packages. But there's a dozen people on that team so they have it covered, right. Except 5 of those people are inactive, 2 are active but haven't touched a sound bug in three years, 1 forgot they joined, 1 is a member of every team because why not, and 3 are just members because they maintain one specific package each. Bugs pile up until someone notices and does something or it eventually stops compiling and gets removed. But hey, look at all the packages we maintain!

Now we've renamed "herds" to "projects" so we can ignore bugs in a much more professional manner.

Maintainerless Debian?

Posted Dec 8, 2016 5:26 UTC (Thu) by prometheanfire (subscriber, #65683) [Link]

Ya, I do think packages still need a primary maintainer, but herds still do help. Personally I feel like I can fix any python bug without stepping on toes (though I still ask).

Maintainerless Debian?

Posted Dec 7, 2016 5:31 UTC (Wed) by alison (subscriber, #63752) [Link] (1 responses)

Thanks for this article. I read so, so many mailing lists and while I run Debian both at home and on $PRODUCT, I must admit I don't read Debian mailing lists.

Maintainerless Debian?

Posted Dec 7, 2016 18:05 UTC (Wed) by rahvin (guest, #16953) [Link]

These articles are the entire reason I subscribe to LWN. Like you I run Debian, on a bunch of servers but I'm not subscribed to the mailing lists because LWN keeps me up to date on the big changes and most of the stuff that matters.

Maintainerless Debian?

Posted Dec 7, 2016 8:19 UTC (Wed) by jaromil (guest, #97970) [Link] (55 responses)

Hi there, Devuan lead developer here, the second Debian fork occurred in 2014, 10 years after Ubuntu.

Thanks John for the article, very actual topic which obviously interests us a lot. In Devuan we have developed a new package manager (amprolla) which facilitates forking repositories, something is definitely useful also for derivatives.

Now I would just like to make a quick point about the assertion "forks do not end up well". This is not true according to my understanding of history, but also according to academic literature studying the history of software forks in F/OSS and beyond. See:

Robles, G. & González-Barahona, J. M. (2012) ‘A comprehensive study of software forks: Dates, reasons and outcomes’, in Imed Hammouda et al. (eds.) in IFIP advances in information and communication technology. 2012 Springer. pp. 1–14.

and

Fung, K. H. et al. (2012) ‘Social forking in open source software: An empirical
study’, in Marite Kirikova & Janis Stirna (eds.) Proceedings of the 12
forum at the 24th international conference on advanced information systems
engineering (CAISE) in gdansk, poland, june 28, 2012. CEUR workshop proceedings.
2012 CEUR-WS.org. pp. 50–57

for a start. Let me add our fork is doing very well and we just recently released our second beta, on our way to a final release soon.
Here a video from FSCONS where I explain a bit how is going:
https://www.youtube.com/watch?v=wMvyOGawNwo

Disregarding our diverging opinions on the topic, many thanks for your good work and all the best

Maintainerless Debian?

Posted Dec 7, 2016 10:25 UTC (Wed) by mjg59 (subscriber, #23239) [Link] (18 responses)

Previous commercially backed Debian forks occurred in 1999 (Corel), 2000 (Progeny) and 2001 (Lindows). There's been a significant number of non-commercial ones at various points, few of which are still maintained. I'd be willing to bet that successful Debian forks are significantly rarer than failed ones.

Maintainerless Debian?

Posted Dec 7, 2016 11:23 UTC (Wed) by tzafrir (subscriber, #11501) [Link]

Details of several Debian derivatives: https://wiki.debian.org/Derivatives/Census

Maintainerless Debian?

Posted Dec 7, 2016 13:46 UTC (Wed) by anselm (subscriber, #2796) [Link] (15 responses)

I'd be willing to bet that successful Debian forks are significantly rarer than failed ones.

This makes sense because it is fairly easy to make a Debian fork but not easy to maintain it long-term, depending on how much stuff you change that you have to then keep going yourself rather than pull from Debian.

Devuan is probably a case in point here. They haven't managed an actual release yet, although to be fair they apparently have sunk quite a lot of work into infrastructure which may pay off later. It's going to be interesting to see whether they'll still be around five years from now, what shape their distribution will be in at that point, and whether any of their infrastructure work will have become useful to other distributions (including possibly Debian itself).

Maintainerless Debian?

Posted Dec 7, 2016 14:01 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (14 responses)

I don't really see how Devuan can survive long-term based on their systemd-phobia. But their fork-support infrastructure definitely looks interesting in itself and perhaps can be used by other projects.

Maintainerless Debian?

Posted Dec 7, 2016 14:18 UTC (Wed) by bandrami (guest, #94229) [Link] (13 responses)

The distribution with the current record for longevity is one of the most notoriously systemd-phobic ecosystems...

Maintainerless Debian?

Posted Dec 7, 2016 15:05 UTC (Wed) by cladisch (✭ supporter ✭, #50193) [Link] (8 responses)

But that's only because systemd is not backwards compatible with BSD-style init scripts.

Maintainerless Debian?

Posted Dec 9, 2016 16:51 UTC (Fri) by imMute (guest, #96323) [Link] (7 responses)

So systemd-sysv-generator doesn't exist?

Maintainerless Debian?

Posted Dec 9, 2016 17:31 UTC (Fri) by edgewood (subscriber, #1123) [Link] (6 responses)

BSD init is different from SysV init. If you follow the link to the description of Slackware's startup scripts, you'll see something very different from what you used to see, pre-systemd, on Redhat, SuSE, and Debian. Your link on the sysv-generator talks about looking in /etc/rc.initd; in Slackware that directory is optional and only for compatibility with third party software. sysv-generator looks at the LSB init script headers; Slackware init scripts don't include them.

See this Arch Linux forum message that summarizes the differences between BSD and SysV style inits.

Maintainerless Debian?

Posted Dec 9, 2016 17:39 UTC (Fri) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

BSD init is not different from SysV init. Scripts are organized somewhat differently but that's about the extent of it - traditional BSD uses a giant rc.conf file to select scripts and SysV init uses a giant ball of symlinks. Later BSDs use automatic discovery with dependency tags for ordering and later SysV inits use LSB dependencies to order the startup.

Init scripts themselves are pretty much identical - they are started by "script start" and stopped by "script stop".

Maintainerless Debian?

Posted Dec 9, 2016 20:17 UTC (Fri) by edgewood (subscriber, #1123) [Link]

BSD isn't as different from SysV as it is from OpenRC or systemd, but "organized differently" is "different". And in particular, the BSD-ish scripts (from a very old BSD?) in Slackware lack the LSB headers that systemd's sysv-generators use, which was the focus of my comment.

Maintainerless Debian?

Posted Dec 9, 2016 18:23 UTC (Fri) by smurf (subscriber, #17840) [Link] (3 responses)

So write another generator for systemd units for them. That's hardly rocket science.

Maintainerless Debian?

Posted Dec 9, 2016 20:10 UTC (Fri) by edgewood (subscriber, #1123) [Link] (2 responses)

Slackware init scripts don't include the kind of metadata that the systemd sysv-generators use.

It appears to me (as a non-Slackware user, who has just been reading the Slackware init scripts for this thread) that Slackware has one set of old BSD-style init scripts in the core package that hardcodes all of the boot logic, including starting the daemons for all of the optional packages if they're installed:

# Start the sendmail daemon:
if [ -x /etc/rc.d/rc.sendmail ]; then
  . /etc/rc.d/rc.sendmail start
fi

# Load ALSA (sound) defaults:
if [ -x /etc/rc.d/rc.alsa ]; then
  . /etc/rc.d/rc.alsa
fi

# Load a custom screen font if the user has an rc.font script.
if [ -x /etc/rc.d/rc.font ]; then
  . /etc/rc.d/rc.font
fi

Maintainerless Debian?

Posted Dec 13, 2016 16:15 UTC (Tue) by bandrami (guest, #94229) [Link] (1 responses)

Which is what a lot of us love about it: it does a defined set of tasks in a deterministic order. Sometimes imperative is really what you need...

Maintainerless Debian?

Posted Dec 13, 2016 17:00 UTC (Tue) by smurf (subscriber, #17840) [Link]

"imperative" and "doing things in a determined order" are not the same thing, though.
You can do the latter easily with systemd (just add After= stanzas).

Plus, with socket activation you don't even need to do that, most of the time.

Maintainerless Debian?

Posted Dec 7, 2016 18:24 UTC (Wed) by drag (guest, #31333) [Link] (3 responses)

Slackware isn't Debian. Slackware survives despite it's idiosyncrasies because it concentrates on only developing the simplest tools and having a tight focus.

Debian tries to be everything to everybody and tries to package all the decent free software on the planet. They have developed very significant tools to try to accomplish this. I remember moving from Slackware to Debian. Debian, because of their tooling and how their package management system works is extremely rigid and very effectively punishes users and admins that try to deviate from their prescribed packaging system.

Because of this and just the plain size of it maintaining a Debian fork that diverges significantly from Debian is going to be a herculean task. It's possible, but it's not going to be easy.

Maintainerless Debian?

Posted Dec 8, 2016 4:03 UTC (Thu) by rahvin (guest, #16953) [Link] (2 responses)

I'd be curious how many people actually use slack, my gut feeling is that it's got less users than even some of the small BSD projects (dragonfly, etc). Though it's got a devoted following among a group of grey beards it's not exactly a popular distribution outside that circle.

Maintainerless Debian?

Posted Dec 8, 2016 22:18 UTC (Thu) by SiB (subscriber, #4048) [Link]

I'd not be surprised if the number of slackware users goes up. At least in our university department we recently started using it on some workstations.

Maintainerless Debian?

Posted Dec 15, 2016 21:54 UTC (Thu) by Wol (subscriber, #4433) [Link]

If I've got a problem, Slack is my "go to" distro to resolve it.

Okay, a lot of my experience is well old, but Slack had the reputation of booting on pretty much everything. Having had a bout of trouble with systems, when all my liveCDs just hung (apart from Slack) it holds a very important place in my system recovery toolkit.

That said, I don't use it in production. My systems run gentoo, and systems I support run openSUSE. I'm a SuSE user since way back in the 5.x days.

Cheers,
Wol

Maintainerless Debian?

Posted Dec 7, 2016 17:20 UTC (Wed) by ssmith32 (subscriber, #72404) [Link]

That's a little silly. Many non-trivial tasks will see a lot more failures than successes in general (that being one of the clearest signs something is a non trivial task, so it's sort of by definition) There are probably a lot more failed distributions, software projects in general, businesses, etc, than successful ones.

Forking may have problems unique to forking, but just because it has a high failure rate doesn't mean it's not a good solution. At times.

Maintainerless Debian?

Posted Dec 7, 2016 21:14 UTC (Wed) by mgb (guest, #3226) [Link] (35 responses)

I don't know if Devuan can succeed long-term as a fork - that's a massive undertaking - but Devuan already succeeds admirably as a Debian overlay.

All our systems now work this way. We get speedy security updates from Debian and systemd-free from Devuan. Just two minor annoyances to watch for.

(1) Oddities in Devuan beta release Origin/Label/Suite/Codename have to be observed when apt-pinning.
(2) Access to unmerged Devuan could be easier.

Maintainerless Debian?

Posted Dec 8, 2016 0:42 UTC (Thu) by jaromil (guest, #97970) [Link]

we are working on improving point 2) - nextime and centuriondan are rewriting parts of amprolla into a version 2 of the software, to be deployed before releasing the final jessie. it will be ready within the next two months. then, for instance, apt-file should work also in devuan.

Maintainerless Debian?

Posted Dec 8, 2016 6:24 UTC (Thu) by tzafrir (subscriber, #11501) [Link] (33 responses)

Why don't you just use Jessie and sysvinit as the init system?

(Technical reasons, please. If you don't like the name of a certain package, please start a campaign to remove the essential flag from bash and ncurses (-base, -bin))

Maintainerless Debian?

Posted Dec 8, 2016 7:33 UTC (Thu) by smurf (subscriber, #17840) [Link]

Umm, could we please not digress into yet another of those threads?

Maintainerless Debian?

Posted Dec 8, 2016 8:33 UTC (Thu) by mgb (guest, #3226) [Link] (31 responses)

If the Devuan devs do good work and others use their good work and you are not forced to use Devuan why does it concern you?

Maintainerless Debian?

Posted Dec 8, 2016 11:35 UTC (Thu) by farnz (subscriber, #17727) [Link] (30 responses)

Because it should be possible to use Debian Jessie with sysvinit. If there are technical reasons behind the decision to not use plain Debian with sysvinit (not just "I don't want any package with systemd in its name on my systems"), then those are bugs that need to be addressed by the Debian project (either by fixing them, so that systemd is not necessary as per Debian policy, or by pointing users who wish to use sysvinit to Debian derived distributions like Devuan).

If it's just that "packages with systemd in their name are not permitted here", then we've had that thread far too often, and should just leave it well alone.

Maintainerless Debian?

Posted Dec 8, 2016 12:30 UTC (Thu) by mgb (guest, #3226) [Link] (29 responses)

There is no universal best path.

For-profit Redhat has chosen a path. Groupthink Debian has copied it. Devuan and others have chosen a different path.

It was unfortunate that the universal operating system threw away working solutions for one path but Devuan has rebuilt what was lost, just as TDE rebuilt a KDE3 path after it was forced out of Debian.

Maintainerless Debian?

Posted Dec 8, 2016 12:58 UTC (Thu) by anselm (subscriber, #2796) [Link] (28 responses)

It was unfortunate that the universal operating system threw away working solutions for one path but Devuan has rebuilt what was lost

So far Debian hasn't thrown SysV init away (it is still supported in Jessie, it's just no longer the default). Obviously, the Debian project can't force Debian maintainers to tie themselves in knots in order to fix problems in SysV init scripts. This doesn't mean that they can't do it out of general altruism if they want to, or that third parties aren't allowed to contribute patches to fix issues that they have found with a package's SysV init support. Incidentally, this is another argument in favour of group maintainership; if the original maintainer of a package in Debian doesn't care for SysV init support, they could take on board someone who keeps just that aspect of the package on track. Since all the pertinent packages already come with SysV support for legacy reasons, that shouldn't be a huge task.

IOW, the people who insist on SysV init get to scratch their own itches rather than have them scratched by others, and it would be perfectly possible to do that under the auspices of Debian. If they prefer to fork the distribution instead then that is of course their privilege, but doing it within Debian would probably be a lot less work.

Maintainerless Debian?

Posted Dec 8, 2016 19:05 UTC (Thu) by mgb (guest, #3226) [Link] (27 responses)

Decades of experience tell us that excessive coupling as in systemd plumbing tends to stagnate a software ecosystem. To us working around systemd is essential to the long-term health of F/LOSS. Debian devs disagree.

The Devuan devs have generously provided a solution to this problem, while software developers and Debian packagers continue to supply solutions to many other problems.

You are not prohibited from using either path, nor are you forced to use either path. Why does Devuan concern you?

Why should people care about Debian?

Posted Dec 8, 2016 19:08 UTC (Thu) by farnz (subscriber, #17727) [Link] (24 responses)

Because it's a bug in Debian, per current policy, if sysvinit does not work in Debian Jessie. Right now, Debian claims that this is a supported configuration - if that's false, Debian should find out sooner rather than later so that it can either fix its bugs, or declare this configuration unsupported (thus pushing people who want sysvinit and Debian onto Devuan).

Why should people care about Debian?

Posted Dec 9, 2016 16:39 UTC (Fri) by zlynx (guest, #2285) [Link] (23 responses)

The Devuan people are fanatics. They hate systemd so much that they've wasted their time removing code that only adds *support* for systemd startup detection and socket handling. Rather than suffer by having anything named "systemd" linked to code anywhere they have been anti-patching it OUT of perfectly good software that runs just fine under sysvinit.

Personally I think they're crazy, but eh.

Why should people care about Debian?

Posted Dec 9, 2016 18:45 UTC (Fri) by mgb (guest, #3226) [Link] (20 responses)

Thank you for your opinion. No, the Devuan devs are not crazy fanatics.

Code is for the most part written upstream, not in Debian. Most of that code runs in many different operating systems, not just Linux. The code doesn't need systemd but a small number of Debian devs have aggressively added unnecessary systemd dependencies making the universal operating system much less so.

So a significant fraction of what the Devuan devs have done is simply removing gratuitous systemd dependencies. And the reason that this is important is that when something better than systemd comes along those who want to experiment or adopt the new idea can do so freely. That's F/LOSS.

Why should people care about Debian?

Posted Dec 9, 2016 18:55 UTC (Fri) by Cyberax (✭ supporter ✭, #52523) [Link]

> So a significant fraction of what the Devuan devs have done is simply removing gratuitous systemd dependencies.
In another words: "a crusade against libsystemd".

Why should people care about Debian?

Posted Dec 9, 2016 19:15 UTC (Fri) by pizza (subscriber, #46) [Link] (18 responses)

A quixotic purge of libsystemd.so from one's own hard disk does nothing to solve actual dependencies on systemd, which is, to paraphrase you, "for the most part introduced upstream" rather than by Debian.

It seems to me that contributing upstream by writing and maintaining non-systemd code paths would be a far more productive use of everyone's time than the effort of forking an entire distro to merely purge libsystemd.so from one's hard disk. ConsoleKit is a great example of something that has bitrotten into an unusable state.

But hey, far be it for me to tell someone else how to spend their free time. I spend mine reverse-engineering printers, after all.

Why should people care about Debian?

Posted Dec 9, 2016 19:59 UTC (Fri) by mgb (guest, #3226) [Link] (17 responses)

Most upstream code runs on non-Linux operating systems and therefore is *not* dependent on systemd.

It is a few Debian devs who have added the gratuitous dependencies on systemd.

This is unfortunate for the ex-universal operating system but fortunately the Devuan devs have restored users' ability to try interesting new software whenever it is appears.

Why should people care about Debian?

Posted Dec 9, 2016 20:23 UTC (Fri) by anselm (subscriber, #2796) [Link]

On a system that doesn't actually run systemd, libsystemd does nothing, so having it installed isn't really much of a problem. If upstream includes it, you probably create more potential trouble by ripping it out than you do by leaving it in.

IOW, there is no pressing need to fork a whole distribution simply to get rid of libsystemd, unless you're on a crusade against anything that has “systemd” in its name. But hey, whatever floats your boat.

Why should people care about Debian?

Posted Dec 9, 2016 21:15 UTC (Fri) by pizza (subscriber, #46) [Link] (15 responses)

Discounting software that runs on self-contained language runtimes (eg Python, Perl, PHP, NodeJS, or Java) that "run everywhere" their runtime has been ported, the overwhelming majority of the upstream code in Debian does *not* run on non-Linux (okay, non-UNIXish) operating systems.

Again, every single bit of software that truly depends on systemd at runtime (be it through a hard requirement or an optional compile-time feature) was done so by its upstream, not some unnamed Debian developers that you continue to disparage (while at the same time, taking advantage of their hard work).

Why should people care about Debian?

Posted Dec 9, 2016 22:12 UTC (Fri) by mgb (guest, #3226) [Link] (14 responses)

h/t. Cleverly argued. You could have been a lawyer.
Discounting software that runs on self-contained language runtimes (eg Python, Perl, PHP, NodeJS, or Java) that "run everywhere" their runtime has been ported, the overwhelming majority of the upstream code in Debian does *not* run on non-Linux (okay, non-UNIXish) operating systems.
Systemd is one of a very few pieces of UNIX-ish software which does not run on non-Linux.
Again, every single bit of software that truly depends on systemd at runtime (be it through a hard requirement or an optional compile-time feature) was done so by its upstream, not some unnamed Debian developers that you continue to disparage (while at the same time, taking advantage of their hard work).
Converting an optional feature to a hard dependency is trivial but tedious work which the Devuan devs have to reverse in order to remove the unnecessary dependencies. Devuan devs remove gratuitous dependencies to give users like me more flexibility and freedom and for this I am grateful. I fail to see why a few Debian devs are so intent on removing flexibility and freedom, particularly as it hinders the future evolution of F/LOSS.

Why should people care about Debian?

Posted Dec 9, 2016 22:51 UTC (Fri) by anselm (subscriber, #2796) [Link]

Software in Debian is supposed to work well with systemd, since systemd is the default init system on Debian. This means that a Debian developer will generally add the “--with-systemd” configuration switch (or omit the “--without-systemd” switch) when packaging an upstream package that includes such a switch. A dependency on libsystemd has no severe impact on systems that run other init systems because on such systems, libsystemd does nothing. It certainly does not restrict people's “flexibility and freedom” any more than any other library dependency (like on, say, libreadline) would.

It would be a disservice to Debian's users not to build a Debian package such that it takes advantage of systemd's features on those Debian machines that do run systemd, if the package offers that option. Having said that, I don't think that Debian developers actively add libsystemd support to packages that don't already include such support (optional or not) in the upstream version, such that the Devuan people feel obliged to take that support out again. Do you have any specific examples of such packages?

Why should people care about Debian?

Posted Dec 10, 2016 1:30 UTC (Sat) by pizza (subscriber, #46) [Link] (3 responses)

> h/t. Cleverly argued. You could have been a lawyer.

Thank you for the compliment, but it's not about being clever -- I try to be precise and consistent in my statements. It is also a necessary skill when writing deeply embedded code that Must. Not. Fail.

(And I note that you completely sidestepped what I wrote)

> Systemd is one of a very few pieces of UNIX-ish software which does not run on non-Linux.

Nobody (least of all the systemd authors) has claimed otherwise.

> Converting an optional feature to a hard dependency is trivial but tedious work which the Devuan devs have to reverse in order to remove the unnecessary dependencies.

I'm sorry, who (and to what) are you claiming has done this "trivial but tedious conversion to a hard dependency" that needs must be reversed? Please cite a specific example.

> Devuan devs remove gratuitous dependencies to give users like me more flexibility and freedom and for this I am grateful. I fail to see why a few Debian devs are so intent on removing flexibility and freedom, particularly as it hinders the future evolution of F/LOSS.

You are arguing that adding a feature/option hinders your flexibility and freedom, while removing feature/option adds to your flexibility and freedom. It's an odd position to take, given that it directly contradicts the dictionary definitions of those words.

Why should people care about Debian?

Posted Dec 10, 2016 2:59 UTC (Sat) by mgb (guest, #3226) [Link] (2 responses)

> You are arguing that adding a feature/option hinders your flexibility and freedom, while removing feature/option adds to your flexibility and freedom. It's an odd position to take, given that it directly contradicts the dictionary definitions of those words.

Not so. If one adds the option locked_in_a_small_box to pizza, pizza's flexibility and freedom is limited. Systemd's broad scope and excessive coupling hinders the development of new and better F/LOSS.

We disagree, but why does it concern you? I was unhappy when Debian started restricting my freedom. Devuan devs have kindly worked around that problem saving me the effort and I am happy again. I believe Devuan provides more flexibility for the future evolution of F/LOSS.

But why do you care about Devuan, whether I am right or wrong? You have Debian. I have Devuan. Is there some reason you need to use systemd in Devuan?

Why should people care about Debian?

Posted Dec 10, 2016 9:57 UTC (Sat) by smurf (subscriber, #17840) [Link] (1 responses)

> If one adds the option locked_in_a_small_box to pizza, pizza's flexibility and freedom is limited.

Wrong. That's only if you *force* the pizza to be locked in a small box. Adding an option never limited anything.

Also, systemd is neither small nor a lock-in. You can always do your own thing, systemd or not.

> Systemd's broad scope and excessive coupling hinders the development of new and better F/LOSS.

That has been demonstrated to be wrong. What hindered the development of new+better, in the past, was the fact that all previous solutions only solved part of the problem, thus switching to them never was attractive enough to actually happen, so most developers didn't bother.

The sole exception to this was Canonical's Upstart, but that had a different set of problems (some technical, some political) which eventually prevented it from getting adopted more widely.

The mere existence of systemd doesn't hinder anything. It just raises the bar. A lot.

> I was unhappy when Debian started restricting my freedom.

You never had the "freedom" to compel a Debian developer to not include a particular feature or to not require a library in their package in the first place.

Why should people care about Debian?

Posted Dec 10, 2016 10:11 UTC (Sat) by zdzichu (subscriber, #17118) [Link]

Please, please, PLEASE stop this systemd thread. LWN has seen enough of them in the past.

Why should people care about Debian?

Posted Dec 10, 2016 1:48 UTC (Sat) by pizza (subscriber, #46) [Link] (8 responses)

> Systemd is one of a very few pieces of UNIX-ish software which does not run on non-Linux.

Oh, I should point out that the 'sysvinit' package is Linux-specific and non-portable. Indeed, each UNIX (and BSD) has its own unique, non-portable init whose implementation is closely tied to its underlying kernel.

(And at a higher level, only the most trivial of "init scripts" were portable to different Linuxes, to say nothing about different UNIX-ish systems)

Why should people care about Debian?

Posted Dec 11, 2016 16:21 UTC (Sun) by guillemj (subscriber, #49706) [Link] (7 responses)

> Oh, I should point out that the 'sysvinit' package is Linux-specific and non-portable.

That's not correct. I would know because I've been involved in its porting many years ago. It also did not require many changes to make it build and work on non-Linux systems. In Debian it works on all of GNU/Linux, GNU/kFreeBSD and GNU/Hurd. Also start-stop-daemon (provided by dpkg), which is the foundation most init scripts in Debian are based on, works also on any of the BSDs, Mac OS X, AIX and should work on Solaris and HP-UX too.

Why should people care about Debian?

Posted Dec 11, 2016 17:35 UTC (Sun) by anselm (subscriber, #2796) [Link]

That doesn't detract from the fact that Linux was pretty much the only Unix-like system that actually still used System-V init. Virtually all the other Unixes had come up with their own alternatives to System-V init years earlier

Systemd is actually pretty late to the party, which in a way is an advantage because the systemd developers had the opportunity to look at many of the other systems in order to identify their strengths and weaknesses, and use that information in the design of systemd.

Why should people care about Debian?

Posted Dec 12, 2016 11:15 UTC (Mon) by jaromil (guest, #97970) [Link] (4 responses)

Thanks guillemj for your past work on sysvinit, your experience can still be very useful in openrc btw.

Overall this whole thread is reassuring to read: on the systemd camp are always the same people. Yet I hoped this discussion could stay on topic about the maintainer issue raised by this good article, a topic which concerns very much Devuan well beyond the init diatribe.

What a pity for LWN that these hooligans are always around to sabotage the conversation.

Why should people care about Debian?

Posted Dec 12, 2016 11:26 UTC (Mon) by anselm (subscriber, #2796) [Link]

I hoped this discussion could stay on topic about the maintainer issue raised by this good article, a topic which concerns very much Devuan well beyond the init diatribe.

So as a matter of interest, how many people are actively contributing to Devuan and how do you handle the issue of who maintains which packages? Does Devuan encourage co-maintainership or “maintainerlessness” to a greater degree than Debian does today? What could Debian learn from Devuan as far as organising package maintainership is concerned?

Hooligans

Posted Dec 12, 2016 15:20 UTC (Mon) by corbet (editor, #1) [Link] (1 responses)

If you wanted the comment thread to stay on topic, then maybe you shouldn't have posted a top-level comment pitching the Devuan beta? I'm sorry, but the diversion here started at the top.

I do hope that we can stop rehashing the systemd discussion now?

Hooligans

Posted Dec 12, 2016 15:34 UTC (Mon) by jaromil (guest, #97970) [Link]

dear Johnatan, the Devuan project is more related to Debian's governance than to systemd, something I did my best to explain in the first part of the FSCONS presentation video I've linked. In my top comment I thought as useful to the discussion to mention our new package distribution software amprolla (imho relevant to the maintainership debate) and to object to your assertion on fork with some interesting academic references. I have never mentioned systemd nor was intending to drag it over here, nor I think I should be shy about our developments because there are "hooligans in town" who like to fight between opposing factions. Thanks for your patience.

Why should people care about Debian?

Posted Dec 12, 2016 16:35 UTC (Mon) by smurf (subscriber, #17840) [Link]

Comments like

> h/t. Cleverly argued. You could have been a lawyer.

do not exactly help keeping a discussion civil and on-topic either, and

> these hooligans

is far less civil in tone, if not meaning, than anything the sytemd proponents have posted here.

Incidentally, nobody has yet even tried to explain why removing libsystemd.so from Devuan helps its cause.

Why should people care about Debian?

Posted Dec 12, 2016 12:35 UTC (Mon) by pizza (subscriber, #46) [Link]

> It also did not require many changes to make it build and work on non-Linux systems.

"did not require many changes" rather undermisnes the argument that it is universal. (it uses all sorts of kernel-, libc-, and even compiler-specific bits)

But thanks for the correction.

> Also start-stop-daemon (provided by dpkg), which is the foundation most init scripts in Debian are based on, works also on any of the BSDs, Mac OS X, AIX and should work on Solaris and HP-UX too.

Speaking for AIX, OSX and Solaris specifically (I can't comment on the BSDs or HPUX), start-stop-daemon may technically run but will clash with their native tools (src, launchd and smf, respectively).

Also, even on the pure Linux side of things, start-stop-daemon is only guaranteed to exist (and be remotely up-to-date) on Debian and its derivatives.

Why should people care about Debian?

Posted Dec 10, 2016 9:13 UTC (Sat) by farnz (subscriber, #17727) [Link] (1 responses)

Can we at least try to keep this productive? The question I'm asking is whether there is a bug or other technical reason that prevents people from using Debian Jessie with sysvinit, or whether it's just the well-known dislike of the systemd package name.

If Debian is buggy, and neither works when booted with sysvinit, nor accepts patches to fix it, then there's a very, very clear justification for Devuan. If it's relatively simple to switch a Debian systemd boot to a Debian Linux-specific sysvinit boot, then the justification is less clear.

Why should people care about Debian?

Posted Dec 10, 2016 13:22 UTC (Sat) by pizza (subscriber, #46) [Link]

The short answer to your question is no, there are no bugs or technical reasons preventing use of Debian as a whole with sysvinit. It remains fully supported as a matter of global policy. (Well, unless you're using Debian/kFreeBSD, which requires its own init..)

However, there are specific packages within Debian that effectively require systemd due to *upstream* dependencies. GNOME is the most prominent, as it relies on systemd-logind. That said, there are alternative implementations of the logind API with varying degrees of functionality. I do not know if Debian packages/integrates any of them.

Part of the big bruhaha over Debian switching over to systemd by default is that some folks were (IMO rightly) concerned it would lead to bitrot in non-default paths. However, the way the eventually-rejected GRs were worded, Debian packagers could be forced (as a matter of policy) to maintain and possibly even create code paths for all bundled init systems (including kFreeBSD's) in all packages, even when that meant effectively forking upstream.

Maintainerless Debian?

Posted Dec 9, 2016 1:07 UTC (Fri) by anselm (subscriber, #2796) [Link] (1 responses)

Decades of experience tell us that excessive coupling as in systemd plumbing tends to stagnate a software ecosystem. To us working around systemd is essential to the long-term health of F/LOSS. Debian devs disagree.

Let me get this straight. You seem to feel that systemd will eventually cause “stagnation”. This is an interesting POV given that in Linux, we have essentially had 30+ years of stagnation on the init-system scene before Upstart and, later, systemd came along (remember that System-V init predates Linux). So you want to avoid possible future stagnation by relying on a piece of software that has been around longer than virtually anything else in Linux and hasn't changed noticeably during that time? Way to go.

Maintainerless Debian?

Posted Dec 9, 2016 2:04 UTC (Fri) by smurf (subscriber, #17840) [Link]

Heh.

However, this shows that it's still not a good idea to start a (or rather: yet another) discussion about the appropriateness of systemd.

Thus: Please don't.

Maintainerless Debian?

Posted Dec 7, 2016 8:22 UTC (Wed) by smurf (subscriber, #17840) [Link] (10 responses)

There are two parts of the problem. (a) maintainers with controversial ideas, (b) maintainers who do nothing.
(b) is easily solvable by more aggressively orphaning packages. For (a), mandatory group ownership is likely to prevent future problems, but current disputes? not so much.

Maintainerless Debian?

Posted Dec 7, 2016 10:31 UTC (Wed) by NAR (subscriber, #1313) [Link] (8 responses)

Group ownership sounds good regardless of disputes, because the single ownership has very high bus factor. On the other hand as far as I know, distributions generally lack manpower and group ownership requires more people, so I'm not sure how feasible it is.

In my 15+ years of professional work I don't remember any "commit wars", people unilaterally modifying each other's code or people being totally unreasonable. I don't know the reason, only have ideas:

  • being in the same room at same time helps resolving issues, people can actually talk to each other
  • there's a project manager or technical lead who resolves issues if the developers can't
  • paid developers might not be that emotionally attached to a piece of code - "I get paid the same even if not my solution is released"

Maintainerless Debian?

Posted Dec 7, 2016 11:03 UTC (Wed) by matthias (subscriber, #94967) [Link] (7 responses)

> group ownership requires more people

Sounds logical, but is this really true. The overall amount of work is the same. In a group ownership model, each person can be maintainer of more packages, as the average work on any single package is less. Even if it does not solve the "we have not enough people problem", it should solve the bus factor, i.e. problems, when one person is on holidays and some important fix comes in or just a bunch of work for a single package that can be distributed.

Still there are downsides like no one feeling responsible. There are probably good reasons, why group maintainership is not the default, but I do not think it is the number of people required. Probably, you can find more maintainers, if the (peak) work load for an individual package is smaller due to distribution of work.

Maintainerless Debian?

Posted Dec 7, 2016 12:18 UTC (Wed) by itvirta (guest, #49997) [Link] (6 responses)

>> group ownership requires more people
>Sounds logical, but is this really true.

I think you mean _isn't_. But adding people by necessity adds communication overhead
within the group (which for a single maintainer is zero), and therefore requires more work.

Maintainerless Debian?

Posted Dec 7, 2016 13:14 UTC (Wed) by mfuzzey (subscriber, #57966) [Link] (3 responses)

The communication overhead probably depends on the type of work being carried out.

For software undergoing heavy development then yes the communication overhead to keep people stepping on each others toes and moving in the same direction with a shared vision could be significant.

But if the software is mostly in maintenance mode the overhead could be very low since, at any given time, there may well only be one maintainer actually working on it.
For example a "timeslot" system could allow N maintainers to work on the same package with little to no synchronization overhead (developer 1 works on the first week of the month, developer 2 on the second etc). Not saying this is necessarily the best way to do it but it does allow the bus factor to be increased for little communication cost.

And we are talking about packaging here rather than full blown upstream development work which probably makes things easier (packagers try to change as little as possible of the upstream sources, consistent with the distribution policies).

Maintainerless Debian?

Posted Dec 7, 2016 13:51 UTC (Wed) by anselm (subscriber, #2796) [Link] (2 responses)

Also consider that there are more than a thousand people working on Debian. In the days of SUSE Linux and Red Hat Linux as commercial end-user packages, these companies managed to maintain fairly large distributions with teams that were at least 1–1.5 orders of magnitude smaller.

Maintainerless Debian?

Posted Dec 8, 2016 3:56 UTC (Thu) by rahvin (guest, #16953) [Link] (1 responses)

Your comparison is disingenuous IMO. Debian's distribution has significant more software than those commercial distributions and because it's mostly volunteer it's part time work. Even still if you actually did a fair comparison where you only included the Debian contributors that worked on the same packages provided by the RedHat commercial distribution you would find Debian is doing pretty darn good given the volunteer nature.

It's simply not fair to compare a distribution with (made up numbers) 2000 packages against a distribution with 500 and then claim the 500 package distribution is so much more efficient. AFAIK RedHats previous commercial end-user packages never included anywhere close to the depth of the Debian repositories. Even today on RHEL I doubt the official RPM's are even 25% of whats in Debian. The only fair comparison would be to pin down contributors on a completely equal package basis.

Maintainerless Debian?

Posted Dec 8, 2016 13:16 UTC (Thu) by anselm (subscriber, #2796) [Link]

Nobody says that Debian is inefficient – it's just organised differently. If instead of volunteers maintaining a small handful of packages each in their spare time you have full-time paid staff who do nothing else but maintain packages, you can get by with a smaller workforce. And that probably involves a greater degree of co-maintainership from the get-go.

(Also, comparing the numbers of packages between Debian and Red Hat/SUSE doesn't make a great deal of sense because these distributions tend to split upstream packages up differently. Also, back in the days of commercial SUSE Linux, Debian was considerably smaller than it is now, and consequently the two were probably much closer in size and scope than they are today.)

Maintainerless Debian?

Posted Dec 8, 2016 3:48 UTC (Thu) by rahvin (guest, #16953) [Link] (1 responses)

All project managers should know that adding bodies to projects isn't a zero sum game where 1person produces X while 2 people produce 2X. The reality in the world is that as you add people to projects the people involved get less and less efficient.

There is an ideal staffing level and once you pass that point every person added will start significantly lowering the productivity of the group. Things like doing tasks out of order because you need to get someone working, this often create rework. As mentioned you add to your communication overhead which in a rotten situation with too many bodies can consume more time than the actual task. The increased communication load also will start causing mistakes on it's own because person X didn't see change Y.

There are a bunch of other things that happen, the list is quite long so I'm not going to list them all but needless to say adding bodies creates problems all on it's own, even with ideal staffing for the task the more bodies the task requires the more management and overhead time there will be.

I personally don't think group ownership could succeed in a volunteer FOSS project unless it was a very small, very tight group where there is strong respect and near equal skill levels among the members. IMO FOSS, particularly volunteer FOSS succeeds better under the benevolent dictator model. The trick is finding the dictator.

Maintainerless Debian?

Posted Dec 9, 2016 5:51 UTC (Fri) by JanC_ (guest, #34940) [Link]

Of course there will be some communication overhead, but that often was already necessary because usually packages maintained by a group are used together, or depend on each other, or are otherwise related.

Maintainerless Debian?

Posted Dec 8, 2016 14:45 UTC (Thu) by ondrej (subscriber, #27872) [Link]

I am not really sure that mandatory group ownership will solve this particular problem (of inactive or non-cooperative maintainers). At least in my experience, most groups are just one or few maintainer(s) active doing all the work and the rest don't do much (not even bug triaging).

The one thing the group ownership solves though, that it allow me to fix other people's packages (f.e. in PHP Packaging Group) without aggressively hijacking those packages.

On the other hand, unless the maintainers are just missing or really busy, they are usually ok, if you ask them whether they want help as additional Uploader. (Also my experience how I became maintainer of some core packages - libdb, libjpeg-turbo, php among others...)

The "maintainerless Debian" is nice idea, but there's still need to have a bit of autocratic leadership as there are some decisions that needs to be made. Imaging the decision suhosin-patch or no-suhosin-patch in core PHP? That's ultimately a decision that maintainer needs to make (and stand for it) and not just a "git commit" by bystander...

Maintainerless Debian?

Posted Dec 7, 2016 20:19 UTC (Wed) by fratti (guest, #105722) [Link] (4 responses)

While I don't have any experiences myself, I've heard a lot of negative things about Debian maintainers from various upstream developers. A maintainerless approach seems like a step in the right direction.

Maintainerless Debian?

Posted Dec 7, 2016 22:05 UTC (Wed) by smurf (subscriber, #17840) [Link]

… which is mostly because people tend not to bitch about maintainer relationships that work.

Maintainerless Debian?

Posted Dec 8, 2016 1:46 UTC (Thu) by dirtyepic (guest, #30178) [Link]

There are two types of maintainerless packages. Those that are broken and those no one has noticed are broken.

Maintainerless Debian?

Posted Dec 8, 2016 13:03 UTC (Thu) by niner (subscriber, #26151) [Link] (1 responses)

Debian maintainers are also the ones who are most active reporting bugs to upstream and even supplying patches. At least the maintainers of Perl related packages as those are the ones I receive bug reports for. They are really helpful and stand out from the crowd.

And I say that as an openSUSE fanboy who's never even used a Debian based distro.

Maintainerless Debian?

Posted Jan 11, 2017 14:58 UTC (Wed) by mirabilos (subscriber, #84359) [Link]

Even better, this is the *responsibility* of the maintainer.

I fear that, in a maintainerless system, the quality of packages, bug interactions, etc. would rapidly sink.

Disclosure: DD, many packages maintained and with strong ownership stance, but also some in collab-maint, in team maintenance, on LowThresholdNmu, etc. (it depends on my personal relationship to the package and the upstream (often myself) how strong I wish my ownership to be)

Maintainerless Debian?

Posted Dec 8, 2016 9:35 UTC (Thu) by ehiggs (subscriber, #90713) [Link]

Your packages are not your packages.
They are the rpms and debs of Software's longing for itself.
They come through you but not from you,
And though they are with you yet they belong not to you.

- Kahlil "2prophet" Gibran

Maintainerless Debian?

Posted Dec 9, 2016 18:43 UTC (Fri) by ksandstr (guest, #60862) [Link] (1 responses)

>>It is surely obvious that there must have been several occasions in the history of the project, where someone has been such a poor maintainer that they ought to have been deposed, with someone ready to take up the role. The only possible conclusion is that our process for dealing with bad leadership on the part of maintainers is totally broken.

There's a startling lack of pointing out an example, any example. Only a "must have been several", an indication that this is exactly what there isn't -- in that argument anyway.

To paraphrase, the only possible conclusion is that the existing process has never been applied, and that its workability is therefore unknown. It may even be that the process' existence itself provides a limit to how much a maintainer can shirk.

The guy put in a long while working out an alternative model. Why did he spend seemingly so little time finding example cases, and moreover, arguing why his model would've worked better in those cases?

>His first proposal was to create a new mechanism, separate from the technical committee, to handle maintainership disputes.

That the first proposal was essentially a new series for gamesmanship, and that this wasn't excluded before making the first proposal, suggests that the whole idea lacks a solid foundation. At any rate I saw no discussion concerning malicious application of these dispute procedures: in particular the one where "maintainer has no more authority [over his/her own work] than any old opinion tourist" seems like the tac-nuke of mob rule on one hand and a trial by non-experts on the other.

Maintainerless Debian?

Posted Dec 16, 2016 0:47 UTC (Fri) by ras (subscriber, #33059) [Link]

> There's a startling lack of pointing out an example, any example.

Because the Debian tradition is to address the issue and not the person. (Mentioning the package name is equivalent to naming the person.) I think Ian did it commendably well on this occasion.

> The guy put in a long while working out an alternative model. Why did he spend seemingly so little time finding example cases, and moreover, arguing why his model would've worked better in those cases?

It was fairly clear to any Debian Developers reading the thread he had a specific example in mind, one that irked him greatly. Further if you've been a developer for any length of time you will have been bitten by some DD not pulling their weight, so he didn't really need to point out others - we all had bad memories float up as soon as he mentioned it.

I am not saying this to defend any of his solutions as I disagreed with all of them. But the issue is real enough. Every organisation of 1000 people suffers from it.

Maintainerless Debian?

Posted Dec 14, 2016 17:12 UTC (Wed) by ghane (guest, #1805) [Link]

The bug report on GLOBAL has now been closed. There will be a new maintainer.

Further details here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=841294


Copyright © 2016, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds