-
Soni
this is only vaguely relevant, but uh, have you heard of federated maintainership?
-
moparisthebest
No what is it
-
lovetox
Is that a fancy word for having multiple maintainers š
-
Soni
are you familiar with the concept of open federation?
-
Soni
it's basically that, but for git repos. we deprecate the concept of "upstream" and require every git clone to be fully qualified, and use an interface that shows all repos as having more or less equal weight
-
Soni
anyone can become a maintainer by setting up an instance and putting their repo in it. every other instance will then list their repo alongside yours.
-
Soni
(and also, who are we kidding, this is xmpp, ofc you're familiar with open federation :p but anyway)
-
qy
isnt that just cooperative forking?
-
Soni
we don't know if it has an existing name. we've been calling it federated maintainership since a few days ago or so.
-
Soni
(tho the idea is much older, we came up with it around the time mastodon's BDFL model was still an issue)
-
Soni
we can't seem to find anything about cooperative forking
-
Soni
here's where we called it federated maintainership: https://github.com/tukaani-project/xz/issues/163
-
moparisthebest
Soni: isn't that just... git used how and for what it was created for ?
-
Soni
moparisthebest: (this is not meant to be combative) okay but, was it? we mean, even the kernel isn't open federation: there's a single upstream - linus' tree, and then there's a bunch of authorized maintainers, and they all use the same git host. no?
-
Soni
(linus's? something like that)
-
Soni
(and we think linux maintainers are a little elitist but we digress)
-
moparisthebest
They don't use a host at all really, just email (federated!) patches to a mailing list
-
Soni
no we're pretty sure linus pulls from other maintainers every now and then, it's not all email
-
moparisthebest
I don't see how you could have a project where anyone who wanted to could push code to a place distros would pull it?
-
Soni
we think they're called "octopus merges"
-
singpolyma
just because one tree chooses to issue releases doesnāt meant the other trees arenāt real
-
Soni
(sometimes spanning like 60 trees or something)
-
singpolyma
thatās really all ābeing an upstreamā is is someone willing to issue a release and give it a name
-
moparisthebest
Right individuals can host their git repos publicly in which case it's a full and complete copy and distros or whoever could use that instead
-
moparisthebest
In fact that's pretty common, for example linux-zen and linux-hardened in Arch Linux have a different upstream that is not kernel.org or Linus
-
Soni
moparisthebest: okay, but those are seen as "soft forks", not federated maintainers
-
singpolyma
Debian once used my fork to base xmpp-irssi package on and I didnāt even have releases
-
Soni
singpolyma: yeah, and you wouldn't even know about it until they told you?
-
Soni
and tried to upstream their patches and stuff
-
singpolyma
Soni: so in your model no one ever makes a release?
-
Soni
singpolyma: well, distros make packages. and that's the closest you'll get to a release
-
moparisthebest
How do they decide who's copy to package?
-
Soni
point being, why shouldn't you use debian as the upstream for your fork?
-
moparisthebest
And then like, what if Debian and redhat make different incompatible decisions?
-
Soni
they fork from you, you fork again from them, and it all explodes
-
Soni
(okay it doesn't explode, but like... they're making patches, right? why shouldn't they have a stake on it?)
-
Soni
moparisthebest: see also the github issue we linked, it (very) briefly discusses that issue
-
singpolyma
right but this is all how it works now, except for banning anyone to make a release or have a version number
-
Soni
you do still have a version number: the git commit
-
Trung
ā¦ā¦but why ?
-
singpolyma
thatās not a number
-
mathieui
Soni, the issue with the model (as I understand it) is that in the end decisions must be made, and trust must exist. That can hinge on a single person, or many, but in the end you need a way to make decisions and communicate
-
Soni
a 160-bit number is still a number
-
Soni
mathieui: but it doesn't need to be middlemanned by an upstream, it can be ad-hoc
-
singpolyma
mathieui: well, do you?
-
singpolyma
like Debian has to decide what to package but thatās up to the DM no one in the project *needs* to be involved
-
Soni
mastodon would benefit from it because everyone wants something different from the software but more importantly *nobody gets anything from the software*
-
Soni
(well, maybe that's gonna change now that mastodon is no longer BDFL-based, but still)
-
singpolyma
Iām not saying I want to totally ban releases, but Iāve done it for some stuff before and it can work I think
-
Soni
this is the problem it solves: different ppl have different expectations
-
Soni
(and we should embrace that instead of... steamrolling ppl's needs we guess?)
-
singpolyma
well you can still operate this way even if one person calls themself maintainer and makes releases. Just ignore them
-
qy
this would make more sense with a patch-oriented vcs
-
jonasā
I'm wondering how this general software maintenance philosophy discussion is on-topic for here?
-
qy
busted
-
mathieui
singpolyma, I mean, you donāt have to do releases, but you kind of need to have some level of cooperation between multiple actors if you donāt want things to be a pile of crap to maintain because patches donāt magically apply regardless of the history
-
singpolyma
jonasā: youāre right, itās not. Sorry
-
Soni
well, we come here to wonder if any xmpp *devs* would be willing to try it for xmpp :p
-
mathieui
also yeah, thatās not really XMPP development
-
qy
Soni: xmpp:dev@chat.moparisthe.best?join
-
Soni
(it'd be cool to try it for the protocol itself but, eh oh well)
-
Soni
(that's probably too hot of a take for this place)
-
qy
> Soni: xmpp:dev@chat.moparisthe.best?join that's a muc link, you can carry on there ↺
-
moparisthebest
We can kinda see what happens in practice when distro maintainers (who are responsible for *a lot* of packages, and not experts in any one) make major decisions that contradict upstream (who *are* the experts for that project) That's how we got the fatal Debian key generation bug of 2008 that still haunts us https://16years.secvuln.info/ (Debian maintainer thought he knew better and broke everything) *and* it's what enabled the xz thing to be a problem (Debian and redhat maintainers thought they knew better and patched all these vulns into openssh)
-
Soni
qy: what should we call that room? (we need to give rooms names, because bitlbee)
-
qy
"Dev chat"
-
Soni
what kind of dev chat
-
moparisthebest
Just general dev chat, so this would be ontopic there
-
jonasā
thanks everyone for moving the discussion elsewhere :)
š 2 -
moparisthebest
> thanks everyone for moving the discussion elsewhere :) š ↺
-
qy
> thanks everyone for moving the discussion elsewhere :) š ↺