#798476 debian-policy: don't require Uploaders

Package:
debian-policy
Source:
debian-policy
Submitter:
Julien Cristau
Date:
2026-02-20 14:09:02 UTC
Severity:
wishlist
Blocked By:
Bug Title
870788

  4

Extract recent uploaders from d/changelog

wishlist stable testing unstable almost 3 years ago

#798476#5
Date:
2015-09-09 19:10:31 UTC
From:
To:
Hi,

for some time I've been uploading packages with Maintainer set to a
mailing list and no Uploaders field.  In cases where some package kind
of fit within a team, but noone cares specifically about that individual
package, I feel it's better than setting Maintainer to the Debian QA
Group, which policy currently says is required, since the team will get
bug mail, and any updates to the package will probably come from the
team anyway.  So I'd like to see this requirement relaxed.

Cheers,
Julien

#798476#10
Date:
2015-09-09 19:35:15 UTC
From:
To:
Hi,

Noooooooooooo!

Every package *must* have at least one named *person*. If it doesn't
have a named person, it's orphaned.

If you don't care about the package enough to maintain it, orphan it so
that someone else can or otherwise request its removal.

An archive full of packages that are notionally maintained by a team but
really no one is paying any attention to is a horrifying thought to me.

Thanks,
Iain.

#798476#15
Date:
2015-09-09 19:53:09 UTC
From:
To:
Hi,

So I've had a quick chat with jcristau about this in #debian-doc. Here
is my proposal:

Instead of allowing there to be no named person for packages, allow
packages to be orphaned but without the changing of the Maintainer field
if it was previously maintained within a team.

An O bug is still filed on the package, but the Maintainer field remains
unchanged (the decision of whether or not to change it is left to the
person making the upload, the team may want rid of the package).

Any package that has no named person in the Maintainer field or
Uploaders field should be considered orphaned and a free candidate for
someone to come along and file an ITA.

The existing team in the Maintainer field of orphaned packages does not
give an obligation for the adopter to maintain the package within that
team, but until it is adopted the team will still recieve bug
notifications, etc. and is likely to be more knowledgable on the package
than the QA team in general.

Thanks,
Iain.

#798476#20
Date:
2015-09-09 19:54:29 UTC
From:
To:
Do you realize that upload of such package will count as an NMU ?

Puzzled,

#798476#25
Date:
2015-09-09 19:57:27 UTC
From:
To:
I'm honestly not sure what difference calling it NMU, team upload or QA
upload makes.

Cheers,
Julien

#798476#30
Date:
2015-09-09 20:30:10 UTC
From:
To:
NMU are handled specially by various tools.
For once, NMUs do no close bugs.

Cheers,

#798476#35
Date:
2015-09-09 20:40:18 UTC
From:
To:
Such as?
They have closed bugs for, err, 10 years now:
https://lists.debian.org/debian-devel-announce/2005/07/msg00010.html

Cheers,
Julien

#798476#40
Date:
2015-09-09 20:57:30 UTC
From:
To:
Not for lintian, if it doesn't have a NMU version and has "Team
upload." as the first changelog line.
(Since version 2.4.2 from 2010.)


Cheers,
gregor

#798476#45
Date:
2015-09-10 07:17:40 UTC
From:
To:
Hi,

I don't think that this requirement makes sense. They can be rightfully annoyed
but it doesn't make sense to keep an outdated Uploaders field just to
please people so that they can mail people who no longer care about the
package.

If you need to find out someone who has some interest in the package, you
can always check who uploaded it last (or in the last X months).

IMO the hard requirement comes more from the fact that we don't like package
with no maintainer... those are effectively orphaned and should be up for
adoption by other maintainers.

Yes, I believe that this is the correct approach.

No, we should stop filing O bugs.  Instead we have just come up with a
nice definition of an orphaned package, it's called the
no-human-maintainer lintian tag:
https://lintian.debian.org/tags/no-human-maintainers.

We can stop the busy work of filing O bugs and point people who wants to
adopt packages to that page.

Yes, they should be open for adoption (as part of the team ideally, except
when the team was the QA team), 0-day NMU, etc.

While there's no obligation, we should not encourage people to take such
packages out of team maintainance. Having a team fallback is always better
than not having one.

Cheers,

#798476#55
Date:
2016-07-08 15:36:22 UTC
From:
To:
* Julien Cristau <jcristau@debian.org> [160708 15:31]:

I also want to see this. It makes lots of sense, especially for
teams maintaining very large numbers of packages. Honestly, the
individual package does not carry heavy weight in some of those
teams. At the same time, many packages carry old Uploaders,
including names of people that have long been known to be MIA, and
are kept there only to avoid setting an empty Uploaders field.

These packages are clearly not not-maintained (teams care about
them), so orphaning or assinging to Debian QA Group would make no
sense whatsoever. (Also, as far as I'm aware, the large teams are
all very open for anybody to join.)

#798476#60
Date:
2016-07-15 18:22:32 UTC
From:
To:
Am Freitag, den 08.07.2016, 17:36 +0200 schrieb Christian Hofstaedtler:

Mmm, In theory you're right. However in practice see also some
downsides. For at least some teams it is not very clear who is member
of it and on especially smaller teams it is sometimes quite unclear if
the team exists at all. 
Especially in such it will then be lots harder to actually detect an
orphaned package and this might even deter some person taking over the
package. 

Which makes this information invisible to people outside of the team. 

YMMV. That requires a hell of discipline in the team. 
There are many teams that take quite great care about the packages, but
others do not so well (or even existing only on paper anymore). 

From my short time as MIA member I can tell it is already hard enough
to find persons being MIA; to track complete teams will be lot harder.
(
e.g the question who is actually a team member is sometimes hard to
answer from outside)

IMHO if the team commits to maintain that package it shouldn't be too much strain to add an explict carer too, is it? 
adoption. That information would be harder to retrieve. 
However wnpp could be used as a tool here: Why not advertise 
using a RFA and telling there that the team has open positions?

Maybe we should dicsuss this on -devel to get more other views and
arguments too?

#798476#65
Date:
2016-07-15 20:38:04 UTC
From:
To:
* Tobias Frost <tobi@debian.org> [160715 21:03]:
[..]
- for the larger teams - meaningless.

But who would that be?

I do not think "adoption" is the right word here; in Debian context
it somehow implies that the package is orphaned and sees no
maintenance.

*shrug*. In pkg-ruby-extras, that wnpp bug would be very generic:
"please join and work on all packages that you can find" ...

Best,

#798476#70
Date:
2017-07-14 23:33:49 UTC
From:
To:
wrapper around debchange(1) which allows us to do team uploads without
having "Team upload." be the first line of the changelog.  We select new
upstream versions based on snapshots compiled by an outside group.[1]
We upgrade tens of packages to new upstream releases at a time, and
upload them all together (for some time, Clint Adams has done these mass
uploads).  For us, having some random names in the Uploaders: field can
do nothing other than confuse newcomers to the team.

I suspect that we cannot get consensus on this bug.  Many people share
Iain's sentiment, but the issue continues to arise in many contributor's
Debian work.  So it might be advisable to refer to tech-ctte.

Before doing that, at the risk of achieving nothing, I'd like to suggest
another wording:

    ... if the Maintainer control field names a group of people and a
    shared email address, the Uploaders field must be present and must
    contain at least one human with their personal email address.  An
    exception is made for packaging teams which state clearly on their
    homepage, documentation or team policy that all packages are taken
    care of by every team member collectively.

Possibly too bureaucratic, but might allay some of the concerns that
Tobi raised: barely-established teams aren't likely to have a team
homepage/documentation/policy document.

[1]  https://www.stackage.org/

#798476#75
Date:
2017-07-15 12:48:36 UTC
From:
To:
The problem is that the majority of such documentation is outdated and
obsolete to the point of being useless.
Most team start big and then slowly falter until they are reduced to
a single member (because it is easy to distribute work but hard to
distribute responsibility).

So yes at any time they are a number of active, hard-working team, but there
also a larger number of phantom team that used to be active, but whose
packages are still maintained in Debian. It is important they carry some
valid information about the effective maintainers.

Cheers,

#798476#80
Date:
2017-07-15 14:18:41 UTC
From:
To:
Hello Bill,

