Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Apr 2020 17:33:41 +0200
From:      Matthias Andree <matthias.andree@gmx.de>
To:        Kurt Jaeger <pi@freebsd.org>, Dan Langille <dan@langille.org>
Cc:        FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: mail/mailman v3?
Message-ID:  <8684b670-d968-7457-231e-720ab8449190@gmx.de>
In-Reply-To: <20200424130424.GJ39563@home.opsec.eu>
References:  <FD5DA99A-4B99-4730-BD8E-7079416A56BB@langille.org> <20200424130424.GJ39563@home.opsec.eu>

next in thread | previous in thread | raw e-mail | index | archive | help
[Dan, Kurt, this is a re-send of my message written 2020-04-24 with a
different sender address.]

Am 24.04.20 um 15:04 schrieb Kurt Jaeger:
> Hi!
>
>> With mail/mailman being Python 2.7 (which is end-of-life), and mailman =
3 being Python 3 compatible:
>>
>> Do you know of any plans to port Mailman 3?
>
> There's already a PR about that:
>
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D225543
>
> The patch itself is fine, but we need run-tests.
>
> This means: If you want to help,
> - use that patch,
> - build mailman3,
> - and install it somewhere and
> - test all the use-cases that you can think of
> - then write some docs on how to move an existing mailman2 site
>   to mailman3
> - and give ideas how to handle list archives
>   *especially* keeping the URLs identical (!)
>
> And, speaking as one of the postmaster@ team:
> As lists.freebsd.org uses mailman2, we need this!
>
> postmaster@ has not yet decided if we really want to move to mailman3,
> so we are open to other options. The mail archive is the biggest hurdle =
8-(
>

Thanks Dan for the question, and Kurt for answering that question.

As the mailman2 maintainer frequently being asked about mailman3, here
are my thoughts on it.

TL;DR:

mailman3 documentation is an untidy inconsistent mess, is in my
perception not honestly and outright advertising the mailman 2.x
features that have not yet been reimplemented.

The minimum version to be ported should be the latest release as they
are still re-adding lost features, for instance, 3.3.1 is current has
brought bounce processing.

I am not driving mailman3 efforts, don't want be in the first line or
maintain a mailman 3.x port, but may help here or there if I am being
asked on advice.


Long version:

I have looked at Mailman 3 again and again, and the more often I look,
the more I balk at it. Mailman 3 will be five years old coming Tuesday
(3.0.0 released 2015-04-28), and the first-hand documentation is
scattered across web sites and inconsistent, not frequently updated for
the new releases.

Mailman 3 is also a new product, "Mailman 3 is a fully rewritten code
base."
<https://mailman.readthedocs.io/en/latest/src/mailman/docs/release-notes.h=
tml>.


It could bear a new name in honesty, and more importantly that means all
the workarounds and experience from  2.x are lost, and have to be
re-written, too.  And some have not been, and they admit it on the hind
pages.

- FEATURE ADVERTISING COMPLETENESS:

In quality and features 3.x appears to boast new "features" over 2.x but
does not in the same prominent place list what's missing. Most of the
"features" are implementation details that I don't deem critical for
day-to-day operation.

Others were just added less than a week ago, f.i. bounce processing only
arrived in 3.3.1 - and the web sites above advertising feature advances
over 2.x are at 3.3.0 or older status and DO NOT MENTION bounce
processing missing, so the only conclusion is that there are more 2.x
features missing in 3.x without being prominently marked as such.

Quoting NEWS.rst
> Features
> --------
> * Add support for processing of email bounce events. Thanks to Aaryan Bh=
agat for
>   working on this as a part of his GSoC project and Thanks to Google for
>   sponsoring the project as a part of GSoC.(See !584)
Look right ABOVE the 3.3.0 section.
<https://gitlab.com/mailman/mailman/-/raw/master/src/mailman/docs/NEWS.rst=
?inline=3Dfalse>
(gitlab cannot render it with decoration, this is a download link
instead, some 80 kB)

- MIGRATION:

http://docs.list.org/en/latest/migration.html mentions breaking archive
URLs, and also "Some configuration and settings aren=E2=80=99t available i=
n
Mailman 3=E2=80=99s UI yet, so even though those settings will be migrated=
 to
Mailman 3, you may not be able to change them from the Web UI today. All
of those settings should be exposed in the UI very soon.

Mailman 3 doesn=E2=80=99t have support for bounce processing yet, but it i=
s on
the roadmap."

 - so obviously the migration guide is outdated, too.


- DOCUMENTATION TIDINESS:

Mailman 3 documentation and everything is scattered across what feels
half a dozen places, all inconsistent WRT what is the current version,
features and all that, and obviously not kept up to date with releases.

- https://mailman.readthedocs.io/
- https://docs.mailman3.org/en/latest/ (not sure how that relates to
readthedocs, may be an alias or a copy)

- https://wiki.list.org/Mailman3

- http://www.list.org/

- https://gitlab.com/mailman

- https://pypi.org/project/mailman/ which seems to be the most up to
date download


- DEVELOPMENT AND COMPONENT CONCISENESS

The Gitlab site show many side projects with unclear relation to the
"mailman suite", no easily accessible roadmap besides a five-or-six-item
list of what makes up the suite.

Given the shape of the documents, and even assuming that documentation
is the first thing that falls short in commercial time-pressed
development, I find that messy.

There is certainly a LOT of work to do, work out processes to get
documentation consistent with the code releases, then actually do that.


- PERSONAL CONCLUSION AND OUTLOOK

This is a subjective and personal note of someone who has not read a
single line of Mailman 3 implementation, but only its documentation
that's accessible from web sites and several one-or-two clicks deep
hyperlink chains, but is asked again and again (as mailman 2 maintainer)
about mailman 3.

I have shown how I feel that the documentation is untidy, inconsistent,
and partially unmaintained on sites that are linked from list.org.

I have shown how I personally do not trust that mailman 3 is
feature-complete when looking at the mailman 2.x feature set.


So assuming we've had a port, what calms a potential porter's or
maintainer's mind that he's not going to be drowned in user support?

Personlly I fear that a port would bring with it lots of people getting
tripped up by the inconsistent web sites, and it would probably add more
support work than the sum of all other ports I am currently listed
MAINTAINER for.

So I don't want to play a *major* role in the porting, feel free to ask
me here or there, and I will not become maintainer now.

If Python 3.x were not a rather important argument, I would have written
a polite form of "leave me alone with that immature stuff and would have
moved on.

- FINAL QUESTIONS

Leaving Python 3.x compatibility aside, what good arguments can anyone
weigh in for Mailman 3.x who is using it in practice (f.i. on Linux)?

How is it better?

Is it mature?

Would it be plausible to port Tauthon 2.8.2 (I am not doing that) and
continue using mailman2 on it (I might help with this part)?
<https://github.com/naftaliharris/tauthon>;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8684b670-d968-7457-231e-720ab8449190>