X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=README;h=364ef7e0fcee28ec22096ed2b3a919bfbddb8a6a;hp=d1c1776618e40265241af663d1836d4c6eafba8a;hb=4eee5af6011cc8cdefb66c9729952c7eff5c0b0b;hpb=351b08b58a6ce4bc6c2f680f9cdda029ffc4fc90 diff --git a/README b/README index d1c17766..364ef7e0 100644 --- a/README +++ b/README @@ -1,76 +1,107 @@ -public-inbox - shared mailboxes via git for public discussion -------------------------------------------------------------- +public-inbox - an "archives first" approach to mailing lists +------------------------------------------------------------ -public-inbox is an "archives first" approach to mailing lists. -It implements the sharing of an email inbox to complement or replace -traditional mailing lists. public-inbox is primarily intended as a -Free, distributed public communications tool for users and developers of -Free and Open Source Software. public-inbox should be easy-to-deploy -and manage; encouraging software projects to run their own instances -with minimal overhead. +public-inbox implements the sharing of an email inbox via git to +complement or replace traditional mailing lists. Readers may +read via NNTP, IMAP, 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 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 mailing list without subscribing via SMTP and have easy access to -old messages. - -Traditional mailing lists use the "push" model. List servers deliver -content via SMTP to other mail servers used by readers of the mailing -list. For readers, this requires commitment to subscribe to the list -and extra 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 are also burdened with -occasional bounce messages. - -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 ssoma uses 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. - -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. - -[1] http://ssoma.public-inbox.org/README + +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, Atom feed or HTML archives. + +If a reader loses interest, they simply stop following. + +Since we use git, mirrors are easy-to-setup, and lists are +easy-to-relocate to different mail addresses without losing +or splitting archives. + +_Anybody_ may also setup 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 to the public address -* stores email in git, readers have a full archive of the mailing list -* Atom feed allows casual readers to follow via feed reader -* Mail user-agent (MUA) users may use Maildir, mbox(5) and/or IMAP locally + +* anybody may participate via plain-text email + +* 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 -Requirements (Atom, read-only client) -------------------------------------- -* any feed reader capable of following Atom feeds +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, @@ -83,47 +114,41 @@ 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). -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://news.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 supported 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://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 @@ -131,8 +156,9 @@ aims to preserve the focus on content, and not presentation. Copyright --------- -Copyright 2013, Eric Wong and all contributors. -License: AGPLv3 or later + +Copyright 2013-2021 all contributors +License: AGPL-3.0+ 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 @@ -145,4 +171,15 @@ 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 . +along with this program. If not, see . + +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.