use flock instead of fcntl locking
[ssoma-mda.git] / README
1 ssoma - some sort of mail archiver
2 ----------------------------------
3
4 ssoma is a git-based mail archiver and transport.  Email is injected via
5 ssoma-mda(1) (MDA: mail delivery agent) on a server and may be shared
6 (via git) and extracted to mbox, Maildir, or IMAP via ssoma(1).  It
7 exists primarily as the mechanism for public-inbox.org, but may easily
8 be used for other projects.
9
10 See http://public-inbox.org/ for more information on how ssoma is used.
11
12 Features
13 --------
14 * stores email in git, so readers have a full history of the mailing list
15 * mail user-agent (MUA) users may choose from IMAP, mbox(5), and Maildir
16 * uses only well-documented and easy-to-implement data formats
17
18 Requirements (MUA client)
19 -------------------------
20 * git
21 * Perl and several modules:
22     - Email::LocalDelivery
23     - Email::Simple
24     - Net::IMAP::Simple
25     - Digest::SHA
26 * any MUA capable of reading/importing IMAP, mbox(5) or Maildir archives
27
28 Requirements (server MDA)
29 -------------------------
30 * git
31 * MTA - postfix is recommended
32 * Perl and several modules:
33     - Email::Simple
34     - Digest::SHA
35
36 Hacking
37 -------
38 Source code is available via git:
39
40         git clone git://bogomips.org/ssoma
41
42 See below for contact info.
43
44 Contact
45 -------
46 We are happy to see feedback of all types via plain-text email.
47 Please email comments, user/developer discussion, patches, bug reports,
48 and pull requests to our public ssoma instance at:
49
50     ssoma@public-inbox.org
51
52 Please Cc: all recipients when replying (this is not a requirement of
53 ssoma itself, but a good idea since we do not require subscription).
54 This also makes it easier to rope in folks of tangentially related
55 projects we depend on (e.g. git developers on git@vger.kernel.org).
56
57 You can subscribe via ssoma, LISTNAME is a name of your choosing:
58
59     URL=git://public-inbox.org/ssoma
60     LISTNAME=ssoma
61
62     # to initialize a maildir (this may be a new or existing maildir,
63     # ssoma will not touch existing messages)
64     # If you prefer mbox, use mbox:/path/to/mbox as the last argument
65     ssoma add $LISTNAME $URL maildir:/path/to/maildir
66
67     # read with your favorite MUA (only using mutt as an example)
68     mutt -f /path/to/maildir # (or /path/to/mbox)
69
70     # to keep your mbox or maildir up-to-date, periodically run the following:
71     ssoma sync $LISTNAME
72
73     # your MUA may modify and delete messages from the maildir or mbox,
74     # this does not affect ssoma functionality at all
75
76     # to sync all your ssoma subscriptions
77     ssoma sync
78
79 Mail repository format
80 ----------------------
81 If you are uncomfortable running code in ssoma for any reason and
82 would rather read directly from the git repository, the following
83 document describes it:
84
85     http://ssoma.public-inbox.org/ssoma_repository.txt
86
87 Copyright
88 ---------
89 Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.
90 License: AGPLv3 or later <http://www.gnu.org/licenses/agpl-3.0.txt>
91
92 This program is free software: you can redistribute it and/or modify
93 it under the terms of the GNU Affero General Public License as published by
94 the Free Software Foundation, either version 3 of the License, or
95 (at your option) any later version.
96
97 This program is distributed in the hope that it will be useful,
98 but WITHOUT ANY WARRANTY; without even the implied warranty of
99 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
100 GNU Affero General Public License for more details.
101
102 You should have received a copy of the GNU Affero General Public License
103 along with this program.  If not, see <http://www.gnu.org/licenses/>.