| public-inbox - an "archives first" approach to mailing lists |
| ------------------------------------------------------------ |
| |
| public-inbox implements the sharing of an email inbox via git to |
| complement or replace traditional mailing lists. Readers may |
| read via NNTP, IMAP, POP3, Atom feeds or HTML archives. |
| |
| public-inbox spawned around three main ideas: |
| |
| * Publicly accessible and archived communication is essential to |
| Free Software development. |
| |
| * Contributing to Free Software projects should not require the |
| use of non-Free services or software. |
| |
| * Graphical user interfaces should not be required for text-based |
| communication. Users may have broken graphics drivers, limited |
| eyesight, or be unable to afford modern hardware. |
| |
| public-inbox aims to be easy to deploy and manage, encouraging projects |
| to run their own instances with minimal overhead. |
| |
| Implementation |
| -------------- |
| |
| public-inbox stores mail in git repositories as documented |
| in https://public-inbox.org/public-inbox-v2-format.txt and |
| https://public-inbox.org/public-inbox-v1-format.txt |
| |
| By storing and (optionally) exposing an inbox via git, it is |
| fast and efficient to host and mirror public-inboxes. |
| |
| Traditional mailing lists use the "push" model. For readers, |
| that requires commitment to subscribe and effort to unsubscribe. |
| New readers may also have difficulty following existing |
| discussions if archives do not expose Message-ID and References |
| headers. List server admins are also burdened with delivery |
| failures. |
| |
| public-inbox uses the "pull" model. Casual readers may |
| follow the list via NNTP, IMAP, POP3, Atom feed or HTML archives. |
| |
| If a reader loses interest, they simply stop following. |
| |
| Since we use git, mirrors are easy to set up, and lists are |
| easy to relocate to different mail addresses without losing |
| or splitting archives. |
| |
| _Anybody_ may also set up a delivery-only mailing list server to |
| replay a public-inbox git archive to subscribers via SMTP. |
| |
| Features |
| -------- |
| |
| * anybody may participate via plain-text email |
| |
| * stores email in git, readers may have a complete archive of the inbox |
| |
| * Atom feed, IMAP, NNTP, POP3 allows casual readers to follow via local tools |
| |
| * uses only well-documented and easy-to-implement data formats |
| |
| Try it out now, see https://try.public-inbox.org/ |
| |
| Requirements for reading: |
| |
| * any software capable of IMAP, NNTP, POP3 or following Atom feeds |
| |
| Any basic web browser will do for the HTML archives. |
| We primarily develop on w3m to maximize accessibility. |
| |
| Requirements (participant) |
| -------------------------- |
| |
| * any MUA which may send text-only emails ("git send-email" works!) |
| Users are strongly encouraged to use the "reply-all" feature of |
| their mailers to reduce the impact of a public-inbox as a |
| single point of failure. |
| |
| * The HTTP web interface exposes mboxrd files, and NNTP clients often |
| feature reply-by-email functionality |
| |
| * participants do not need to install public-inbox, only server admins |
| |
| Requirements (server) |
| --------------------- |
| |
| See https://public-inbox.org/INSTALL |
| |
| Hacking |
| ------- |
| |
| AGPL source code is available via git: |
| |
| git clone https://public-inbox.org/public-inbox.git |
| git clone https://repo.or.cz/public-inbox.git |
| torsocks git clone http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/public-inbox.git |
| torsocks git clone http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/public-inbox |
| |
| See below for contact info. |
| |
| Contact |
| ------- |
| |
| We are happy to see feedback of all types via plain-text email. |
| public-inbox discussion is self-hosting on public-inbox.org |
| Please send comments, user/developer discussion, patches, bug reports, |
| and pull requests to our public-inbox address at: |
| |
| meta@public-inbox.org |
| |
| Please Cc: all recipients when replying as we do not require |
| subscription. This also makes it easier to rope in folks of |
| tangentially related projects we depend on (e.g., git developers |
| on git@vger.kernel.org). |
| |
| The archives are readable via IMAP, NNTP or HTTP: |
| |
| nntps://news.public-inbox.org/inbox.comp.mail.public-inbox.meta |
| imaps://;AUTH=ANONYMOUS@public-inbox.org/inbox.comp.mail.public-inbox.meta.0 |
| https://public-inbox.org/meta/ |
| |
| AUTH=ANONYMOUS is recommended for IMAP, but any username + password works |
| |
| And as Tor hidden services: |
| |
| http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/ |
| nntp://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.mail.public-inbox.meta |
| imap://;AUTH=ANONYMOUS@4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.mail.public-inbox.meta.0 |
| |
| You may also clone all messages via git: |
| |
| git clone --mirror https://public-inbox.org/meta/ |
| torsocks git clone --mirror http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/ |
| |
| POP3 access instructions are at: |
| |
| https://public-inbox.org/meta/_/text/help/#pop3 |
| |
| Anti-Spam |
| --------- |
| |
| The maintainer of public-inbox has found SpamAssassin a good tool for |
| filtering his personal mail, and it will be the default spam filtering |
| tool in public-inbox. |
| |
| See https://public-inbox.org/dc-dlvr-spam-flow.html for more info. |
| |
| Content Filtering |
| ----------------- |
| |
| To discourage phishing, trackers, exploits and other nuisances, |
| only plain-text emails are allowed and HTML is rejected by default. |
| This improves accessibility, and saves bandwidth and storage |
| as mail is archived forever. |
| |
| As of the 2010s, successful online social networks and forums are the |
| ones which heavily restrict users' formatting options; public-inbox |
| aims to preserve the focus on content, not presentation. |
| |
| Copyright |
| --------- |
| |
| Copyright all contributors <meta@public-inbox.org> |
| License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> |
| |
| This program is free software: you can redistribute it and/or modify |
| it under the terms of the GNU Affero General Public License as published by |
| the Free Software Foundation, either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU Affero General Public License for more details. |
| |
| You should have received a copy of the GNU Affero General Public License |
| along with this program. If not, see <https://www.gnu.org/licenses/>. |
| |
| Additional permission under GNU GPL version 3 section 7: |
| |
| If you modify this program, or any covered work, by linking or |
| combining it with the OpenSSL project's OpenSSL library (or a |
| modified version of that library), containing parts covered by the |
| terms of the OpenSSL or SSLeay licenses, the copyright holder(s) |
| grants you additional permission to convey the resulting work. |
| Corresponding Source for a non-source form of such a combination |
| shall include the source code for the parts of OpenSSL used as well |
| as that of the covered work. |