------------------------------------------------------------
public-inbox implements the sharing of an email inbox via git to
-complement or replace traditional mailing lists.
+complement or replace traditional mailing lists. Readers may
+read via NNTP, IMAP, Atom feeds or HTML archives.
public-inbox spawned around three main ideas:
-* Publically accessible and archived communication is essential to
- Free and Open Source development.
+* Publicly accessible and archived communication is essential to
+ Free Software development.
-* Contributing to Free and Open Source projects should not require the
- use of non-Free/non-Open Source services or software.
+* 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.
+ 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.
-Features
---------
+Implementation
+--------------
-* anybody may participate via plain-text email
-* stores email in git, readers have a complete archive of the inbox
-* Atom feed allows casual readers to follow via feed reader
-* Mail user-agent (MUA) users may use Maildir, mbox(5) and/or IMAP locally
-* uses only well-documented and easy-to-implement data formats
+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.
-Implementation
---------------
+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 ssoma[1], Some Sort Of Mail Archiver which implements
-no policy of its own. By exposing an inbox via git, readers may follow
-the inbox without subscribing via SMTP and have easy access to old
-messages.
+public-inbox uses the "pull" model. Casual readers may
+follow the list via NNTP, IMAP, Atom feed or HTML archives.
-Traditional mailing lists use the "push" model. For readers, this
-requires commitment to subscribe and effort to unsubscribe. New readers
-may also have difficulty following existing discussions if archives do
-not expose Message-ID headers for responses. List server admins may be
-burdened with delivery failures.
+If a reader loses interest, they simply stop following.
-public-inbox uses the "pull" model. Readers import mail into an mbox,
-Maildir, or IMAP folder from git repositories periodically. If a reader
-loses interest, they simply stop syncing. Since we use git, mirrors are
-easy-to-setup, and lists are easy-to-relocate to different mail
-addresses without losing/splitting archives. Dedicated readers only
-need to install ssoma, a command-line tool[1] currently implemented in
-Perl.
+Since we use git, mirrors are easy-to-setup, and lists are
+easy-to-relocate to different mail addresses without losing
+or splitting archives.
-Casual readers may also follow the list via Atom feed or web archives.
+_Anybody_ may also setup a delivery-only mailing list server to
+replay a public-inbox git archive to subscribers via SMTP.
-_Anybody_ may also setup a delivery-only mailing list server to replay
-a public-inbox git archive to subscribers via SMTP.
+Features
+--------
-[1] http://ssoma.public-inbox.org/README
+* anybody may participate via plain-text email
-Requirements (Atom, read-only client)
--------------------------------------
-* any feed reader capable of following Atom feeds
+* stores email in git, readers may have a complete archive of the inbox
+
+* Atom feed, IMAP, NNTP 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 or following Atom feeds
Any basic web browser will do for the HTML archives.
+We primarily develop on w3m to maximize accessibility.
Requirements (participant)
--------------------------
-* ssoma - http://ssoma.public-inbox.org/INSTALL
+
* 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 INSTALL
+
+See https://public-inbox.org/INSTALL
Hacking
-------
-Source code is available via git:
- git clone git://bogomips.org/public-inbox
+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,
tangentially related projects we depend on (e.g. git developers
on git@vger.kernel.org).
-You can subscribe via ssoma(1), LISTNAME is a name of your choosing:
+The archives are readable via IMAP, NNTP or HTTP:
- URL=git://git.public-inbox.org/public-inbox
- LISTNAME=public-inbox
+ 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/
- # to initialize a maildir (this may be a new or existing maildir,
- # ssoma will not touch existing messages)
- # If you prefer mbox, use "ssoma add mbox ..." instead
- ssoma add $LISTNAME $URL maildir:/path/to/maildir/
+AUTH=ANONYMOUS is recommended for IMAP, but any username + password works
- # read with your favorite MUA (only using mutt as an example)
- mutt -f /path/to/maildir # (or /path/to/mbox)
+And as Tor hidden services:
- # to keep your mbox or maildir up-to-date, periodically run the following:
- ssoma sync $LISTNAME
+ 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
- # your MUA may modify and delete messages from the maildir or mbox,
- # this does not affect ssoma functionality at all
+You may also clone all messages via git:
- # to sync all your ssoma subscriptions
- ssoma sync
+ git clone --mirror https://public-inbox.org/meta/
+ torsocks git clone --mirror http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/
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.
-Readers may also use a custom mail-delivery-agent for delivery to enable
-spam filtering by having ssoma deliver to a command via pipe.
-
-There is unlikely to be any tool which is 100% accurate at classifying
-spam, so it is possible to remove messages using the ssoma-rm(1) tool
-in ssoma.
+See https://public-inbox.org/dc-dlvr-spam-flow.html for more info.
Content Filtering
-----------------
-To discourage phishing, web bugs (tracking), viruses and other nuisances,
-only plain-text content is allowed and non-text content is stripped.
-This saves I/O bandwidth and storage, which is important as
-entire mail archives are shared between clients.
+
+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; so public-inbox
Copyright
---------
-Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.
-License: AGPLv3 or later <http://www.gnu.org/licenses/agpl-3.0.txt>
+
+Copyright 2013-2021 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
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 <http://www.gnu.org/licenses/>.
+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.