Mercurial > docs > master
annotate ch01.roff @ 2:65e4327aa9f8
Added some introduction text.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Wed, 07 Mar 2012 11:46:18 +0100 |
parents | dc2bfef4cda7 |
children | f3425905d7d1 |
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 |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
24 .H1 "History of MH |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
25 .P |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
26 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
|
27 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
|
28 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
|
29 to superseed their ``Mail System'' (MS). |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
30 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
|
31 prototype of MH. It proved successful and replaced MS thereafter. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
32 .P |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
33 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
|
34 They also took over its development and pushed MH forward. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
35 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
|
36 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
|
37 implementation of new RFCs. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
38 .P |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
39 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
|
40 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
|
41 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
|
42 (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
|
43 capabilities, and this should be done openly within the Internet |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
44 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
|
45 |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
46 .H1 "How the Fun Began |
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
47 .P |
2
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
48 I have discovered nmh in XXX. I used to use mutt, like many |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
49 command-line-attracted Unix users. Nmh had convinced me conceptually |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
50 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
|
51 tendious task. Learning its different model of email handling had, |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
52 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
|
53 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
|
54 modeless editors. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
55 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
|
56 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
|
57 inconvenient in handling attachments, non-ASCII character encodings, |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
58 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
|
59 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
|
60 software developer, I wanted to improve the situation. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
61 .P |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
62 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
|
63 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
|
64 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
|
65 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
|
66 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
|
67 MTA'' discussion. There, my opinion differed from the opinion of |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
68 most others. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
69 .P |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
70 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
|
71 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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 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
|
77 Estero in Argentina, provided a computer and Internet connection. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
78 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
|
79 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
|
80 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
|
81 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
|
82 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
|
83 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
|
84 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
|
85 compatibility was stronger than its wish for convenient |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
86 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
|
87 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
|
88 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
|
89 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
|
90 was convinced that I wanted to go on with it. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
91 .P |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
92 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
|
93 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
|
94 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
|
95 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
|
96 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
|
97 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
|
98 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
|
99 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
|
100 experiences later. |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
101 .P |
65e4327aa9f8
Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents:
0
diff
changeset
|
102 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
|
103 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
|
104 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
|
105 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
|
106 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
|
107 The mail storage, however, is still compatible. |