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