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