Mercurial > docs > master
comparison ch01.roff @ 27:b687d151eed3
Reorganized the content in the Intro and added placeholders for missing parts.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Tue, 08 May 2012 18:37:12 +0200 |
parents | 9a313c929a2a |
children | 6c63083b4c19 |
comparison
equal
deleted
inserted
replaced
26:fc94b960793e | 27:b687d151eed3 |
---|---|
5 It explains the situation at the start of the project. | 5 It explains the situation at the start of the project. |
6 It tries to describe from what state the project lifted of and where | 6 It tries to describe from what state the project lifted of and where |
7 it headed to. This shall give an overview. | 7 it headed to. This shall give an overview. |
8 | 8 |
9 | 9 |
10 .H1 "Email Prerequisites | |
11 .P | |
12 XXX Do we really need that? | |
13 | |
14 | |
10 .H1 "What is MH? | 15 .H1 "What is MH? |
11 .P | 16 .P |
12 MH is an electronic mail system, originating in the RAND Corporation. | 17 MH is an electronic mail system, originating in the RAND Corporation. |
13 Historically, it had been a all-in-one mail system, with Mail Transfer | 18 Historically, it had been a all-in-one mail system, with both Mail Transfer |
14 Agent (MTA) and Mail User Agent (MUA). | 19 Agent (MTA) and Mail User Agent (MUA). |
15 Later, when electronic mail systems changed, Mail Submission Agent (MSA) | 20 Later, when email setups changed, Mail Submission Agent (MSA) |
16 and Mail Retrieval Agent (MRA) facilities were added. | 21 and Mail Retrieval Agent (MRA) facilities were added. |
17 The MTA became less important, whereas the MUA became even more the | 22 The MTA became less important, whereas the MUA became even more the |
18 central part. | 23 central part. |
19 .P | 24 .P |
20 First of all, MH is a style of a mail handling system. | 25 MH defines a mail handling concept. |
21 It had started as a design proposal, not as an implementation, and | 26 It had started as a design proposal, not as an implementation, and |
22 had in spirit remained so. This is similar to Unix, which much less | 27 in spirit had remained this way. This is similar to Unix, which |
23 is a specific software product, as it is a style of system design. | 28 rather is a style of system design than specific software product. |
29 .P | |
30 XXX Link to the Unix phil. | |
31 .P | |
32 XXX comparision to monolithic mail systems. | |
33 .P | |
34 XXX Differenciation of MUA and mail system. | |
24 | 35 |
25 .U2 "History | 36 .U2 "History |
26 .P | 37 .P |
27 MH is an electronic mail system, originating in the RAND Corporation. | 38 MH is an electronic mail system, originating in the RAND Corporation. |
28 In 1977, Norman Shapiro and Stockton Gaines had proposed the design | 39 In 1977, Norman Shapiro and Stockton Gaines had proposed the design |
29 of a new mail handling system, called ``Mail Handler'' (MH) for RAND, | 40 of a new mail handling system, called ``Mail Handler'' (MH) for RAND, |
30 to superseed their ``Mail System'' (MS). | 41 to superseed their ``Mail System'' (MS). |
31 Two years later, in 1979, XXX took the proposal and implemented a | 42 Two years later, in 1979, Bruce Borden took the proposal and implemented a |
32 prototype of MH. It proved successful and replaced MS thereafter. | 43 prototype of MH. It proved successful and replaced MS thereafter. |
33 .P | 44 .P |
34 A decade later, the University of California had started to use MH. | 45 A decade later, the University of California had started to use MH. |
35 They also took over its development and pushed MH forward. | 46 They also took over its development and pushed MH forward. |
36 This had been the time when the Internet appeared, Berkeley implemented | 47 This had been the time when the Internet appeared, Berkeley implemented |
41 attractive to Free Software developers. The Internet had started to become | 52 attractive to Free Software developers. The Internet had started to become |
42 mainstream and in 1997, Richard Coleman initiated the ``New Mail Handler'' | 53 mainstream and in 1997, Richard Coleman initiated the ``New Mail Handler'' |
43 (nmh), a fork of MH. He intended to modernize MH, improve its MIME | 54 (nmh), a fork of MH. He intended to modernize MH, improve its MIME |
44 capabilities, and this should be done openly within the Internet | 55 capabilities, and this should be done openly within the Internet |
45 community. Today, nmh almost completely replaced the original MH. | 56 community. Today, nmh almost completely replaced the original MH. |
46 .P | |
47 Three versions of MH are available: | |
48 .BU | |
49 .B "Old MH" . | |
50 In most cases it has been replaced by nmh, but some systems still | |
51 provide old MH. As nmh is old MH-compatible, there exist few reasons | |
52 not to upgrade to new. | |
53 The development of old MH stopped almost completely. | |
54 .BU | |
55 .B Nmh . | |
56 The most widespread version of MH. Backward-compatible to old MH. | |
57 Provides new featues, which need to be activated explicitely. | |
58 Its development went slowly in the previous years, but had revived | |
59 in Fall 2011. | |
60 .BU | |
61 .B Mmh | |
62 A descendent of nmh. Had started as a non-compatible experimental | |
63 version, but became de facto a fork. Tries to expand the same | |
64 principle concepts in a more modern way. This version of MH is the | |
65 subject of this thesis. | |
66 | 57 |
67 .U2 "Concepts | 58 .U2 "Concepts |
68 .P | 59 .P |
69 MH is a toolchest, modelled after the Unix toolchest. It consists of a | 60 MH is a toolchest, modelled after the Unix toolchest. It consists of a |
70 bunch of tools, each covering one task of email handling. These programs | 61 bunch of tools, each covering one task of email handling. These programs |
85 adjustable with format files. | 76 adjustable with format files. |
86 .P | 77 .P |
87 MH allows the user to automate almost everything and to modify amost | 78 MH allows the user to automate almost everything and to modify amost |
88 any behavior. The system is scriptable and extendable. | 79 any behavior. The system is scriptable and extendable. |
89 | 80 |
90 | 81 .U2 "Available Versions |
91 .H1 "Understanding of the Code and Community | 82 .P |
83 Three versions of MH are available today: | |
84 .BU | |
85 .I "Original MH" . | |
86 In most cases it has been replaced by nmh, but some systems still | |
87 provide old MH. As nmh is old MH-compatible, there exist few reasons | |
88 not to upgrade to new. | |
89 The development of old MH has stopped after the 6.8.4 release in | |
90 February 1996. | |
91 .BU | |
92 .I nmh . | |
93 The most widespread version of MH was forked off version 6.8.3 in December | |
94 1996. It incorporated the \fILBL changes\fP. | |
95 It provides backward-compatible to old MH by having new featues deactivated | |
96 by default. To use them, the user needs to activate them explicitely. | |
97 Its development went slowly in the previous years, but had revived | |
98 in December 2011. | |
99 .BU | |
100 .I mmh . | |
101 This version is the subject of this thesis. | |
102 It is a descendent of nmh. It had started as a non-compatible experimental | |
103 version, but became de facto a fork. It tries to expand the same | |
104 principle concepts in a more modern way. | |
105 | |
106 .U2 "Example Session | |
107 .P | |
108 Example mail handling session with mmh, but mostly compatible with nmh | |
109 and old MH. The look'n'feel is common among them. | |
110 | |
111 | |
112 .H1 "Understanding the Code and Community | |
92 .P | 113 .P |
93 In order to understand the state, goals and dynamics of a project, | 114 In order to understand the state, goals and dynamics of a project, |
94 one needs to know its history. MH comes from a time before the | 115 one needs to know its history. MH comes from a time before the |
95 Internet, a time before networking became universal, a time when | 116 Internet, a time before networking became universal, a time when |
96 emailing was small, short and simple. Then it grew, spread and | 117 emailing was small, short and simple. Then it grew, spread and |
133 usually want to have it practical for modern emailing. | 154 usually want to have it practical for modern emailing. |
134 But of course, this depends on if nmh is seen to be a front-end or a | 155 But of course, this depends on if nmh is seen to be a front-end or a |
135 back-end. | 156 back-end. |
136 | 157 |
137 | 158 |
138 .H1 "My Vision | 159 .H1 "mmh |
139 .P | 160 |
140 The general goals of the mmh project are the following: | 161 .U2 "Motivation |
141 .BU | 162 .P |
142 I believe that mmh should be perfectly suited for modern emailing, | 163 XXX |
143 out-of-the-box. | 164 |
144 .BU | 165 .U2 "Why it is worth it |
145 I care less about compatibility and more about conceptionally elegant | 166 .P |
146 approaches. | 167 XXX |
147 .BU | 168 |
148 I care for general, clear, and simple concepts. | 169 .U2 "Target Field |
149 .BU | 170 .P |
150 I like to create an of-one-style email system. It should feel like | 171 XXX Target field and scenarios |
151 cast as one. | 172 .P |
152 .BU | 173 The target user in mind likes Unix and its philosophy. |
153 I plan to remove any optimizations that rises obscurity, unless it | |
154 appears to be neccessary to make mmh usable at all. | |
155 .P | |
156 .B "The target user in mind | |
157 likes Unix and its philosophy. | |
158 He likes to use programs that are conceptionally appealing. | 174 He likes to use programs that are conceptionally appealing. |
159 He's familiar with the command line and enjoys its power. | 175 He's familiar with the command line and enjoys its power. |
160 He is at least capable of shell scripting and wants to improve his | 176 He is at least capable of shell scripting and wants to improve his |
161 productivity by scripting the mail system. | 177 productivity by scripting the mail system. |
162 His computer and operating system are from post-ANSI C times. | 178 His computer and operating system are from post-ANSI C times. |
166 drops, nor does he rely on compatibility to nmh. | 182 drops, nor does he rely on compatibility to nmh. |
167 He already has and MTA/MSA and MRA running or is able to set them | 183 He already has and MTA/MSA and MRA running or is able to set them |
168 up. | 184 up. |
169 He does not want to have to read a book in order to make his MUA | 185 He does not want to have to read a book in order to make his MUA |
170 usable. | 186 usable. |
171 | 187 .P |
172 | 188 XXX Limitations |
173 .H1 "Things to do | 189 |
174 .BU | 190 .U2 "The Vision |
175 Remove any MTA and MRA facilities. Mmh shall concentrate on the MUA | 191 .P |
192 The general goals of the mmh project are the following: | |
193 .BU | |
194 I believe that mmh should be perfectly suited for modern emailing, | |
195 out-of-the-box. | |
196 .BU | |
197 I care less about compatibility and more about conceptionally elegant | |
198 approaches. | |
199 .BU | |
200 I care for general, clear, and simple concepts. | |
201 .BU | |
202 I like to create an of-one-style email system. It should feel like | |
203 cast as one. | |
204 .BU | |
205 I plan to remove any optimizations that rises obscurity, unless it | |
206 appears to be neccessary to make mmh usable at all. | |
207 | |
208 .U2 "Work to do | |
209 .BU | |
210 Remove the MTA and MRA facilities. Mmh shall concentrate on the MUA | |
176 task. Mail shall enter mmh's mail storage via the system mail drop | 211 task. Mail shall enter mmh's mail storage via the system mail drop |
177 and it shall leave mmh via the local \fLsendmail\fP command. | 212 and it shall leave mmh via the local \fLsendmail\fP command. |
178 .BU | 213 .BU |
179 Remove any further functions that are not related to mmh's main task. | 214 Remove any further functions that are not related to mmh's main task. |
180 Bulletin board support is on example. Also remove support for ancient | 215 Bulletin board support is on example. Also remove support for ancient |
193 .BU | 228 .BU |
194 Merge \fLshow\fP and \fLmhshow\fP into one single mail display program. | 229 Merge \fLshow\fP and \fLmhshow\fP into one single mail display program. |
195 Integrate MIME support deeper and more natural into MH. | 230 Integrate MIME support deeper and more natural into MH. |
196 .BU | 231 .BU |
197 Provide a ready-to-use setup out-of-the-box. | 232 Provide a ready-to-use setup out-of-the-box. |
233 | |
234 | |
235 .H1 "Goals of this Thesis | |
236 | |
237 .U2 "Methods | |
238 .P | |
239 foo |