]> Sergey Matveev's repositories - public-inbox.git/blob - README
ds: improve add_timer usability
[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.  Readers may
6 read via NNTP, IMAP, Atom feeds or HTML archives.
7
8 public-inbox spawned around three main ideas:
9
10 * Publicly accessible and archived communication is essential to
11   Free Software development.
12
13 * Contributing to Free Software projects should not require the
14   use of non-Free services or software.
15
16 * Graphical user interfaces should not be required for text-based
17   communication.  Users may have broken graphics drivers, limited
18   eyesight, or be unable to afford modern hardware.
19
20 public-inbox aims to be easy-to-deploy and manage; encouraging projects
21 to run their own instances with minimal overhead.
22
23 Implementation
24 --------------
25
26 public-inbox stores mail in git repositories as documented
27 in https://public-inbox.org/public-inbox-v2-format.txt and
28 https://public-inbox.org/public-inbox-v1-format.txt
29
30 By storing (and optionally) exposing an inbox via git, it is
31 fast and efficient to host and mirror public-inboxes.
32
33 Traditional mailing lists use the "push" model.  For readers,
34 that requires commitment to subscribe and effort to unsubscribe.
35 New readers may also have difficulty following existing
36 discussions if archives do not expose Message-ID and References
37 headers.  List server admins are also burdened with delivery
38 failures.
39
40 public-inbox uses the "pull" model.  Casual readers may
41 follow the list via NNTP, IMAP, Atom feed or HTML archives.
42
43 If a reader loses interest, they simply stop following.
44
45 Since we use git, mirrors are easy-to-setup, and lists are
46 easy-to-relocate to different mail addresses without losing
47 or splitting archives.
48
49 _Anybody_ may also setup a delivery-only mailing list server to
50 replay a public-inbox git archive to subscribers via SMTP.
51
52 Features
53 --------
54
55 * anybody may participate via plain-text email
56
57 * stores email in git, readers may have a complete archive of the inbox
58
59 * Atom feed, IMAP, NNTP allows casual readers to follow via local tools
60
61 * uses only well-documented and easy-to-implement data formats
62
63 Try it out now, see https://try.public-inbox.org/
64
65 Requirements for reading:
66
67 * any software capable of IMAP, NNTP or following Atom feeds
68
69 Any basic web browser will do for the HTML archives.
70 We primarily develop on w3m to maximize accessibility.
71
72 Requirements (participant)
73 --------------------------
74
75 * any MUA which may send text-only emails ("git send-email" works!)
76   Users are strongly encouraged to use the "reply-all" feature of
77   their mailers to reduce the impact of a public-inbox as a
78   single point of failure.
79
80 * The HTTP web interface exposes mboxrd files, and NNTP clients often
81   feature reply-by-email functionality
82
83 * participants do not need to install public-inbox, only server admins
84
85 Requirements (server)
86 ---------------------
87
88 See https://public-inbox.org/INSTALL
89
90 Hacking
91 -------
92
93 AGPL source code is available via git:
94
95         git clone https://public-inbox.org/public-inbox.git
96         git clone https://repo.or.cz/public-inbox.git
97         torsocks git clone http://ou63pmih66umazou.onion/public-inbox.git
98         torsocks git clone http://hjrcffqmbrq6wope.onion/public-inbox
99
100 See below for contact info.
101
102 Contact
103 -------
104
105 We are happy to see feedback of all types via plain-text email.
106 public-inbox discussion is self-hosting on public-inbox.org
107 Please send comments, user/developer discussion, patches, bug reports,
108 and pull requests to our public-inbox address at:
109
110         meta@public-inbox.org
111
112 Please Cc: all recipients when replying as we do not require
113 subscription.  This also makes it easier to rope in folks of
114 tangentially related projects we depend on (e.g. git developers
115 on git@vger.kernel.org).
116
117 The archives are readable via IMAP, NNTP or HTTP:
118
119         nntps://news.public-inbox.org/inbox.comp.mail.public-inbox.meta
120         imaps://news.public-inbox.org/inbox.comp.mail.public-inbox.meta.0
121         https://public-inbox.org/meta/
122
123 AUTH=ANONYMOUS is supported for IMAP, but any username + password works
124
125 And as Tor hidden services:
126
127         http://hjrcffqmbrq6wope.onion/meta/
128         nntp://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta
129         imap://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta.0
130
131 You may also clone all messages via git:
132
133         git clone --mirror https://public-inbox.org/meta/
134         torsocks git clone --mirror http://hjrcffqmbrq6wope.onion/meta/
135
136 Anti-Spam
137 ---------
138
139 The maintainer of public-inbox has found SpamAssassin a good tool for
140 filtering his personal mail, and it will be the default spam filtering
141 tool in public-inbox.
142
143 See https://public-inbox.org/dc-dlvr-spam-flow.html for more info.
144
145 Content Filtering
146 -----------------
147
148 To discourage phishing, trackers, exploits and other nuisances,
149 only plain-text emails are allowed and HTML is rejected by default.
150 This improves accessibility, and saves bandwidth and storage
151 as mail is archived forever.
152
153 As of the 2010s, successful online social networks and forums are the
154 ones which heavily restrict users formatting options; so public-inbox
155 aims to preserve the focus on content, and not presentation.
156
157 Copyright
158 ---------
159
160 Copyright 2013-2021 all contributors <meta@public-inbox.org>
161 License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
162
163 This program is free software: you can redistribute it and/or modify
164 it under the terms of the GNU Affero General Public License as published by
165 the Free Software Foundation, either version 3 of the License, or
166 (at your option) any later version.
167
168 This program is distributed in the hope that it will be useful,
169 but WITHOUT ANY WARRANTY; without even the implied warranty of
170 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
171 GNU Affero General Public License for more details.
172
173 You should have received a copy of the GNU Affero General Public License
174 along with this program.  If not, see <https://www.gnu.org/licenses/>.
175
176 Additional permission under GNU GPL version 3 section 7:
177
178     If you modify this program, or any covered work, by linking or
179     combining it with the OpenSSL project's OpenSSL library (or a
180     modified version of that library), containing parts covered by the
181     terms of the OpenSSL or SSLeay licenses, the copyright holder(s)
182     grants you additional permission to convey the resulting work.
183     Corresponding Source for a non-source form of such a combination
184     shall include the source code for the parts of OpenSSL used as well
185     as that of the covered work.