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