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