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