The problem is that the information in Uploaders is no more likely to be
up-to-date than the team homepage/policy/docs.  And it's positively
misleading to have some names in Uploaders who haven't worked on the
package in ages.  So I don't see how my proposal introduces any new
problems; it's an improvement because it removes a source of confusion.

#798476#85
Date:
2017-08-01 17:09:09 UTC
From:
To:
You should double-check how many teams already have a homepage in the
Debian wiki, such a homepage is not uncommon even for small teams.

cu
Adrian

#798476#90
Date:
2017-08-01 17:32:34 UTC
From:
To:
Information in the control files can be fixed by any uploaders/NMUers much
more easily than information on a website, so control file tend to be
more current. Also they cannot go off-line while unattended websites do
sometimes.

Cheers,

#798476#95
Date:
2017-08-01 23:05:50 UTC
From:
To:
whereas every upload triggers a lintian warning unless the uploader is
listed as such (and unless explicitly circumvented by flagged the upload
as an NMU or an upload by a not-regularly-uploading team member).


 - Jonas

#798476#100
Date:
2017-08-02 21:41:07 UTC
From:
To:
What are the advantages of the Uploaders field over debian/changelog?
I can see some tooling issues, but nothing insurmountable (see
e.g. who-uploads from devscripts). There are also some advantages for
relying on changelog: e.g. it reveals packages only uploaded via NMUs
with the last X months/years, and of course the changelog is typically
even more up to date than the Uploaders field.

#798476#105
Date:
2017-08-02 21:48:15 UTC
From:
To:
Hello,

Here is an updated diff for this bug, against the docbook version of
the policy manual.

I've also included a purely informative change which emphasises that
packages that are team maintained in name only should be orphaned
properly, with their maintainer field set to the QA team.  This is
already current best practice, but it's worth emphasising, because one
might fail to orphan a package on the grounds that "someone else on the
team might fix it", which is not true of a lot of teams.

This purely informative change came out of a discussion at DebCamp with
h01ger, gregoa and David Bremner.  We are CCing -devel because we want
to determine if there remains, in 2017, a consensus that we should not
drop this requirement.  We think that recent objections in the bug are
about implementation details, rather than a concern to retain humans in
the uploaders field.

diff --git a/policy.xml b/policy.xml
index 3daa532..4731507 100644
--- a/policy.xml
+++ b/policy.xml
@@ -1128,13 +1128,6 @@
         described in <xref linkend="s-f-Maintainer"/>.
       </para>
       <para>
-        If the maintainer of the package is a team of people with a shared
-        email address, the <literal>Uploaders</literal> control field must
-        be present and must contain at least one human with their personal
-        email address.  See <xref linkend="s-f-Uploaders"/> for the syntax
-        of that field.
-      </para>
-      <para>
         An orphaned package is one with no current maintainer.  Orphaned
         packages should have their <literal>Maintainer</literal> control
         field set to <literal>Debian QA Group
@@ -1149,6 +1142,12 @@
           </para>
         </footnote>
       </para>
+      <para>
+        This includes packages with a group of people or team in the
+        <literal>Maintainer</literal> control field.  They should be
+        orphaned if the team is not actively maintaining the package.
+      </para>
+
     </section>

     <section id="s-descriptions">
@@ -3448,13 +3447,6 @@ endif</programlisting>
           Maintainer field, and multiple entries must be comma separated.
         </para>
         <para>
-          This is normally an optional field, but if the
-          <literal>Maintainer</literal> control field names a group of
-          people and a shared email address, the
-          <literal>Uploaders</literal> field must be present and must
-          contain at least one human with their personal email address.
-        </para>
-        <para>
           The Uploaders field in <filename>debian/control</filename> can
           be folded.
         </para>

#798476#110
Date:
2017-08-02 22:08:24 UTC
From:
To:
You are omitting the case of a team which get reduced to a single
member, in which case the package need not be orphaned. Yet it is
important the fact is mentionned in the package.

Cheers,

#798476#115
Date:
2017-08-02 23:22:41 UTC
From:
To:
Bill Allombert <ballombe@debian.org> writes:

I don't think I understand the objection.  Sean's proposed wording seems
fine for that case -- it just says that the package should be orphaned if
the team is not maintaining it, which shouldn't depend on the size of the
team.

#798476#120
Date:
2017-08-03 06:44:36 UTC
From:
To:
Am 2. August 2017 23:48:15 MESZ schrieb Sean Whitton <spwhitton@spwhitton.name>:

(Please appologize the brevity, I don't have the time needed to word that
properly)

Well, I still think that not having a human explicitly named as in charge of
the package is not good and will cause more damage than it will bring
benefits.
(Disclaimer: My view is biased with my actitivies in the MIA team)

Some remarks / questions I do not see adressed:
- If you have not a name on some task human nature tends toward that nonone
feels responsible at all. Like the German (fun) expansion of TEAM: Toll, Ein
Anderer Machts (Great, someone else it taking care)
- MANY team homepages are not updated or do not even exist. I think before
droping the requirement to have human uploaders this needs to be fixed by
policy and it must be RC(?) bug if the team homepage is
outdated/absent/inaccurate. The infomation about the teams *must* be in a way
that it can be easily found/parsed.
- There is currently no way to map a person to a team or to map a team to a
list of members -- if you need accurary. This is especially true for teams
that are smaller. - - When someon is going e.g MIA, we need to know which
teams are involved to trigger them.
- Not in all teams it is working tha everyone is looking at every package.
During the lipng transistion I filed many bugs on team-managed packages which
were never answered
- We have already the problem about "partially MIA" -- people holding several
pacakgages but neglecting several of them. Currently we have no real measures
of taking care of the neglected one, MIA team wise. This will be amplified
when there is no human responsible person named.

#798476#125
Date:
2017-08-03 09:01:24 UTC
From:
To:
The patch also remove the requirement to list individual email of the
maintainers. That is what I am objecting to.

When a team is reduced to a single individual, it is no more a team, yet
the package is still maintained and need not be orphaned.

Cheers,

#798476#130
Date:
2017-08-03 09:06:16 UTC
From:
To:
This would not be "a purely informative change".

Your suggested wording has the potential to create a HUGE amount of tensions.

I could name a lot of team-maintained packages where a team member
uploads a new upstream version every 1-2 years and noone ever bothers
to handle incoming bugs.[1]

If policy does not provide a definition of "actively maintaining",
it would be a reasonable interpretation to consider a package with
no upload or visible activity in new open bugs during the past
6 or 12 months as not actively maintained.

If policy states that such packages "should be orphaned" without
describing a proper process, it is a valid reading that everyone can do
this without trying to contact the team prior to orphaning the package.

And it does not even help with the problem Tobias raised:

When a maintainer retires or is declared MIA by the MIA team according
to the MIA process, how can you *find* all teams and team-maintained
packages where this maintainer was the only or last active team member
when there is no Uploaders: field?

This information could be moved from the Uploaders: field to
a database, but then this database has to exist and maintaining
the information there has to be mandatory when no Uploaders: field
is present.

Another option would be to keep the Uploaders: requirement,
but make it more clear that autogenerating is permitted.

The GNOME team already generates Uploaders: as the intersection
of current team members and people who did the latest 10 uploads
of a package.

cu
Adrian

[1] a few people are IMHO just bad maintainers, but in the common
    case there is simply too much work for too few people in a
    volunteer project and new team members are always welcome

#798476#135
Date:
2017-08-03 09:30:11 UTC
From:
To:
Your objection does not make sense.

The change Sean is proposing is intended to make providing the
information about team members in Uploaders: optional.

If are not objecting to removing the information about who is in a team,
you cannot suggest that anything should be done based on the no longer
existing information about the number of team members.

cu
Adrian

#798476#140
Date:
2017-08-03 10:04:01 UTC
From:
To:
This bug is about making providing the information about team members
in Uploaders: optional.

That's the core point discussed.

The part you were referring to is an attempt from Sean to address some
problems caused by this change. This is not a standalone proposal.

If Uploaders: stays mandatory, we do not need new rules for orphaning
team maintained packages that compensate for the no longer available
information about team membership.

cu
Adrian

#798476#145
Date:
2017-08-03 10:32:24 UTC
From:
To:
How do you express "X is no longer a member of the team maintaining
package foo" in a way that all tooling understands it?

