about summary refs log tree commit homepage
path: root/README
blob: d5ff11824b3a7e857bf5502e45cfedbb17b08fae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
public-inbox - an "archives first" approach to mailing lists
------------------------------------------------------------
public-inbox implements the sharing of an email inbox via git to
complement or replace traditional mailing lists.  Readers may
subscribe to a mailing list using ssoma[1] (a git-wrapper) to
import email from a git repository into an IMAP folder, Maildir,
or mbox.  Readers may also read via Atom feeds and HTML archives.

public-inbox spawned around three main ideas:

* Publically accessible and archived communication is essential to
  Free and Open Source development.
* Contributing to Free and Open Source projects should not require the
  use of non-Free/non-Open Source services or software.
* Graphical user interfaces should not be required for text-based
  communication.

public-inbox aims to be easy-to-deploy and manage; encouraging projects
to run their own instances with minimal overhead.

Implementation
--------------
public-inbox uses ssoma[1], Some Sort Of Mail Archiver which implements
no policy of its own.  By exposing an inbox via git, readers may follow
the inbox without subscribing via SMTP and have easy access to old
messages.

Traditional mailing lists use the "push" model.  For readers, this
requires commitment to subscribe and effort to unsubscribe.  New readers
may also have difficulty following existing discussions if archives do
not expose Message-ID headers for responses.  List server admins may be
burdened with delivery failures.

public-inbox uses the "pull" model.  Readers import mail into an mbox,
Maildir, or IMAP folder from git repositories periodically.  If a reader
loses interest, they simply stop syncing.  Since we use git, mirrors are
easy-to-setup, and lists are easy-to-relocate to different mail
addresses without losing/splitting archives.  Dedicated readers only
need to install ssoma, a command-line tool[1] currently implemented in
Perl.

Casual readers may also follow the list via Atom feed or web archives.

_Anybody_ may also setup a delivery-only mailing list server to replay
a public-inbox git archive to subscribers via SMTP.

[1] http://ssoma.public-inbox.org/

Features
--------
* anybody may participate via plain-text email
* stores email in git, readers have a complete archive of the inbox
* Atom feed allows casual readers to follow via feed reader
* Mail user-agent (MUA) users may use Maildir, mbox(5) and/or IMAP locally
* uses only well-documented and easy-to-implement data formats

Try it out now, see http://try.public-inbox.org/

Requirements (Atom, read-only client)
-------------------------------------
* any feed reader capable of following Atom feeds

Any basic web browser will do for the HTML archives.

Requirements (participant)
--------------------------
* ssoma - http://ssoma.public-inbox.org/
* any MUA which may send text-only emails ("git send-email" works!)
* participants do not need to install public-inbox, only server admins

Requirements (server)
---------------------
See http://public-inbox.org/INSTALL

Hacking
-------
Source code is available via git:

	git clone git://80x24.org/public-inbox

See below for contact info.

Contact
-------
We are happy to see feedback of all types via plain-text email.
public-inbox discussion is self-hosting on public-inbox.org
Please send comments, user/developer discussion, patches, bug reports,
and pull requests to our public-inbox address at:

	meta@public-inbox.org

Please Cc: all recipients when replying as we do not require
subscription.  This also makes it easier to rope in folks of
tangentially related projects we depend on (e.g. git developers
on git@vger.kernel.org).

You may subscribe via ssoma(1), LISTNAME is a name of your choosing:

    URL=git://public-inbox.org/meta
    LISTNAME=public-inbox

    # to initialize a maildir (this may be a new or existing maildir,
    # ssoma will not touch existing messages)
    # If you prefer mbox, use "ssoma add mbox ..." instead
    ssoma add $LISTNAME $URL maildir:/path/to/maildir/

    # read with your favorite MUA (only using mutt as an example)
    mutt -f /path/to/maildir # (or /path/to/mbox)

    # to keep your mbox or maildir up-to-date, periodically run the following:
    ssoma sync $LISTNAME

    # your MUA may modify and delete messages from the maildir or mbox,
    # this does not affect ssoma functionality at all

    # to sync all your ssoma subscriptions via cronjob
    ssoma sync --cron

HTML inbox archives are available: http://public-inbox.org/meta/

Anti-Spam
---------
The maintainer of public-inbox has found SpamAssassin a good tool for
filtering his personal mail, and it will be the default spam filtering
tool in public-inbox.

Readers may also use a custom mail-delivery-agent for delivery to enable
spam filtering by having ssoma deliver to a command via pipe.

There is unlikely to be any tool which is 100% accurate at classifying
spam, so it is possible to remove messages using the ssoma-rm(1) tool
in ssoma.

Content Filtering
-----------------
To discourage phishing, web bugs (tracking), viruses and other nuisances,
only plain-text content is allowed and non-text content is stripped.
This saves I/O bandwidth and storage, which is important as
entire mail archives are shared between clients.

As of the 2010s, successful online social networks and forums are the
ones which heavily restrict users formatting options; so public-inbox
aims to preserve the focus on content, and not presentation.

Copyright
---------
Copyright 2013-2015, all contributors <meta@public-inbox.org>
License: AGPLv3 or later <http://www.gnu.org/licenses/agpl-3.0.txt>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.