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