There is also the opposite problem of team members in Uploaders: who are
actively working on the package in the git repository, but only one team
member does the actual uploads.

If you still can't see insurmountable tooling issues, please try to
write such a tool. As testcase, try to find the active members of
the Debian Lintian Maintainers from the lintian debian/changelog

cu
Adrian

#798476#150
Date:
2017-08-03 15:41:12 UTC
From:
To:
Bill Allombert <ballombe@debian.org> writes:

Oh, okay, I see that, but I'm not sure why.  What is the purpose of
listing those email addresses that you want to preserve?

It still is a team even when it's one individual.  I don't know why you
would say that it's not.  A team can certainly contain just one person.

I'm confused about how this is at all related to listing individual email
addresses, and I don't understand why you think this would result in a
package being orphaned.

#798476#155
Date:
2017-08-03 16:36:04 UTC
From:
To:
word "should", which is a magic word in policy, imposing a normative
requirement.  This was not intended.

My intended meaning: it is already best practice that *other team
members* should orphan a package if they know that no-one in the team is
actively taking care of it *according to their judgement of 'actively'*.

Would you agree that this is already established best practice?

I'll reply to this when replying to Tobias' remarks.

#798476#160
Date:
2017-08-03 16:44:02 UTC
From:
To:
Hello Tobias,

Thank you for writing about this bug from the MIA team's perspective,
which is very relevant to resolving this.

In most teams, this happens anyway -- I would take this as an argument
against team maintenance more generally.

For teams on alioth, would you find the list of team members on the
alioth project insufficient?

I agree this doesn't help with teams that do not use alioth but are
based around a mailing list.

As Adrian said, it's not clear what an alternative to Uploaders would
be for this purpose.  But I'm not sure that Uploaders is much use,
either, because in so many teams it's simply not kept up-to-date.


Could you explain further how this would amplify the problem?  I agree
that this is a serious problem, but I don't see how this change would
amplify it.

#798476#165
Date:
2017-08-03 17:52:10 UTC
From:
To:
Am Donnerstag, den 03.08.2017, 12:44 -0400 schrieb Sean Whitton:

The lists on alioth are hardly accurate. Also, as you say:

This and in combination that team information is not in an defined
location makes it quite hard to find useful, accurate information.
Not mentioning that there is no way to do an lookup in which teams
someone is; so there is no way to trigger them to act when e.g someone
has left the project and did not clean up after them.

Some time ago I did some spring cleaning going over DDs that have
retired but still in the Maintainer/Uploader fields: There were quite a
 lot "team maintained" packages where the team did not recognize that
the (sole) Uploader wasn't there anymore and the packages were
bitrotting. Without the Uploader field there would have been excactly
zero change to find those packages and get them back into maintainance
again.

Removing the requirement won't help here either; It would just mask
this fact and makes it harder for other parties to detect this.

I think the "how can I contact somone on the team" could be fixed, like
(brainstomring) e.g by a Team-Contact field in d/control with an human
contact and formalizing requirements on a Team so that they are allowed
to drop the Uploaders -- if they fulfill this requirements. One
requirement could be e.g  that the team has a site on the Wiki and we
need some central place to record the team members and a mandatory
enrollment process (like the yearly team member ping that the perl team
does, AFAIK)
NOT a name tacked to an task, the likelyhood of noone will feel
responsible and the task not done is very high.

Relates to the "if there is no name attached to a task" thing explained
above. 
Also mind that we really do not have processes at hand to handle those
situations. The MIA team has already now no actual power on "partially
MIA" situations, but in the past it often helped to write a nice mail.
If I write to the anonymity of a team mailing list, I guess those mails
will be more easily ignored.

#798476#170
Date:
2017-08-03 18:50:15 UTC
From:
To:
Quoting Russ Allbery (2017-08-03 11:41:12)

Do the MIA team also track MIA teams?

My concern is that packages without maintainers may go unnoticed when
none of its previously active maintainers were tracked individually.

For such detection of abandonment we need not track _all_ active
maintainers, but at least one - as individual.


 - Jonas

#798476#175
Date:
2017-08-03 18:58:29 UTC
From:
To:
Jonas Smedegaard <jonas@jones.dk> writes:

Or track MIA teams, which in a lot of ways is a much easier problem, and
seems like a worthwhile problem to solve anyway.

I don't feel like dropping the Uploaders field for team-maintained
packages if the team so chooses will make MIA tracking substantially
harder, or will make orphaned package tracking substantially harder.

#798476#180
Date:
2017-08-03 19:11:07 UTC
From:
To:
Tobias Frost <tobi@debian.org> writes:

I'm dubious about this assertion and would like to dig into it a bit more.

The way we hopefully would find bitrotting packages is that they are,
well, bitrotting.  This is based on lack of uploads, open bugs, old Policy
versions, incomplete transitions, and in serious cases, missing from
stable releases.  While we can *also* find bitrotting packages via the MIA
process, it shouldn't be our primary or even a major way of finding them
since it's entirely possible for someone to be quite active in Debian
while still neglecting some of their packages.

Keeping around uploader information that we know gets constantly out of
date and is kind of irritating to maintain, plus results in noise for team
members that they don't want, just so that we can detect packages that
aren't being worked on feels like putting the cart before the horse.  It's
pretty obvious *from the package* if a package isn't being worked on.  And
detection based on uploaders isn't even accurate: there are teams that use
semi-automated tools and sprints and mass uploads to maintain tons of
packages, and listing themselves as Uploaders on everything they touch is
just extra work and doesn't carry any useful meaning.

Currently, when the MIA team finds someone who is no longer active, teams
have to go do a bunch of work to strip their name out of uploader fields.
That work doesn't really make Debian any better; it's just bookkeeping.
When the team has other ways of knowing the health of their packages, I'd
like to let them not do this bookkeeping.
Maintainer field.  I feel like we're inventing extra complexity without a
good motivating reason for it.  If no one replies to mail to that address,
I'm dubious you're going to get much more of an (actually useful) reply to
mailing individuals either.

This feels like way more bureaucratic structure than Debian needs.  What
specific problem in Debian are you trying to solve with this sort of
formal org chart maintenance?  I think this is quickly going to get out of
date, and it's not particularly compatible with structures like the Perl
team, which has tons of members doing varying amounts of work based on
their available time and energy and knowledge.

And yet I can name counter-examples, such as the Perl team who maintain
hundreds of packages as a team effort and do not look out for *only* the
packages they personally care about.

Packaging teams that aren't doing a great job of maintaining their
packages will continue to not do a great job of maintaining their packages
whether or not they're listed as uploaders.  We already have other tools
for finding packages that aren't well-maintained.  I can see the argument
for keeping uploaders if it gave people some motivation to work on those
packages, but in practice (and I say this as someone who has been a member
of a ton of packaging teams), the uploaders changes quickly become just a
minor bit of bureaucratic housekeeping that I do once and then never look
at again, and I stopped looking at my package list on qa.debian.org
because it became useless due to all the team noise.  So I don't think
this is achieving what you intend to achieve.

I agree that this is a problem, but this is a problem regardless, and we
will need to address this regardless.  I don't think it's closely related.

(I am entirely in favor of giving the MIA team more actual power.)

#798476#185
Date:
2017-08-03 19:25:32 UTC
From:
To:
are two orthogonal questions in my mind:

 - is a specific person MIA?

 - is a package still maintained?

