annotate ch01.roff @ 7:7497062adc82

style: Need a bit less space for a heading.
author markus schnalke <meillo@marmaro.de>
date Wed, 07 Mar 2012 16:03:36 +0100
parents f3425905d7d1
children 3ef5449c1175
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
1 .H0 "Introduction
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
2 .P
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
3 This chapter describes the background of the topics in this thesis.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
4 General knowledge of electronic mail is assumed.
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
5
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
6 .H1 "What is MH?
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
7 .P
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
8 MH is an electronic mail system, originating in the RAND Corporation.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
9 Historically, it had been a all-in-one mail system, with Mail Transfer
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
10 Agent (MTA) and Mail User Agent (MUA).
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
11 Later, when electronic mail systems changed, Mail Submission Agent (MSA)
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
12 and Mail Retrieval Agent (MRA) facilities were added.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
13 The MTA became less important, whereas the MUA became even more the
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
14 central part.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
15 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
16 First of all, MH is a style of a mail handling system.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
17 It had started as a design proposal, not as an implementation, and
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
18 had in spirit remained so. This is similar to Unix, which much less
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
19 is a specific software product, as it is a style of system design.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
20 MH is a toolchest of programs, modelled after the Unix toolchest,
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
21 and it is a specific mail storage format, like Unix has its file system
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
22 formats.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
23
3
f3425905d7d1 Some minor rework.
markus schnalke <meillo@marmaro.de>
parents: 2
diff changeset
24 .H2 "Concepts of MH" no
f3425905d7d1 Some minor rework.
markus schnalke <meillo@marmaro.de>
parents: 2
diff changeset
25 .P
f3425905d7d1 Some minor rework.
markus schnalke <meillo@marmaro.de>
parents: 2
diff changeset
26 FIXME
f3425905d7d1 Some minor rework.
markus schnalke <meillo@marmaro.de>
parents: 2
diff changeset
27
f3425905d7d1 Some minor rework.
markus schnalke <meillo@marmaro.de>
parents: 2
diff changeset
28 .H2 "History of MH" no
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
29 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
30 MH is an electronic mail system, originating in the RAND Corporation.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
31 In 1977, Norman Shapiro and Stockton Gaines had proposed the design
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
32 of a new mail handling system, called ``Mail Handler'' (MH) for RAND,
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
33 to superseed their ``Mail System'' (MS).
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
34 Two years later, in 1979, XXX took the proposal and implemented a
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
35 prototype of MH. It proved successful and replaced MS thereafter.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
36 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
37 A decade later, the University of California had started to use MH.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
38 They also took over its development and pushed MH forward.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
39 This had been the time when the Internet appeared, Berkeley implemented
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
40 the TCP stack, and Sendmail was born. MH had often contained the first
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
41 implementation of new RFCs.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
42 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
43 In the nineties, MH had been moved into the public domain, making it
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
44 attractive to Free Software developers. The Internet had started to become
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
45 mainstream and in 1997, Richard Coleman initiated the ``New Mail Handler''
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
46 (nmh), a fork of MH. He intended to modernize MH, improve its MIME
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
47 capabilities, and this should be done openly within the Internet
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
48 community. Today, nmh almost completely replaced the original MH.
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
49
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
50 .H1 "How the Fun Began
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
51 .P
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
52 I have discovered nmh in XXX. I used to use mutt, like many
3
f3425905d7d1 Some minor rework.
markus schnalke <meillo@marmaro.de>
parents: 2
diff changeset
53 command line-attracted Unix users. Nmh had convinced me conceptually
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
54 at once. Unfortunately, setting it up to a convenient state became a
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
55 tendious task. Learning its different model of email handling had,
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
56 in contrast, been relatively easy. Learning to use MH if you are used
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
57 to monolithic mail clients is like learning vi if you are used to
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
58 modeless editors.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
59 Once having nmh set up, using it was joy because of its conceptional
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
60 elegance and scripting capabilities, but on the other hand it was
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
61 inconvenient in handling attachments, non-ASCII character encodings,
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
62 and similar stuff. I found it wrong to require more and more scripts
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
63 and configuration to have it act the expected way. In being a
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
64 software developer, I wanted to improve the situation.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
65 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
66 In Spring 2010, I asked on the nmh-workers mailing list for the
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
67 possibility to have a Google Summer of Code project on nmh. Being a
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
68 student, this appeared attractive to me. Eventually, it had not been
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
69 possible, but the nmh community started to move. In these months
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
70 nmh's future was discussed and I became part of a ``Does nmh need an
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
71 MTA'' discussion. There, my opinion differed from the opinion of
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
72 most others.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
73 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
74 As it hadn't been possible to work on nmh in a way that would be
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
75 accepted as part of my official studies, I needed to get my credit
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
76 points in some other way. But half a year later I was back. Starting
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
77 in Summer 2010, I took one semester off to travel through Latin America.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
78 Within this time, I needed to do practical computer work for three
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
79 months. Richard Sandelman, an active nmh user, made it possible for
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
80 me to work on nmh during this time. Juan Granda, from Santiago del
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
81 Estero in Argentina, provided a computer and Internet connection.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
82 Within these three month, I became familiar with nmh's code base and
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
83 its community. I learned how things work. Quickly it was obvious that
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
84 I wouldn't succeed to improve on the non-ASCII character encoding
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
85 problems, as this is one of the most intricate parts of the system.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
86 Instead I improved code as I read through it. I found minor bugs in
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
87 the code and could improve the documentation. When I started with
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
88 larger code changes, I had to discover that the community's wish for
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
89 compatibility was stronger than its wish for convenient
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
90 out-of-the-box setups. This lead to long discussions, again. Finally,
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
91 I understand their point of view, but it's not mine.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
92 At the end of my three-month project, I had became familiar with
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
93 nmh's code base and community, I had improved both a bit, and I still
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
94 was convinced that I wanted to go on with it.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
95 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
96 Another half a year later, I needed a topic for my master's thesis.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
97 Now it was clear: I wanted to work on nmh. No, not exactly nmh,
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
98 because I had accepted that the nmh community has different goals
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
99 than I have. The won't be much progress if generally different opinions
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
100 lead to long discussions. After careful thought, I had decided to
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
101 start an experimental version of nmh. I wanted to go my way and see
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
102 where it would lead to. Time would tell if it would prove successful.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
103 Nmh would hardly be hurt by my work, but could profit from my
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
104 experiences later.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
105 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
106 When I started to work on mmh, my experimental version, in Fall 2011,
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
107 activity in nmh rose suddenly. While I was working on mmh, XXX were
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
108 working on nmh. After long years of idleing, nmh was actively
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
109 developed again. That was a good sign. My own work went in parallel
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
110 and unrelated. Today, my experimental version became de facto a fork.
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
111 The mail storage, however, is still compatible.