Maintainerless Debian?
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:
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.
Posted Dec 6, 2016 20:24 UTC (Tue)
by prometheanfire (subscriber, #65683)
[Link] (2 responses)
Posted Dec 8, 2016 1:44 UTC (Thu)
by dirtyepic (guest, #30178)
[Link] (1 responses)
Now we've renamed "herds" to "projects" so we can ignore bugs in a much more professional manner.
Posted Dec 8, 2016 5:26 UTC (Thu)
by prometheanfire (subscriber, #65683)
[Link]
Posted Dec 7, 2016 5:31 UTC (Wed)
by alison (subscriber, #63752)
[Link] (1 responses)
Posted Dec 7, 2016 18:05 UTC (Wed)
by rahvin (guest, #16953)
[Link]
Posted Dec 7, 2016 8:19 UTC (Wed)
by jaromil (guest, #97970)
[Link] (55 responses)
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
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.
Disregarding our diverging opinions on the topic, many thanks for your good work and all the best
Posted Dec 7, 2016 10:25 UTC (Wed)
by mjg59 (subscriber, #23239)
[Link] (18 responses)
Posted Dec 7, 2016 11:23 UTC (Wed)
by tzafrir (subscriber, #11501)
[Link]
Posted Dec 7, 2016 13:46 UTC (Wed)
by anselm (subscriber, #2796)
[Link] (15 responses)
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).
Posted Dec 7, 2016 14:01 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (14 responses)
Posted Dec 7, 2016 14:18 UTC (Wed)
by bandrami (guest, #94229)
[Link] (13 responses)
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.
Posted Dec 9, 2016 16:51 UTC (Fri)
by imMute (guest, #96323)
[Link] (7 responses)
Posted Dec 9, 2016 17:31 UTC (Fri)
by edgewood (subscriber, #1123)
[Link] (6 responses)
See this Arch Linux forum message that summarizes the differences between BSD and SysV style inits.
Posted Dec 9, 2016 17:39 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
Init scripts themselves are pretty much identical - they are started by "script start" and stopped by "script stop".
Posted Dec 9, 2016 20:17 UTC (Fri)
by edgewood (subscriber, #1123)
[Link]
Posted Dec 9, 2016 18:23 UTC (Fri)
by smurf (subscriber, #17840)
[Link] (3 responses)
Posted Dec 9, 2016 20:10 UTC (Fri)
by edgewood (subscriber, #1123)
[Link] (2 responses)
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:
Posted Dec 13, 2016 16:15 UTC (Tue)
by bandrami (guest, #94229)
[Link] (1 responses)
Posted Dec 13, 2016 17:00 UTC (Tue)
by smurf (subscriber, #17840)
[Link]
Plus, with socket activation you don't even need to do that, most of the time.
Posted Dec 7, 2016 18:24 UTC (Wed)
by drag (guest, #31333)
[Link] (3 responses)
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.
Posted Dec 8, 2016 4:03 UTC (Thu)
by rahvin (guest, #16953)
[Link] (2 responses)
Posted Dec 8, 2016 22:18 UTC (Thu)
by SiB (subscriber, #4048)
[Link]
Posted Dec 15, 2016 21:54 UTC (Thu)
by Wol (subscriber, #4433)
[Link]
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,
Posted Dec 7, 2016 17:20 UTC (Wed)
by ssmith32 (subscriber, #72404)
[Link]
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.
Posted Dec 7, 2016 21:14 UTC (Wed)
by mgb (guest, #3226)
[Link] (35 responses)
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.
Posted Dec 8, 2016 0:42 UTC (Thu)
by jaromil (guest, #97970)
[Link]
Posted Dec 8, 2016 6:24 UTC (Thu)
by tzafrir (subscriber, #11501)
[Link] (33 responses)
(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))
Posted Dec 8, 2016 7:33 UTC (Thu)
by smurf (subscriber, #17840)
[Link]
Posted Dec 8, 2016 8:33 UTC (Thu)
by mgb (guest, #3226)
[Link] (31 responses)
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.
Posted Dec 8, 2016 12:30 UTC (Thu)
by mgb (guest, #3226)
[Link] (29 responses)
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.
Posted Dec 8, 2016 12:58 UTC (Thu)
by anselm (subscriber, #2796)
[Link] (28 responses)
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.
Posted Dec 8, 2016 19:05 UTC (Thu)
by mgb (guest, #3226)
[Link] (27 responses)
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?
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).
Posted Dec 9, 2016 16:39 UTC (Fri)
by zlynx (guest, #2285)
[Link] (23 responses)
Personally I think they're crazy, but eh.
Posted Dec 9, 2016 18:45 UTC (Fri)
by mgb (guest, #3226)
[Link] (20 responses)
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.
Posted Dec 9, 2016 18:55 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Dec 9, 2016 19:15 UTC (Fri)
by pizza (subscriber, #46)
[Link] (18 responses)
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.
Posted Dec 9, 2016 19:59 UTC (Fri)
by mgb (guest, #3226)
[Link] (17 responses)
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.
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.
Posted Dec 9, 2016 21:15 UTC (Fri)
by pizza (subscriber, #46)
[Link] (15 responses)
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).
Posted Dec 9, 2016 22:12 UTC (Fri)
by mgb (guest, #3226)
[Link] (14 responses)
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?
Posted Dec 10, 2016 1:30 UTC (Sat)
by pizza (subscriber, #46)
[Link] (3 responses)
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.
Posted Dec 10, 2016 2:59 UTC (Sat)
by mgb (guest, #3226)
[Link] (2 responses)
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?
Posted Dec 10, 2016 9:57 UTC (Sat)
by smurf (subscriber, #17840)
[Link] (1 responses)
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.
Posted Dec 10, 2016 10:11 UTC (Sat)
by zdzichu (subscriber, #17118)
[Link]
Posted Dec 10, 2016 1:48 UTC (Sat)
by pizza (subscriber, #46)
[Link] (8 responses)
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)
Posted Dec 11, 2016 16:21 UTC (Sun)
by guillemj (subscriber, #49706)
[Link] (7 responses)
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.
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.
Posted Dec 12, 2016 11:15 UTC (Mon)
by jaromil (guest, #97970)
[Link] (4 responses)
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.
Posted Dec 12, 2016 11:26 UTC (Mon)
by anselm (subscriber, #2796)
[Link]
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?
Posted Dec 12, 2016 15:20 UTC (Mon)
by corbet (editor, #1)
[Link] (1 responses)
I do hope that we can stop rehashing the systemd discussion now?
Posted Dec 12, 2016 15:34 UTC (Mon)
by jaromil (guest, #97970)
[Link]
Posted Dec 12, 2016 16:35 UTC (Mon)
by smurf (subscriber, #17840)
[Link]
> 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.
Posted Dec 12, 2016 12:35 UTC (Mon)
by pizza (subscriber, #46)
[Link]
"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.
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.
Posted Dec 10, 2016 13:22 UTC (Sat)
by pizza (subscriber, #46)
[Link]
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.
Posted Dec 9, 2016 1:07 UTC (Fri)
by anselm (subscriber, #2796)
[Link] (1 responses)
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.
Posted Dec 9, 2016 2:04 UTC (Fri)
by smurf (subscriber, #17840)
[Link]
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.
Posted Dec 7, 2016 8:22 UTC (Wed)
by smurf (subscriber, #17840)
[Link] (10 responses)
Posted Dec 7, 2016 10:31 UTC (Wed)
by NAR (subscriber, #1313)
[Link] (8 responses)
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:
Posted Dec 7, 2016 11:03 UTC (Wed)
by matthias (subscriber, #94967)
[Link] (7 responses)
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.
Posted Dec 7, 2016 12:18 UTC (Wed)
by itvirta (guest, #49997)
[Link] (6 responses)
I think you mean _isn't_. But adding people by necessity adds communication overhead
Posted Dec 7, 2016 13:14 UTC (Wed)
by mfuzzey (subscriber, #57966)
[Link] (3 responses)
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.
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).
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.
Posted Dec 8, 2016 3:56 UTC (Thu)
by rahvin (guest, #16953)
[Link] (1 responses)
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.
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.)
Posted Dec 8, 2016 3:48 UTC (Thu)
by rahvin (guest, #16953)
[Link] (1 responses)
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.
Posted Dec 9, 2016 5:51 UTC (Fri)
by JanC_ (guest, #34940)
[Link]
Posted Dec 8, 2016 14:45 UTC (Thu)
by ondrej (subscriber, #27872)
[Link]
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...
Posted Dec 7, 2016 20:19 UTC (Wed)
by fratti (guest, #105722)
[Link] (4 responses)
Posted Dec 7, 2016 22:05 UTC (Wed)
by smurf (subscriber, #17840)
[Link]
Posted Dec 8, 2016 1:46 UTC (Thu)
by dirtyepic (guest, #30178)
[Link]
Posted Dec 8, 2016 13:03 UTC (Thu)
by niner (subscriber, #26151)
[Link] (1 responses)
And I say that as an openSUSE fanboy who's never even used a Debian based distro.
Posted Jan 11, 2017 14:58 UTC (Wed)
by mirabilos (subscriber, #84359)
[Link]
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)
Posted Dec 8, 2016 9:35 UTC (Thu)
by ehiggs (subscriber, #90713)
[Link]
- Kahlil "2prophet" Gibran
Posted Dec 9, 2016 18:43 UTC (Fri)
by ksandstr (guest, #60862)
[Link] (1 responses)
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.
Posted Dec 16, 2016 0:47 UTC (Fri)
by ras (subscriber, #33059)
[Link]
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.
Posted Dec 14, 2016 17:12 UTC (Wed)
by ghane (guest, #1805)
[Link]
Further details here:
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
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
Here a video from FSCONS where I explain a bit how is going:
https://www.youtube.com/watch?v=wMvyOGawNwo
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
I'd be willing to bet that successful Debian forks are significantly rarer than failed ones.
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
So systemd-sysv-generator doesn't exist?
Maintainerless Debian?
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.
Maintainerless Debian?
Maintainerless Debian?
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?
Maintainerless Debian?
Slackware init scripts don't include the kind of metadata that the systemd sysv-generators use.
Maintainerless Debian?
# 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?
Maintainerless Debian?
You can do the latter easily with systemd (just add After= stanzas).
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Wol
Maintainerless Debian?
Maintainerless Debian?
(2) Access to unmerged Devuan could be easier.
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
It was unfortunate that the universal operating system threw away working solutions for one path but Devuan has rebuilt what was lost
Maintainerless Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
In another words: "a crusade against libsystemd".
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
h/t. Cleverly argued. You could have been a lawyer.
Why should people care about Debian?
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?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
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.
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.
Hooligans
Hooligans
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Why should people care about Debian?
Maintainerless Debian?
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.
Maintainerless Debian?
Maintainerless Debian?
(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.
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.
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
>Sounds logical, but is this really true.
within the group (which for a single maintainer is zero), and therefore requires more work.
Maintainerless Debian?
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.
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
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.
Maintainerless Debian?
Maintainerless Debian?
Maintainerless Debian?
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=841294