====================================================
Sietima, a mailing list manager construction toolkit
====================================================
:CreationDate: 2016-08-29 12:20:04
:Id: SW/Sietima
:tags: - perl
- software
What is it
==========
Sietima is a mailing list manager construction toolkit, written in
Perl 5. It's an exercise in modularity, a showcase of the latest
features of Perl 5, and an actually usable mailing list manager.
History
=======
Once upon a time, there was a mailing list manager called Siesta,
written by Richard Clamp, Greg McCarrol and Simon Wistow. You can
still look at the `Subversion repository`_, `development mailing list
archives`_, `the slides of the talk Richard gave`_ at `YAPC::EU
2003`_, and `the full history as written by Simon`_.
It is completely plugin-driven, and has per-user configuration. I
still run a few lists on Siesta.
Fast forward 13 years: Perl and CPAN have come a long way. Can we
write a better list manager now? How hard can it be? That's why I
started writing Sietima.
Construction toolkit?
=====================
Sietima provides a bunch of modules you can plug together to make your
ideal mlm. Writing new plugins to add features should be as easy as
possible. It is currently not a "just works" application, although the
repository includes an `example application`_ that works.
Is it production-ready?
=======================
Yes! I'm using Sietima to run three mailing lists on this
domain. Since I use ``qmail``, I have the following configuration:
- ``/var/qmail/users/assign`` contains lines like::
+the-list:mailinglists:1016:1004:/var/qmail/mailinglists/:-:the-list:
so messages sent to ``the-list@thenautilus.net`` (and all addresses
of the form ``the-list-*@thenautilus.net``) are routed to the
``mailinglists`` user
- ``/var/qmail/mailinglists/.qmail-the-list`` is::
|/usr/local/sietima/bin/sietima-the-list send
so messages sent to the list go through the list-specific program
- ``/var/qmail/mailinglists/.qmail-the-list-bounce`` is::
&dakkar@thenautilus.net
so bounces go to me (I haven't written VERP or bounce handler
plugins)
- ``/usr/local/sietima/bin/sietima-the-list`` looks very much like the
`example application`_
Contributing
============
Check out `the source code`_, push your branch somewhere, then `email
me about it`_. Or `ask me to give you write access to the repository`_.
.. _`Subversion repository`: https://siesta.svn.unixbeard.net/trunk/siesta/
.. _`development mailing list archives`: http://siesta.unixbeard.net/siesta/archive/siesta-dev/lurker_15.html
.. _`the slides of the talk Richard gave`: http://unixbeard.net/~richardc/talks/siesta/
.. _`YAPC::EU 2003`: http://conferences.mongueurs.net/ye2003/talk/355
.. _`the full history as written by Simon`: http://www.thegestalt.org/simon/siesta-article.pod
.. _`example application`: /cgit/Sietima/tree/example/sietima
.. _`the source code`: /cgit/Sietima/
.. _`email me about it`: mailto:dakkar@thenautilus.net?subject=Code%20for%20Sietima
.. _`ask me to give you write access to the repository`: mailto:dakkar@thenautilus.net?subject=Please%20allow%20me%20to%20push%20to%20Sietima