[aur-general] TU application for Caleb, aka alerque
Caleb Maclennan
caleb at alerque.com
Tue Jun 22 08:48:53 UTC 2021
On 2021-06-21 18:58, Eli Schwartz via aur-general wrote:
> It appears you've been agitating on the AUR comments for some
> duplicates
> of the community/audacity package:
Not "some duplicates", just one duplicate. ;-)
> Given the purpose of the Trusted Users to whom you are applying, is not
> just to publish packages in [community], but also to moderate and keep
> order in the AUR, I find it extremely relevant that halfway through an
> otherwise decent application you are advocating for this sort of thing.
But yes this is quite relevant to TU operations so let's dig in.
First I'm quite aware of the no-duplicates rule, and I think it makes
perfect
sense about 99% of the time. That being said not all upstream software
projects are neat and tidy and not all Arch package situations are
equal.
I do think there is a 1% grey area and that evaluating specifics of
a situation will turn up cases where Arch's "pragmatism" should trump
100%
ideological by-the-books rule application.
1. There significant precedent in Arch official repos for duplicate
packages if they cover incompatible major versions. PHP, Node,
Electron, Python, Lua, GTK, and so on. Mostly RTEs and libraries, but
apps aren't unheard of either. Sometimes it just makes sense to keep
several major versions available so people can use what works for
them
until the ecosystem moves on far enough that dropping the old ones
makes sense.
2. The AUR has an even more significant precedent for this. It's quite
common and largely accepted to find what you are labeling as
a "duplicate" if they serve some measurable purpose. Duplicates for
the
same of duplicates of course are not allowed. Duplicates for recently
out of date things isn't allowed. Duplicates just to tweak some
preferences that either could be set other ways or are not broadly
relevant is not allowed. There are quite a few more iterations of
this
that are just not allowed.
But some cases don't fit any of those situations. There are currently
over 3k packages in the AUR that end in a number. A small chunk of
these are just projects that end in a number (e.g. x11, v8). Another
chunk are useless obsolete cruft that should be deleted. But
a significant number of those are legitimate major-version packages
older or newer than arch repos that serve substantive purposes.
- Compile time options that make for a significantly different
experience are sometimes allowed as AUR packages. Generally Arch repo
packages enable all options by default, but there are a handful of
cases where that is not the case and something keeps the Arch repo
packages in a limited function mode. In some of these cases it is
allowed to have AUR packages that enable the feature and let users
choose if they want to run that over the official package.
- Major versions with backwards incompatible changes where the
version
bump is being held back in Arch repos are often allowed in the AUR.
The reverse is also common, when the Arch repos get a major version
bump that makes backwards comparability a problem, running an old
version out of the AUR is the common solution. There are no less that
23 packages for old versions of ICU. I'm guessing half of them are now
useless cruft, but I wouldn't say they should all be nuked without
reviewing their utility. 14 more for electron (mostly -bin variants),
47 for the Android SDK, and so on.
Yes I realize that many of these are also designed to be used in
parallel. Android SDK for example, as well as Electron runtimes. This
is not the case for all packages, nor can it be realistically. One
example is exim. You can't realistically set up packages to run
multiple instances of exim, but there are good reasons to package it
in
"duplicate" to the community package. The community package is
current
pretty current, but historically there have been reasons it got held
back and patched instead of updated. Allowing AUR packages to take
the
other road is something I think should be legitimate. If tomorrow an
exim 5.0 comes out with some backwards incompatible bits that
required libraries or something that broke some systems, I would
expect
the community repo to hold onto 4.x for a *little* while, and an AUR
package for exim5 to crop up in the interim. Later as the migration
dust settles and the path to update is more clear for more people,
I would expect Arch to stay pretty current and update as soon as
feasible, but when it does I would fully expect the exim5 package to
go
away from the AUR and an exim4 package to take its place for people
that can't be bothered to migrate for a while but have production
servers they want to otherwise keep patched. Using the same example,
Arch has been ignoring the new DMARC features in exim for over a year
now. Not enabling them while they were experimental made sense, but
they have been stable since Dec 2019 and Arch has been ignoring the
relevant bug report / feature request. I think it would be totally
fair
gaim if somebody wanted to make an AUR package for exim-dmarc that
enables the feature. Yes this is a "duplicate", but not all
duplicates
are just duplicates.
Speaking of duplicates and content moderation, it might be relevant to
note that I was a moderator on 2 different stack exchange sites, both
pro-tempera and then elected. Anybody that has hung out on SE sites
knows
the issue of duplicate question closure is a sensitive topic and
moderator
decisions are often contested. In 8 years of being a moderator there I
was
challenged many times, but I always took the time to explain myself. My
explanations almost never failed to be the highest votes meta answers to
controversial decisions.
https://christianity.meta.stackexchange.com/users/30/caleb?tab=summary
I also have a long track record of proposing things for discussion there
*before* unilaterally jumping in and doing them. I would expect to
follow
the same modus operendi as a TU. Many actions as a content moderator are
just janitorial and you can follow the rules and plow through them. The
expertise comes in spotting the cases where extra care is required and
either special handling is needed or discussion needs to be started to
handle them in a way that is more broadly satisfactory than a spur of
the
moment decision. I'll let my track record speak for itself.
Now about Audacity in particular....
As background, many years ago when working as an audio engineer I used
to
use it in production nearly full time. I'm quite familiar with it's past
and the weird development practices upstream (such as forked toolkit
versions). I am no longer in that field and only occasionally dabble
with
it for hobby purposes.
A year ago when the last minor version bump to the 2.x series came out,
by
chance I happened to be hit with one of the bugs that had been fixed
upstream. I don't think I was the flagger for that update, but I came
along right about that time hoping for an update. When there was none,
I tried to build it myself. I quickly realized what a fiasco that was
because the minor version didn't build cleanly at the time without
changes to the packaging and other arch libraries. At the time the OOD
flag was within a couple weeks old, so I abandoned the project and
solved
my audio issue another way. Later I switched to the -git package that
got
updated to resolve the build issues.
Having a minor version bump stay out of date for a while shouldn't be
a huge deal, but having one with known bugs that block some production
workflows stay out of date for over a year is egregious. That in itself
may not be a good reason to allow duplicates on the AUR, but I do think
the timeline is relevant. Duplicates in the first couple weeks should be
a total no-no. On the AUR 2 weeks is when you can start filing orphan
requests. Something like that should probably be implemented for
community
packages too. Maybe not 2 weeks, but if they are out of date for 2
months
and nobody is even responding the flags or bug reports that starts to
make
the AUR a *better* place that [community]. That's kinda backwards, no?
If
things stay out of date for two long I think there should be some
procedure for either getting other maintainers involved or demoting them
to the AUR where interested parties could keep them more up to date.
So far those are just discussion points, not something I would feel free
to enforce as a TU, just opinions I have and would root for eventual
guideline updates.
Audacity v3 is a bit different. As a major version release being handled
by a new upstream developer (the project changed hands) with new release
procedures and development cycle, and most notable BACKWARDS
INCOMPATIBLE
bits that break people's workflow by default, I think it should be fair
game to post an audacity3 package to the AUR for adventurous souls that
know they want to switch. The maintainer of the [community] package
should
get the minor version bump at least figured out post-haste. At their
discretion they can update to the v3 release whenever they think it
reasonable. I would argue for sooner rather than later, but I don't know
what complications that might have for wxGTK toolkit packaging, so I am
not casting judgement on that. When they to get v3 packaged in the
repos,
I would expect the audacity3 package to be deleted, and if people feel
the
need for it an audacity2 package could be posted to the AUR for people
that need the old version for their workflow. When that eventually
becomes
irrelevant it should be cleaned up and removed.
Does that make sense? Even if you don't agree with what I think should
have happened with the audacity3 package do you have ongoing concerns
about how I would approach controversial decisions? In cases like this I
think interacting with other potential decision makes is at least as
important as the final decision. We can't just play tug of war posting
and deleting packages. I'm willing to take the topics where I don't
necessarily agree with other TU's here for discussion before just
implementing them. And honestly I've been using Arch on a lot of systems
for a lot of years and don't have significant methodology disagreements
so I am not anticipating conflict. I use Arch and the AUR because I
think
it is a good balance of concerns and useful ecosystem pattern.
Regards,
Caleb
More information about the aur-general
mailing list