There is not necessarily a direct relation between both questions.
Take for example a person who someone in this thread called
"partially MIA" (I don't like that term btw.): they still actively
maintain a bunch of packages, but have dropped the ball on another
package.

On the other hand you could have a package that has
Maintainer: some team and Uploaders: some person, where "some
person" is actually MIA, but the rest of the team is still actively
maintaining the package.

The main problem I see with Uploaders: is that it's often not really
up to date. So I do think that it might be a good idea to track the
people who are responsible for a package outside of the package
itself in some kind of central database that is not tied to package
uploads. This could also make it easy to query that database. On the
other hand I would not want to maintain a team membership list for
this purpose, but track by package, because while there are small
teams where everyone is responsible for every single package, there
are also larger teams where not everyone cares about every single
package that the team maintains. So I don't think the Uploaders:
field in a package is useless, I just think the current way of
storing that information is not the best way to do so. But until
such a central database is ready for usage, I don't think it would
be wise to drop Uploaders: at the moment, because otherwise that
information can't be tracked at all.

To help with the question of whether a package is still being
actively maintained, let me frame it in this way: I think it is
not completely unreasonable to say that _most_ packages will be
updated at least once every 12 months in sid or experimental. (The
precise number is subject to bikeshedding.) Of course that's not
true for every package, there are some packages which don't require
updates that often. So what one could do is the following: a
package is considered to be actively maintained if a maintainer (or
team) upload has happened in the last 12 months. (NMUs don't count.)
If that is not the case, after 12 months an email is automatically
sent to the maintainer/uploaders to ask whether they are still
actively maintaining the package. They then have 3 months to respond
by either uploading a new version to sid or experimental, or
replying to that email that "yes, the package is still being
actively maintained, there was just no reason to update it recently".
Then there could be a clear way of determining what packages are
candidates for orphanning (while the email + reply logic should be
automatic, the orphanning should only be done after a human looks
that over). Obviously the precise amount of time can be bikeshedded,
but I do believe that the general concept is something sensible.
Becuase if one is indeed actively maintaining a package, then they
should be able to reply to an email every year or so. (Especially
if just doing "reply" + "send" is sufficient, like with mailing
list confirmations.)

Just to throw some ideas out there.

Regards,
Christian

#798476#190
Date:
2017-08-03 19:34:41 UTC
From:
To:
Am Donnerstag, den 03.08.2017, 14:50 -0400 schrieb Jonas Smedegaard:

Yes, we also track teams.

However, Tracking teams is quite hard and much more time consuming as
information about the teams are not easy retrieveable, and you run
easily in the situation of "partial MIA". Teams with active members --
but activity not within the team or just on a subset of packages.

(But we're actually getting only very seldom requests about teams)

#798476#195
Date:
2017-08-03 22:04:17 UTC
From:
To:
[…]

Thanks for putting my thoughts (again!) into better words than I ever
could!

(Me too. And, tangential to this discussion but still: maybe also to
packaging teams, like for salvaging un(der)-maintained packages.)


Cheers,
gregor

#798476#200
Date:
2017-08-03 22:25:46 UTC
From:
To:
On Thu, 03 Aug 2017 21:25:32 +0200, Christian Seiler wrote:

Thanks for your long and elaborate email.
Unfortunately I find myself disagreeing with your two main points:

Ack, separating these questions makes sense to me.

Right, I think that's the situation that the proponents of this
change have in mind.
information to another place; and more generally: I fail to see which
problem it solves.

I guess this is the general difference in perception we have in this
discussion: Some people start from the idea of "responsibility of a
human for a team package" while others are happy and have good
experiences in teams where all (or enough) members take
responsibility for the team packages and feel that a "dedicated human
responsible" doesn't make sense in their workflow.

What I don't understand in the point of view of the "keep Uploaders"
proponents: What does this information, whether correct or not,
actually give others? Are they going to email or phone these persons
privately when emails to the BTS or the maintainer/team list are
ignored? And what happens if they ignore these communications as
well?

I'm sorry but this feels like loads of paperwork for active teams
with tons of package which might not need an upload each $months.

I mean, in the worst case we could script the replies to the pings but
I'd rather not go there :)


Cheers,
gregor

#798476#205
Date:
2017-08-03 22:58:15 UTC
From:
To:
That completely misses the problem.

If the team has remaining members, and one of these members knows that
no-one in the team is actively taking care of a package, then what
happens afterwards is obvious.

Finding unmaintained packages is the hard part.

In a bigger team maintaining 500 packages it is a non-trivial amount of
extra work searching for packages no-one inside the team is actively
taking care of.

In a small team with 2 members maintaining 1 package, what you write
obviously cannot work when the last team member becomes MIA.

With Uploaders you are able to see when all uploaders are retired/MIA,
either inside the team or from outside when the team has no active
members left.

cu
Adrian

#798476#210
Date:
2017-08-03 22:59:47 UTC
From:
To:
+1

agreed as well.

Then, Tobias has a point, knowing which team members uploaded a package is
useful. So I have a simple proposal to achieve that: make tracker.d.o
show the last 10 uploaders for a given package (based on UDD), just like it
parses the Uploaders: field from the packages now.

And probably some pages where all uploading team members of given teams are
shown.

#798476#215
Date:
2017-08-03 23:09:06 UTC
From:
To:
I agree.  This information is useless, and even if it's not, the source
package is entirely the wrong place for it.  Let's get rid of the
Uploaders field entirely.

#798476#220
Date:
2017-08-03 23:16:03 UTC
From:
To:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?bug-rev=on;include=severity:minor;include=tags:pending;maint=pkg-perl-maintainers@lists.alioth.debian.org#_2_5_5

These "Updating the <package> Uploaders list" bugs.

When the MIA team has determined that a person is MIA,[1]
it can send bugs informing all packages where that person
is listed in Uploaders that the person is no longer active.

For small teams (e.g. 2 people in a team maintaining 1 package)
this is also a way for seeing when 0 team members are left who
are still active in Debian.

cu
Adrian

[1] or retired, all this is about what happens after it has been
    determined that a person is no longer active in Debian

#798476#225
Date:
2017-08-04 00:16:30 UTC
From:
To:
Ok, that's a good example:

So, when we (pkg-perl) get such a list of bug reports (or, which is
less work, a single mail from the MIA team about XY being inactive)
what happens is that
- we probably know that already (but it's still good to have the
  offical confirmation)
- we remove them from Uploaders in git
- nothing else changes: the package will be uploaded when there's any
  reason for it (new release, bugfix) as before when XY was still
  mentioned in Uploaders

Dropping the Uploaders field would mean that we save the work (which
can be quite tedious when we have to add the right bug numbers to the
right packages' changelog entry) without any other changes to the
maintenance of the package.


Cheers,
gregor

#798476#230
Date:
2017-08-04 00:23:31 UTC
From:
To:
maintainer would be very bad.

Think of it as a 3 step process:
1. a bitrotting package indicates a potentially MIA maintainer
2. the maintainer agrees to orphaning all packages, or after several
   failed contact attempts the MIA team declares that the maintainer is MIA
3. for every package where the maintainer is in Maintainer or Uploaders
   the MIA team either orphans the package, or informs team or
   co-maintainers through an "Updating the <package> Uploaders list" bug.

Just by going through bugs, I compiled during the past 10 months a list
of currently 250 (sic) names of people listed in Maintainer or Uploaders
of packages in unstable where I suspect the person might be MIA.

Automating this part would not be a problem, the intersection of
"in Maintainer or Uploaders of a package in unstable" and
"no email to a Debian list or the BTS in the past 12 months"
should give approximately a superset of my list.

Step 2 is actually a lot of work.

The part where removing the Uploaders: requirement could cause
regressions is step 3.

Give for a person a complete list of all packages where this person was
active" - if we regress on this, it means that packages will continue to
bitrot in cases where they can currently be orphaned.

You are assuming that the team notices without the current notifications
from the MIA team that a team member is no longer active in Debian.

You are assuming that the team has a non-zero number of active members
left after a member becomes MIA.

cu
Adrian

#798476#235
Date:
2017-08-04 00:41:00 UTC
From:
To:
Adrian Bunk <bunk@debian.org> writes:

I agree, but that's not directly relevant here, since we're talking about
team-maintained packages.  The whole *point* of team maintenance is that
there's no reason to orphan a package just because one team member went
away.  If that weren't the case, the package is, *by definition*, not
team-maintained (or the team itself is MIA, which is a different issue as
discussed below).

I'm really not.  I'm pointing out that for a lot of teams, that literally
*does not matter at all*.  Absolutely nothing changes about the
maintenance status of many team-maintained packages if the person who last
worked on that package disappears.

Teams often don't notice that someone is MIA because *it doesn't matter*
for their workflow; they're happy to have people come and go.

No, I'm not -- as I pointed out in a separate message, this is a problem
worth solving, but this is an MIA team problem that I think is best
tackled from that angle.  If all of a team's packages are bitrotting, then
the team's packages should be orphaned just like we do with an MIA single
maintainer.

#798476#240
Date:
2017-08-04 00:51:13 UTC
From:
To:
But then the information who is currently part of pkg-perl is needed in
machine-readable form and displayed by tools like DDPO and tracker for:
1. being able to inform a team that a member is MIA and inform the team, and
2. being able to detect when the last team member is MIA

Policy equally applies to packages where point 2 is far more likely to
happen than for pkg-perl.

Autogenerating Uploaders like GNOME does [1] would be an alternative
approach.

cu
Adrian

[1] https://sources.debian.net/src/gnome-pkg-tools/0.19.9/1/rules/uploaders.mk/

#798476#245
Date:
2017-08-04 01:19:21 UTC
From:
To:
Your definition is completely detached from the reality in Debian.

Many (likely the majority) of teams in Debian have not more
than 1 active member.

When all members of a team are confirmed to be MIA/retired,
this should result in an orphaning of all packages maintained
by the team.

This would create both longer bitrot for packages and more work for
an already overworked team.

cu
Adrian

#798476#250
Date:
2017-08-04 01:48:27 UTC
From:
To:
Adrian Bunk <bunk@debian.org> writes:

Then when that one member disappears, that team becomes MIA, which is
something that would need to be detected by an MIA process for teams,
which I agree should exist, but which I think is detectable via other
mechanisms than Uploaders.  One approach as Holger points out: look for
packages where all the recent uploads have been by the MIA member, which
doesn't require the Uploaders field at all.

I stand by my statement that as long as the team *does* have more than one
member, not having to change anything abot package maintenance when one
team member disappears is kind of the whole point of having team
maintenance.  If the team is not providing that, it feels like there's not
much point in having a team, although I guess it could be aspirational.

One of the whole points of this discussion is that this "members of a
team" concept is not well-defined in Debian and is probably not something
that we *can* make well-defined in Debian.  Or, more to the point, *want*
to make well-defined.

Why?  I don't see how this follows; in fact, I believe the exact opposite.
The current work that the MIA team does to track down Uploaders that
mention MIA people on team-maintained packages and file a bunch of bugs to
have them removed is work that they *don't* have to do in this model.
Instead, just treat the team like another maintainer and look at whether
that maintainer's packages are being maintained and whether that team is
active and orphan packages if they aren't.

#798476#255
Date:
2017-08-04 05:53:17 UTC
From:
To:
Am Donnerstag, den 03.08.2017, 23:09 +0000 schrieb Clint Adams:
major information source to determine if someone is MIA -- before
sending the fist mail.
With only teams in the Maintainer field and no other source of
information to get that information easily, the MIA team will go
defunct or it will make the work by magnitues harder.

And as the fallacy is keeping showing up repeatily in other answers:
The perl team is extraoridnary. They are very well organized and there
it works. But the mayority of teams is not the perl team.

Have to go for $DAYJOB now.

#798476#260
Date:
2017-08-04 09:37:53 UTC
From:
To:
As I already tried to explain, this is an easy part that could be
automated. The half-year MIA process that follows is the bottleneck,
and wasting slots on teams would make the bottleneck even worse.

This is how you imagine how teams should work, not a description of the
actual reality in Debian.

As an example, we do have teams that define in their policy the
semantics for "person in Maintainer, team in Uploaders".

It is interesting how you manage to argue both based on a very specific
definition of teams you have in mind, and based on declaring that all
this is not well-defined and that we neither can nor want to define it.

What is needed is a machine-readable mapping between teams and their members.

Mandatory Uploaders gives a good-enough approximation of that.

Removing that without replacement would be a regression.

Declaring someone is MIA is the result of a half-year process.[1]

Doing a MIA process for a team many years (and several releases)
after it has been confirmed that all team members are MIA would
both lower the quality of Debian and create additional work.

You are trying to push the solution of making Uploaders optional
for teams, marginalizing any new problems it might cause.

Let's go back from trying to push a solution to discussing the problems
that should be solved, and the problems different potential solutions
might cause.

I do understand that for teams whose policy states that every team
member maintains every package and that maintain many packages it
is not convenient to manually update uploaders. Is this the one
problem that should be solved, or are there other problems that
should be solved here?

An alternative option of maintaining machine-readable information
about team member in a different place outside the packages would
fix the problem of losing information about team membership.

Or the low-change option of documenting that the already used way of
autogenerating the Uploaders list based on information stored in one
core package of the team is a valid option - this allows teams with many
packages to get rid of the problem of having to update this information
manually in every single package.

cu
Adrian

[1] https://wiki.debian.org/qa.debian.org/MIATeam

#798476#265
Date:
2017-08-04 10:10:03 UTC
From:
To:
Hi,

as a more radical change one could also ask the question where to
maintain the maintainer information.  Currently we handle this in the
source package via the Maintainer and Uploaders field, and via team
memberships.

This has several limitations: for teams, Uploaders will often be
useless (you don't want to list all team members in every team-
maintained package).  The Maintainer field only really applies to
Debian, in derivatives someone else should be contacted.  In stable
releases, the field can often be outdated (it records who maintained
the package some time ago, not who currently maintains it).

So I have been wondering several times whether we should move the
maintainer information elsewhere.  For example, tracker.d.o could be
extended to record maintainer information.  It could also understand
the concept of "teams" listing team members and whom to send mails
about individual packages.

For legacy purposes, the Maintainer field would then list ${source}@tra
cker.d.o and the Uploaders field could be removed.

This would also address the fact that various bits of our
infrastructure don't know about Uploaders (like bugs.d.o only
contacting the Maintainer).

Ansgar

#798476#270
Date:
2017-08-04 13:28:18 UTC
From:
To:
This has been planned by the distro-tracker folks for many years,
there is even a DEP about it:

http://dep.debian.net/deps/dep2/

#798476#275
Date:
2017-08-04 18:23:00 UTC
From:
To:
And it would not work when the latest maintainer upload was by a team
member who retired or was declared MIA earlier.

There are also other situations where a mapping between teams and
all members of the team can be very useful.

Uploaders is not the only option for doing that, but any change
should include provising more reliable information - not less
reliable information.

An O: bug means that it is confirmed that the package is orphaned,
and gives permission to everyone to adopt the package immediately.

cu
Adrian

#798476#280
Date:
2017-08-04 18:59:40 UTC
From:
To:
That can be found out by recursing until you find a non-MIA individual
who has uploaded since the previous stable release, or something like
that.

In practice, Uploaders often only includes people who have ever uploaded
the package, not everyone who is on (or still on) the team. I you'll
have better luck with a who-uploads equivalent.

So just file an an Intent-To-Orphan bug. [This why I suggested to file
the bug against the package, and not against wnpp.]

In N days, the bug can be filed against

#798476#285
Date:
2017-08-04 20:35:24 UTC
From:
To:
In practice, Uploaders often includes active team members who work
in git, but one specific team member does all the uploads.

I already gave the lintian package as an example for that.

And in the other direction what you describe would leave no way for
a person to make it visible that he has left the team.

There is no Intent-To-Orphan bug.

And whenever possible the process should work by first confirming
that a person or team is MIA, and then orphan everything that was
maintained by that person or team.

In a more general note, I am a bit puzzled that it is so controversial
that machine-readable team membership information is important and
should continue to be available.

cu
Adrian

#798476#290
Date:
2017-08-04 20:46:19 UTC
From:
To:
Nowadays orphaning is done by reuploading the package with the
maintainer set to the QA group rather than using a O: wnpp bug.

Cheers,

#798476#295
Date:
2017-08-04 21:10:41 UTC
From:
To:
It is rarely my experience that people leave teams in clean, definitive
breaks. If they did, packages wouldn't have to be orphaned by the QA
group. Maintainers would take care of that themselves.

Not currently, but one can be created.

Because maintaining such a field increases the burden on teams for
little to no benefit. I know I haven't bothered to be sure that the
Uploaders field in any of my packages only contains people who are
currently actively involved in maintaining that particular packages.

Good point.

#798476#300
Date:
2017-08-04 21:57:49 UTC
From:
To:
Adrian Bunk <bunk@debian.org> writes:

One of the major points of disagreement in this thread is that you think
this information is currently available and useful, and other people (such
as myself) think that your understanding of Uploaders has little
relationship to how the field is currently used in the archive.

I'm dubious that it's worth the effort to maintain this, but regardless of
that discussion, machine-readable team information is not something we
have now.  We instead have a partial record of some people who have
previously worked on the package, without much information about whether
they're currently working on the package.  It's marginally more useful
than the debian/changelog entries, but only marginally.

#798476#305
Date:
2017-08-04 22:26:51 UTC
From:
To:
Hi,

Ansgar Burchardt wrote:

This would make me pretty happy, for what it's worth.

Thanks,
Jonathan

#798476#310
Date:
2017-08-05 01:13:09 UTC
From:
To:
Package: tracker.debian.org
Severity: wishlist

Such a feature would move this discussion forward, so I'm submitting it
as a feature request.

I think that the logic in who-uploads(1) is probably insufficient;
parsing d/changelog would catch people actually /contributing/ to the
package, not just those who signed the uploads.

#798476#315
Date:
2017-08-05 01:20:31 UTC
From:
To:
Hello,

I don't understand this suggestion.  If it can be automatically
generated, just generate it when you need it -- why store it in the
source package?

#798476#322
Date:
2017-08-05 06:20:45 UTC
From:
To:
Am Freitag, den 04.08.2017, 22:46 +0200 schrieb Bill Allombert:

NO. Simply NO. 
That behaviour would be really rude.

#798476#327
Date:
2017-08-05 06:32:58 UTC
From:
To:
Am Freitag, den 04.08.2017, 12:10 +0200 schrieb Ansgar Burchardt:
not required that everyone how ever touched the package needs to be
Uploader. 
(somewhat related #630578.)

As this is often brought as argument to remove Uploaders: why doe the
teams think that they need to update Uploaders on every upload?

This would be best. Having the information in some database, which is
also much more easy to retrieve programmatically a good dataset.

Yes. But please not drop Uploaders first and then implement this e.g
database.

#798476#332
Date:
2017-08-05 06:36:49 UTC
From:
To:
Am Freitag, den 04.08.2017, 01:58 +0300 schrieb Adrian Bunk:

Which, by the way, is already a hard problem on its own.

#798476#337
Date:
2017-08-05 06:55:12 UTC
From:
To:
Am Donnerstag, den 03.08.2017, 11:58 -0700 schrieb Russ Allbery:

No, because with a $TEAM you have to expand it to $TEAM_MEMBERS and
check them individually.

#798476#342
Date:
2017-08-05 07:39:02 UTC
From:
To:
What cannot be automatically generated is the other side of the
intersection:
https://sources.debian.net/src/gnome-pkg-tools/0.19.9/pkg-gnome.team/

And you cannot automatically generate whom the team considers as members.

This is policy specific to a team, where some team members might only
work in git (see the lintian example) and others might have left the
team recently.

cu
Adrian

#798476#347
Date:
2017-08-05 07:51:51 UTC
From:
To:
It does not bring benefit to you personally.

It is quite useful elsewhere.

Whom you officially list as co-maintainers of your packages is your
decision.

Bill was giving alternative facts.

cu
Adrian

#798476#352
Date:
2017-08-05 09:16:31 UTC
From:
To:
Policy says that Uploaders should list all co-maintainers.

Who is considered a co-maintainer is determined by team policy or the
other maintainers.

Uploaders is machine-readable.

True, but the situation is actually better than for the Maintainer field.

There is a very popular (not team-maintained) package where the person
in Maintainer is still reachable by email but hasn't uploaded since 2014,
and the last 80 uploads were made by the people in Uploaders.

For fringe leaf packages, it is perfectly possible that we might
have people in Maintainer who died 10 years ago.

And disappearing uploaders in team maintained packages can be much
easier solved than disappearing Maintainers in not co-maintained
packages: The team can drop an Uploader without a 6 month MIA process.

cu
Adrian

#798476#357
Date:
2017-08-05 10:03:35 UTC
From:
To:
I assume you are thinking of parsing the [ name ] syntax used by many teams.

Note that a prerequisite for such debian/changelog parsing would
be that policy sets strict syntax and semantics requirements.

Examples:

Some teams use different syntax.
I did already state in the policy bug that extracting this information
from the lintian changelog is my challenge to everyone who thinks that
that this could be extracted from current debian/changelog.

This can only work if policy states that that the established practice
of many people using this syntax also for patch submitters is no longer
permitted.

cu
Adrian

#798476#362
Date:
2017-08-05 10:42:00 UTC
From:
To:
Adrian Bunk:

The syntax used in lintian's changelog is relatively unique to my
knowledge; if by changing it we can actually have this proposal work,
then let me know and I will raise that internally in the lintian team.

Thanks,
~Niels

#798476#367
Date:
2017-08-05 14:00:16 UTC
From:
To:
Hello,

Yes.

No, we do not need to block such a feature that would work for 90% of
packages until we have a policy about the [ name ] syntax.  It can begin
as a useful heuristic.

#798476#372
Date:
2017-08-05 14:35:35 UTC
From:
To:
How do you get that it would work 90% of package ?
Using [] for non-team members is very common.

Cheers,

#798476#377
Date:
2017-08-05 15:19:29 UTC
From:
To:
for getting the _uploaders_ it's not even required to parse those fields, as
each upload has one uploader which is semantically strict defined already.

#798476#382
Date:
2017-08-05 15:28:57 UTC
From:
To:
work-around / an estimate, as we have nothing better. Yet it's very often
inaccurate as eg src:debian-edu shows, which at least I don't keep accurate
as I dont want to remove people unneccessarily (can be seen as stepping on
their toes), have added people who will not upload (because currently this
field is indeed abused to generate team member metadata) and sometimes
people were even added even though they don't want to belong to the team.

;tl;dr: I think we need a better system to manage team membership in Debian.
(Ab)using the uploaders: field gives an estimate or datapoint today, but we
have other means to gather this data.

#798476#387
Date:
2017-08-05 18:00:10 UTC
From:
To:
Policy says that Uploaders contains the _co-maintainers_.

And that also matches what most teams do.

cu
Adrian

#798476#392
Date:
2017-08-05 18:05:46 UTC
From:
To:
It is the official place to list co-maintainers.

No, we do not have currently any other means to gather who is considered
a team member by a team.

And that's the problem.

cu
Adrian

#798476#397
Date:
2017-08-05 18:38:15 UTC
From:
To:
you keep repeating this but its still broken by design.

then it's time to fix this and not hold on to a band-aid solution which causes
grief.

#798476#402
Date:
2017-08-05 18:39:40 UTC
From:
To:
One thing that is worth discussing here:

For how many teams would it bring real benefits if they no longer
have to maintain team membership information in every source packages?

My guesstimate is that these might perhaps be 5 teams.

Why is my guestimate so low?

It only brings real benefits for teams:
1. that do not have a concept of package ownership inside the team, and
2. that maintain many packages.

Regarding the second point, there clearly is a real amount of work
removing a person from the Uploaders of hundreds of packages.
But when a team maintains only 5 packages this is no longer a problem.

Regarding the first point, most large teams do have have the concept of
package ownership inside the team. Sometimes with well-defined semantics
regarding the differences between putting the team in Maintainer and the
human in Uploaders, or putting the human in Maintainer and the team in
Uploaders. For these teams it is no question that Uploaders is useful.

A reason why "generate Uploaders based on team member information
stored in a core package of the team" sounds like a reasonable solution
to me is that I think a solution is required only for a handful large
teams.

cu
Adrian

#798476#407
Date:
2017-08-05 19:04:54 UTC
From:
To:
Maybe, maybe not.
So far I've seen mostly voices from people working in teams in this
thread who are in favour of dropping the required Uploaders field.

- Team membership is easily available for teams which use Alioth. [0]
- Does this suggestion mean we should put 140 people in Uploaders? [0]
  And/or sync Alioth project membership to a package regularly?

[0] https://alioth.debian.org/projects/pkg-perl/


Cheers,
gregor

#798476#412
Date:
2017-08-05 20:22:03 UTC
From:
To:
Perfectly fine, thanks for adding your point of view.

(And just to be sure: The proposal is not to forbid or drop the
field, just to make it optional instead of required for teams, so
each team would be free to keep it and use it according to their
policy and needs.)


Cheers,
gregor

#798476#415
Date:
2017-08-05 19:20:37 UTC
From:
To:
gregor herrmann <gregoa@debian.org> writes:
Astro), and I would favour keeping it -- exactly for the reasons Adrian
wrote: In Debian Astro, most packages are practically maintained by
a single person, who should also feel responsible. Team maintenance at
this stage gives the possibility to contribute to the git repository,
and to ease "NMU"s. d/changelog is not the proper solution, since it
contains the person who did the last upload, independent of whether it
was a team upload or a take-over. And incrementally investigating
d/changelog to find the last non-team-upload (which also may be done by
mistake) does not sound very smart.

There is the concept of "people feeling responsible for a
team-maintained package" which is not identical to the team itself. This
difference should be documented, and since it is the same kind of
information as the original Maintainer: field, I see no reason to put it
into a different place.

Best regards

Ole

#798476#420
Date:
2017-08-05 23:29:34 UTC
From:
To:
Tobias Frost <tobi@sviech.de> writes:

Well, as I've already said, I don't agree with this approach for finding
MIA teams.  I'm not sure if you disagree for reasons you're not saying, or
if you just didn't see that message, or if I missed another message from
you explaining why you disagree.

Anyway, I truly don't understand why you can't determine MIA teams based
on whether their packages are maintained.  Team-maintained packages not
being uploaded translates into the team being MIA (regardless of the MIA
status of individual members).  I think it's in a lot of respects much
more straightforward than MIA maintainers, since you don't have to worry
about voting and other maintainer privileges and access.  And with most
teams there will be fewer edge cases where there are legitimate reasons
for all of their packages to have just not needed an upload, since teams
are less likely to only have a single leaf package.

#798476#425
Date:
2017-08-05 23:40:51 UTC
From:
To:
Adrian Bunk <bunk@debian.org> writes:

Your understanding of Policy is incorrect.  (This is one of the few topics
in this thread where I can put on my Policy Editor hat and say that this
isn't just a matter of opinion.)

Policy says that all co-maintainers *who are not included in the
Maintainer* field should be listed in Uploaders, which obviously means
that team members do not have to be listed there since they're included in
the Maintainer field.

The only reason why anyone gets added to Uploaders from a Policy
perspective for a team-maintained package is the statement under
discussion here:

    This is normally an optional field, but if the Maintainer control
    field names a group of people and a shared email address, the
    Uploaders field must be present and must contain at least one human
    with their personal email address.

*At least one human.*  Not everyone on the team.  And note how this
specifically talks about how the Maintainer field can represent a *group*
of people.

Team membership information does not exist in a machine-readable form
right now.  You have misunderstood the meaning of Uploaders and it is
leading you to draw a bunch of other erroneous conclusions.

#798476#430
Date:
2017-08-06 19:12:32 UTC
From:
To:
mandatory.

Kind regards

      Andreas.

#798476#435
Date:
2017-08-07 13:48:54 UTC
From:
To:
- 466 teams maintaining packages in unstable
- 8 is the median number of packages maintained by a team
- 73 teams maintaining a single package

A package with 500 LOC might have an own team:
https://qa.debian.org/developer.php?email=hostname-devel@lists.alioth.debian.org

cu
Adrian

[1] grep -Ei '^Maintainer.*(team|maintainer|lists.alioth.debian.org).*'

#798476#440
Date:
2017-08-09 13:21:30 UTC
From:
To:
Hello,
tracker.debian.org. As Paul already pointed out, I started a
DEP on this a long time ago (altough it's broader in scope):
http://dep.debian.net/deps/dep2/

While storing the maintainer information in tracker is far from being
done, I actually worked on various steps to make it possible to have
a generic maintainer address like "<source>@packages.debian.org" (like I
ensured that the packages.debian.org email aliases do not include
packages.debian.org email addresses to avoid loops [1]).

I think the only missing step is some sort of logic to drop duplicate
emails that we would currently get through the tracker if we do not change
anything in dak or the BTS or other scripts that are currently mailing
both the maintainer and the tracker directly.

In the future, I would like to be able to also use “team+foo@tracker.debian.org“
so that it's automatically tagged as being part of the corresponding team
and so that the associated mails are sent to the team subscribers. But
here again we have quite some work to do.

FWIW, I just tried to use zim@packages.debian.org as maintainer for my zim
package, we will see if my analysis is right and if I only get a few
duplicates. We will have to fix lintian too because I just see this:

E: zim source: maintainer-address-causes-mail-loops-or-bounces Zim Package Maintainers <zim@packages.debian.org>

And the tag is not overridable and it's fatal for dak. Ansgar, do you
feel like disabling that auto-reject tag temporarily so that I can upload my
test package ?

Cheers,

[1] https://anonscm.debian.org/cgit/webwml/packages.git/commit/?h=debian-master&id=5f4f27920e996e521d32dfb5a9693a09348d18d5

#798476#445
Date:
2017-08-11 17:31:37 UTC
From:
To:
/me just realized he made a stupid mistake by grep'ing Packages instead
of Sources.

Approximate data based on grep'ing Sources:
- 452 teams maintaining packages in unstable
- 3 is the median number of packages maintained by a team
- 155 teams maintaining a single package

#798476#450
Date:
2017-08-31 16:01:05 UTC
From:
To:
Ansgar Burchardt writes ("Maintainer information in source packages (was: Re: Returning to the requirement that Uploaders: contain humans)"):

Yes.

Indeed.

Yes.

I think this would all be brilliant.

Ian.

#798476#455
Date:
2019-04-22 15:37:36 UTC
From:
To:
remember was during DebCamp/Conf17 in Montréal.

Ah, here we go: #798476


Cheers,
gregor, cc'ing the bug

#798476#462
Date:
2026-02-17 22:17:36 UTC
From:
To:
tags 798476 patch
thanks

Hi!

Given discussion on debian-devel about relaxing the requirement for a
Uploaders: header and making this optional, I wanted to suggest a patch.

It is my personal opinion that things would be better without requiring
the Uploaders: field, but I have thought this was a opinionated belief
but the discussion on debian-devel suggests others share this.  Maybe
there are still strong opinions against this that I've missed, but at
least this patch allows a more focused discussion about how a change to
policy could actually look.

What do you think?

/Simon

#798476#469
Date:
2026-02-17 22:36:29 UTC
From:
To:
Simon Josefsson <simon@josefsson.org> writes:

There's an ongoing discussion with the relevant Debian team who raised an
objection last time. I'd prefer to wait to act on this until that
discussion resolves.

I too don't really understand how Uploaders is really helping, but I'm not
the team doing the work and the team doing the work said that it is, so I
want to make sure they have an opportunity to explain. It's entirely
possible that I'm missing something important.

#798476#476
Date:
2026-02-19 06:31:44 UTC
From:
To:
I think the key point from the MIA perspective is that our workflow is
person-centric.

We usually start using that informatin when we've determined that
specific person became inactive or unreachable, and then need to
determine which packages might be affected. Upload history helps to see
past activity, but it does not reliably answer the question "which
packages do we need to look at because this person was involved?"

in other words, the information in the Uploaders field is less about
determining activity and more about enabling action once inactivity has
been established.

If team membership is not clearly documented, we cannot easily determine
which team should be contacted when someone goes missing. In practice,
that would mean teams would need to notice emeritus/removed cases
themselves and act accordingly. For DMs and DCs, we do not even have
comparable notifications.

The Uploaders field is not perfect, but it provides a simple and
queryable mapping from person to packages, which is exactly what we need
when starting to clean up after a missing person.

#798476#481
Date:
2026-02-19 07:55:26 UTC
From:
To:
Tobias Frost <tobi@debian.org> writes:

Thanks for explaining!

Why not?  I think commit and upload history is a good indicator.

Commit and upload history seems to me be the real indicator of where
actually work happens (or not happens).  Isn't this information
available in UDD or some similar resource?

I don't understand this part.  What is the cleaning up action you are
thinking of?  Is it removing the MIA person from the Uploaders: fields?

What else is there to do when someone disappears?

Making the field optional and allow not putting humans in it seems like
it may save everyone time to have to keep track of MIA's and removing
their name from a control field.

/Simon

#798476#486
Date:
2026-02-19 21:41:51 UTC
From:
To:
Activity data is certainly useful to assess where work has happened. The
question from the MIA perspective is slightly different: once a person
has been determined inactive, how do we obtain a reliable and complete
list of packages that may require follow-up action because of that
person’s involvement?

Do you have some concrete query in mind that you could share with me,
which would tell (quickly and with accuracy) that someone stopped
working on a package and we need to tell someone, e.g a team? What other
resources do you think could help?

Orphaning and asking to remove persons from the uploader is possibly the
effect that has the most visibliy to the project.
Removal from Uploaders is only one possible action, and I'd say the
current goto mean to effectivly acilitating maintainership transitions
(e.g. orphaning, helping identify new maintainers, or contacting
relevant teams), and coordinating with other teams where project
resources are affected.¹
For that, we need a person ->  package mapping that is predictable and
queryable once inactivity has been established.

¹ usually people start missing people because of neglegted packages and
  then trigger us. I expect when Uploader is no longer widely used,
  people will also less likely to ping us.
  (The “MIA 2.0” process would make MIA work independent of triggers,
   but we are operating with the old process)
From the MIA side, however, that cost does not disappear, it shifts.
Instead of updating a structured field at the time of change, we would
need to reconstruct person -> package relationships later from activity
data when cleanup is required.

Maintaining the Uploaders field is comparatively cheap and distributed:
it is updated when work is already happening.  Reconstructing
associations after someone has disappeared is necessarily centralized,
heuristic, and more time-consuming.

The DPL recently described inactivity as a structural challenge for
Debian, particularly the lack of lightweight and reliable ways to make
changes in availability visible. Explicit and queryable person ->
package associations are one of the few structured signals we currently
have at the package level.

The more systematic inactivity workflow discussed at DebConf
(I've nicknamed it "MIA 2.0" earlier) outlines a possible activity-based
model, but it remains conceptual and is not operational today.

Until such a replacement exists in practice, removing explicit
associations would not merely simplify a control field; it would change
how inactivity is handled, without a defined alternative.

MIA 2.0 will still include "cleanup" steps, but these become less
critical for the project if we move toward an activity-based model,
supported by complementary processes such as easier ways to orphan or
take over packages that may be neglected. Maybe, once such a system is
in place, it could even allow us to drop the Uploaders field?²

#798476#491
Date:
2026-02-19 23:50:55 UTC
From:
To:
Le Thu, Feb 19, 2026 at 07:31:44AM +0100, Tobias Frost a écrit :

Le Thu, Feb 19, 2026 at 10:41:51PM +0100, Tobias Frost a écrit :

Hi Tobias,

this is the whole point of making the Uploader field optional.  When absent, it
means that every team member is equally in chage for the package, and that when
one member of the team leaves or becomes inactive, nobody changes for that
package.

If a team member does not list themselves in the Uploaders field of of a
team-maintained package, then there is no need to notify the team that the
member is inactive.

With that point of view I still do not understand how making the Uploaders
field makes your work harder.  I do get the point that if an Uploader-optional
policy were abused, with people agressively removing the field, especially when
the package mainainer is not a formal team, it would be bad for you, but maybe
the solution is to carefully word the policy change to make it clear that
antisocial behaviour is not welcome?

Have a nice day,

Charles

#798476#496
Date:
2026-02-20 09:32:05 UTC
From:
To:
So if a team-maintained package without an Uploader field is not effectively
maintained, it can be salvaged/orphaned/hijacked by any DD exactly as if it was
not team-maintained ?

Cheers,

#798476#501
Date:
2026-02-20 12:40:01 UTC
From:
To:
Tobias Frost <tobi@debian.org> writes:

I think I'm missing some piece of the context here, because in my mind
the logic is simple:

- MIA team get some indication that a person may be MIA, and then
  actually confirm that the person stopped working X months ago or
  similar (which could involve a couple of round-trips of personal
  e-mails).

- Review everything the MIA person has actually done.  For packaging
  work, the complete list of commits & uploads is a sufficient, isn't
  it?  For non-packaging work I wouldn't know where to look.

- Take action on the review, notifying relevant teams and/or orphan
  packages that doesn't have any remaining owner.

How do the Uploaders field help you?

I know little about this and do not feel particulary qualified to
comment on the MIA team workflow.  If it works for the MIA team and
critically depends on the Uploaders field, then I wouldn't want to
challenge your workflow.  Then it becomes the job of the rest of the
project to evaluate if the cost of requiring the Uploaders field
outweight the advantages of having the MIA team use their current
workflow.  Maybe discussing a new MIA workflow, not based on Uploaders,
will help here, and you can evaluate if that new workflow would be
better or worse than your current setup.

If the package is team-maintained and doesn't have a Uploaders field, no
new upload will be necessary.

If the person is in the Uploaders field, removing them would be good,
but this is just extra work if the team takes care of the package
properly.  That work may be saved by making Uploaders optional.

Orphaning a package when the person is in Maintainer will still be
necessary though, but I think that is unrelated to the Uploaders field.

Right.  I'd argue that you need that anyway.

Here I disagree, and this is the reason for all of this.

I believe having a required Uploaders field is a really costly matter,
both technically (there is no consensus on how to update the field, see
the feedback from various teams in Debian that aren't really using this
field for anything but initial packager) and socially (it perpetuate the
single-maintainer ownership model where others are not encouraged or
feel entitled to touch a package).

Hmm.  Could someone design a UDD query that give you that association,
but based on commit & uploader activity instead?

I think such an association would be more accurate than looking at
Uploaders fields.

You seem to be coming back to the person->package association as an
important part, and while I believe this is a social mistake -- let's
team-maintain all packages instead -- I understand this association is
needed if you start from a single-person maintainer assumption.

Interesting, do you have a URL?

/Simon

#798476#506
Date:
2026-02-20 13:26:16 UTC
From:
To:
Hi,

Ah no, please not! At least not with what I understand as "in charge of".

Let's say someone joins the Python packaging team, and uploads a package without an Uplaoders entry. Now I am in charge of this package.

What does this entail? Do I constantly have to monitor upstream? Do I, personally, get all the maintainer duties? And everyone else in the team as well?

That won't work. I don't want all maintainer duties for all the thousands of packages under the Python team, and if "everyone" is in charge, then noone is in charge. Instead, if noone cares enough to put on the "in charge" hat, the package should be dropped from the team.

Please also note that pretty much all the maintainer tooling assumes things to be that way – for example, my DDPO lists team packages I am responsible for, so I can check on them doing my maintainer duties on behalf of the team.

I may have missed essential parts of the discussion, but as I see it, making the Uoploaders field optional, with the semantics described above, would *ensure* that all team maintained packages fly under the radar, contrary to what it should do.

So, how about put a clear definition of the Uploaders field in the policy instead, in regard of what the duties of the Uploaders are?

#798476#511
Date:
2026-02-20 13:50:28 UTC
From:
To:
Dominik George <natureshadow@debian.org> writes:

No.  It means the team is in charge.

No.  The package is a shared responsibility, which is my perception of
the point of doing team-maintained package in the first place.  If you
don't want shared responsibility, then why team-maintain something?

Huh?  What's the point of having team-maintained packages at all with
that perspective?  Maybe it helps to think about this differently, and
consider that it is possible to not have a single-maintainer strong
ownership model of package maintainance.

It is fine for people to have the single-maintainer model and still be
able to do what they want.  Nobody has suggested to remove the Uploaders
field.  Only to make it optional, for those who prefer another way.

I don't think anyone has suggested your semantics, or that it follows
from anything part of the Debian Policy or any other document.

/Simon

#798476#516
Date:
2026-02-20 14:06:35 UTC
From:
To:
I think you are confusing ownership with responsibility.

"Ownership" would mean that I don't want others to touch my package. That does, as you said, not make sense in team maintenance.

"Responsibility", or "being in charge", means that someone pledged to take on maintainer responsibilities, like keeping the package updated regularly, ensuring it transitions to testing, etc. – i.e., regular tasks that do not arise from external communication.

In other words:

* a bug is opened -> anyone in the team should act
* security team contacts team -> anyone should act
* upstream contacts team -> anyone should act

All these are reasons for team maintenance.

But on top of that, there are *regular* tasks maintainers should do, like checking for new upstream versions, or in general, keeping an eye on the DDPO for anything that does not open a bug or trigger communication on its own. And *that's* where I see the relevance of the maintainer field.