]> Sergey Matveev's repositories - public-inbox.git/blob - README
doc: fold philosophy into the README
[public-inbox.git] / README
1 public-inbox - an "archives first" approach to mailing lists
2 ------------------------------------------------------------
3
4 public-inbox implements the sharing of an email inbox via git to
5 complement or replace traditional mailing lists.
6
7 public-inbox spawned around three main ideas:
8
9 * Publically accessible and archived communication is essential to
10   Free and Open Source development.
11
12 * Contributing to Free and Open Source projects should not require the
13   use of non-Free/non-Open Source services or software.
14
15 * Graphical user interfaces should not be required for text-based
16   communication.
17
18 public-inbox aims to be easy-to-deploy and manage; encouraging projects
19 to run their own instances with minimal overhead.
20
21 Features
22 --------
23
24 * anybody may participate via plain-text email
25 * stores email in git, readers have a complete archive of the inbox
26 * Atom feed allows casual readers to follow via feed reader
27 * Mail user-agent (MUA) users may use Maildir, mbox(5) and/or IMAP locally
28 * uses only well-documented and easy-to-implement data formats
29
30
31 Implementation
32 --------------
33
34 public-inbox uses ssoma[1], Some Sort Of Mail Archiver which implements
35 no policy of its own.  By exposing an inbox via git, readers may follow
36 the inbox without subscribing via SMTP and have easy access to old
37 messages.
38
39 Traditional mailing lists use the "push" model.  For readers, this
40 requires commitment to subscribe and effort to unsubscribe.  New readers
41 may also have difficulty following existing discussions if archives do
42 not expose Message-ID headers for responses.  List server admins may be
43 burdened with delivery failures.
44
45 public-inbox uses the "pull" model.  Readers import mail into an mbox,
46 Maildir, or IMAP folder from git repositories periodically.  If a reader
47 loses interest, they simply stop syncing.  Since we use git, mirrors are
48 easy-to-setup, and lists are easy-to-relocate to different mail
49 addresses without losing/splitting archives.  Dedicated readers only
50 need to install ssoma, a command-line tool[1] currently implemented in
51 Perl.
52
53 Casual readers may also follow the list via Atom feed or web archives.
54
55 _Anybody_ may also setup a delivery-only mailing list server to replay
56 a public-inbox git archive to subscribers via SMTP.
57
58 [1] http://ssoma.public-inbox.org/README
59
60 Requirements (Atom, read-only client)
61 -------------------------------------
62 * any feed reader capable of following Atom feeds
63
64 Any basic web browser will do for the HTML archives.
65
66 Requirements (participant)
67 --------------------------
68 * ssoma - http://ssoma.public-inbox.org/INSTALL
69 * any MUA which may send text-only emails ("git send-email" works!)
70 * participants do not need to install public-inbox, only server admins
71
72 Requirements (server)
73 ---------------------
74 See INSTALL
75
76 Hacking
77 -------
78 Source code is available via git:
79
80         git clone git://bogomips.org/public-inbox
81
82 See below for contact info.
83
84 Contact
85 -------
86 We are happy to see feedback of all types via plain-text email.
87 public-inbox discussion is self-hosting on public-inbox.org
88 Please send comments, user/developer discussion, patches, bug reports,
89 and pull requests to our public-inbox address at:
90
91         meta@public-inbox.org
92
93 Please Cc: all recipients when replying as we do not require
94 subscription.  This also makes it easier to rope in folks of
95 tangentially related projects we depend on (e.g. git developers
96 on git@vger.kernel.org).
97
98 You can subscribe via ssoma(1), LISTNAME is a name of your choosing:
99
100     URL=git://git.public-inbox.org/public-inbox
101     LISTNAME=public-inbox
102
103     # to initialize a maildir (this may be a new or existing maildir,
104     # ssoma will not touch existing messages)
105     # If you prefer mbox, use "ssoma add mbox ..." instead
106     ssoma add $LISTNAME $URL maildir:/path/to/maildir/
107
108     # read with your favorite MUA (only using mutt as an example)
109     mutt -f /path/to/maildir # (or /path/to/mbox)
110
111     # to keep your mbox or maildir up-to-date, periodically run the following:
112     ssoma sync $LISTNAME
113
114     # your MUA may modify and delete messages from the maildir or mbox,
115     # this does not affect ssoma functionality at all
116
117     # to sync all your ssoma subscriptions
118     ssoma sync
119
120 Anti-Spam
121 ---------
122 The maintainer of public-inbox has found SpamAssassin a good tool for
123 filtering his personal mail, and it will be the default spam filtering
124 tool in public-inbox.
125
126 Readers may also use a custom mail-delivery-agent for delivery to enable
127 spam filtering by having ssoma deliver to a command via pipe.
128
129 There is unlikely to be any tool which is 100% accurate at classifying
130 spam, so it is possible to remove messages using the ssoma-rm(1) tool
131 in ssoma.
132
133 Content Filtering
134 -----------------
135 To discourage phishing, web bugs (tracking), viruses and other nuisances,
136 only plain-text content is allowed and non-text content is stripped.
137 This saves I/O bandwidth and storage, which is important as
138 entire mail archives are shared between clients.
139
140 As of the 2010s, successful online social networks and forums are the
141 ones which heavily restrict users formatting options; so public-inbox
142 aims to preserve the focus on content, and not presentation.
143
144 Copyright
145 ---------
146 Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.
147 License: AGPLv3 or later <http://www.gnu.org/licenses/agpl-3.0.txt>
148
149 This program is free software: you can redistribute it and/or modify
150 it under the terms of the GNU Affero General Public License as published by
151 the Free Software Foundation, either version 3 of the License, or
152 (at your option) any later version.
153
154 This program is distributed in the hope that it will be useful,
155 but WITHOUT ANY WARRANTY; without even the implied warranty of
156 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
157 GNU Affero General Public License for more details.
158
159 You should have received a copy of the GNU Affero General Public License
160 along with this program.  If not, see <http://www.gnu.org/licenses/>.