<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <html> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> <!-- Mon May 30 15:49:39 2005 --> <!-- USING HT2HTML 2.0 --> <!-- SEE http://ht2html.sf.net --> <!-- User-specified headers: Title: Mailman Considered Beneficial --> <head> <title>Mailman Considered Beneficial</title> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" > <meta name="generator" content="HT2HTML/2.0" > <style type="text/css"> body { margin: 0px; } </style> </head> <body bgcolor="#ffffff" text="#000000" marginwidth="0" marginheight="0" link="#0000bb" vlink="#551a8b" alink="#ff0000"> <!-- start of page table --> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <!-- start of banner row --> <tr> <!-- start of corner cells --> <td width="150" valign="middle" bgcolor="white" class="corner"> <center> <a href="./index.html"> <img border=0 src="./images/logo-70.jpg"></a></center> </td> <td width="15" bgcolor="#eecfa1"> </td><!--spacer--> <!-- end of corner cells --> <!-- start of banner --> <td width="90%" bgcolor="#eecfa1" class="banner"> <!-- start of site links table --> <table width="100%" border="0" CELLSPACING=0 CELLPADDING=0 bgcolor="#ffffff"> <tr> <td bgcolor="#eecfa1"> <a href="./index.html">Home</a> </td> <td bgcolor="#eecfa1"> <a href="./security.html">Security</a> </td> <td bgcolor="#eecfa1"> <a href="./docs.html">Documentation</a> </td> <td bgcolor="#eecfa1"> <a href="./lists.html">Mailing lists</a> </td> </tr><tr> <td bgcolor="#eecfa1"> </td> <td bgcolor="#eecfa1"> <a href="./help.html">Help</a> </td> <td bgcolor="#eecfa1"> <a href="./download.html">Download</a> </td> <td bgcolor="#eecfa1"> <a href="./devs.html">Developers</a> </td> </tr> </table><!-- end of site links table --> </td><!-- end of banner --> </tr><!-- end of banner row --> <tr><!-- start of sidebar/body row --> <!-- start of sidebar cells --> <td width="150" valign="top" bgcolor="#eecfa1" class="sidebar"> <!-- start of sidebar table --> <table width="100%" border="0" cellspacing="0" cellpadding="3" bgcolor="#ffffff"> <tr><td bgcolor="#36648b"><b><font color="#ffffff"> Overview </font></b></td></tr> <tr><td bgcolor="#eecfa1"> <a href="index.html">Home</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="security.html">Security</li> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="features.html">Features</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="i18n.html">Internationalization</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="otherstuff.html">Rants, Papers, and Logos</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="inthenews.html">Mailman in Use</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="prev.html">Previous Releases</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="bugs.html">Bugs and Patches</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="mirrors.html">Mirrors</a> </td></tr> <tr><td bgcolor="#eecfa1"> </td></tr> <tr><td bgcolor="#36648b"><b><font color="#ffffff"> Rants </font></b></td></tr> <tr><td bgcolor="#eecfa1"> <b>Mailman Considered Beneficial</b> </td></tr> <tr><td bgcolor="#eecfa1"> </td></tr> <tr><td bgcolor="#36648b"><b><font color="#ffffff"> Exits </font></b></td></tr> <tr><td bgcolor="#eecfa1"> <a href="http://sf.net/projects/mailman">SF Project Page</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="lists.html">Discussion Lists</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="http://www.python.org/">Python</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="http://www.gnu.org/">GNU</a> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="http://barry.warsaw.us/">Barry Warsaw</a> </td></tr> <tr><td bgcolor="#eecfa1"> </td></tr> <tr><td bgcolor="#36648b"><b><font color="#ffffff"> Email Us </font></b></td></tr> <tr><td bgcolor="#eecfa1"> <a href="mailto:barry@python.org">Barry Warsaw</a> </td></tr> <tr><td bgcolor="#eecfa1"> </td></tr> <tr><td bgcolor="#eecfa1"> <a href="http://www.python.org/"><img border=0 src="./images/PythonPoweredSmall.png" ></a> <a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=103" width="88" height="31" border="0" alt="SourceForge Logo"></a> </td></tr> <tr><td bgcolor="#eecfa1"> </td></tr> <tr><td bgcolor="#eecfa1"> © 1998-2005 Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. </td></tr> </table><!-- end of sidebar table --> </td> <td width="15"> </td><!--spacer--> <!-- end of sidebar cell --> <!-- start of body cell --> <td valign="top" width="90%" class="body"><br> <h3>Mailman Considered Beneficial</h3> Jamie Zawinski posted an article in 2002 titled <a href="http://www.jwz.org/doc/mailman.html">Mailman Considered Harmful</a>. I know Jamie and respect him, but I respectfully disagree with his assessment. You'd be worried if I didn't, eh? <p>To give Jamie the benefit of the doubt, I believe he was reviewing older versions of the Mailman software, where some of his complaints may have been appropriate. Here is a rebuttal to his article, based on <a href="http://sourceforge.net/project/showfiles.php?group_id=103">the latest stable release of Mailman 2.1</a>, unless otherwise specified. <h4>Mailman is a pain in the ass for the end user.</h4> Jamie must have reviewed a pre-2.0 version, because Mailman releases since 2.0 have implemented the "sane" recipe. Indeed it would be insane not to. I may be mad, but I'm not insane. In fact, in Mailman 2.1, there are several ways to get unsubscribed, any one of which will work just fine: <ul> <li>Send a message to <em>list</em>-leave or <em>list</em>-unsubscribe and reply to the confirmation message. It doesn't matter at all what is in your original message. <li>Mail "unsubscribe" to the <em>list</em>-request address and reply to the confirmation message. <li>Use a mail reader that understands the standard <a href="http://www.faqs.org/rfcs/rfc2369.html">RFC 2369</a> List-Unsubscribe header, then just click on that header and reply to the confirmation message. <li>Visit your <em>user's options page</em>, click on the Unsubscribe button and reply to the confirmation message. Note that with Mailman 2.1, mailing lists can be personalized, which means the url to your options page can be included in the footer of every message you get from the list (digests currently excluded). </ul> What could be simpler? <h4>Mailman's password mechanism provides zero security.</h4> I disagree with Jamie about the utility of Mailman's passwords because in general they do prevent malicious people from changing your subscription options out from under you. But I will also concede that he has a point about password management by naive users, so you should know that it is trivial to disable monthly password reminders, either on a list-wide basis or on a per-user basis. <p>Monthly password reminders serve additional purposes though: they remind you of lists you are on which you may have forgotten about, they remind you about how to get unsubscribed from such lists, and they offer an opportunity for lists to cull their membership of non-functioning addresses. In Mailman 2.1, the monthly reminders can be sent out with <a href="http://cr.yp.to/proto/verp.txt">VERP</a>-like envelopes, Mailman can unambiguously parse any bounces from dead addresses, and can use this information to automatically disable or delete disappeared members. <p>When you subscribe to a mailing list, the password is completely optional -- omit it and Mailman generates a random one for you. You generally don't need to know your password except if you want to change your delivery options, e.g. to temporarily disable delivery while you're on vacation, or to switch to digest delivery, subscribe to topics, etc. For simple membership management (subscribing and unsubscribing), you never need to know it. The user options <b>are</b> useful. <h4>Web-based subscriptions</h4> If all you care about is web-based subscriptions, then yes it's pretty easy to set up a simple CGI to do this. It's just as easy to do with Mailman as any other mailing list software. Note though, that Mailman's web interface is much more sophisticated because you can do nearly all the list configuration through the web. Okay, this is of primary benefit for list owners rather than list members, and Jamie's rant is focused on the member experience. Note though, that Mailman's subscription page also gives the user the option of selecting a default language (for multilingual lists) and their preferred delivery mechanism (digests or regular delivery). </td><!-- end of body cell --> </tr><!-- end of sidebar/body row --> </table><!-- end of page table --> </body></html>