comparison preface.roff @ 23:1e4afeb34da7

Rework in the preface.
author markus schnalke <meillo@marmaro.de>
date Tue, 08 May 2012 17:23:02 +0200
parents 3ef5449c1175
children 9be9b47eb52d
comparison
equal deleted inserted replaced
22:99409e4546d2 23:1e4afeb34da7
1 .H0 "Preface" no 1 .H0 "Preface" no
2
3 .P
4 MH is a set of mail handling tools with a common concept, like
5 the Unix toolchest is a set of file handling tools with a common
6 concept. nmh is the currently most popular implementation of an
7 MH-like mail handling system.
8
2 9
3 .H1 "How the Fun Began" no 10 .H1 "How the Fun Began" no
4 .P 11 .P
5 I have discovered nmh in XXX. I used to use mutt, like many 12 I have discovered nmh in September 2009. At that time I used to use mutt,
6 command line-attracted Unix users. Nmh had convinced me conceptually 13 like many command line-attracted Unix users do.
7 at once. Unfortunately, setting it up to a convenient state became a 14 Conceptually nmh had convinced me at once and learning
8 tendious task. Learning its different model of email handling had, 15 its different model of email handling had been relatively easy.
9 in contrast, been relatively easy. Learning to use MH if you are used 16 The change was like
10 to monolithic mail clients is like learning vi if you are used to 17 managing files in the Unix shell when you are used to graphical file
11 modeless editors. 18 managers, or like learning vi when you are used to modeless editors.
12 Once having nmh set up, using it was joy because of its conceptional 19 The change was not trivial but as I was convinced by the concepts and
13 elegance and scripting capabilities, but on the other hand it was 20 already managed my files with shell tools and edited with vi, not to
21 difficult either.
22 In contrast, setting nmh up to a convenient state became a tendious task
23 that took several months.
24 .P
25 Once having nmh arranged as wished, using it was joy because of its
26 conceptional elegance and scripting capabilities.
27 On the other hand, however, it still was
14 inconvenient in handling attachments, non-ASCII character encodings, 28 inconvenient in handling attachments, non-ASCII character encodings,
15 and similar stuff. I found it wrong to require more and more scripts 29 and similar features of modern emailing.
16 and configuration to have it act the expected way. In being a 30 My setup required more and more scripts and additional configuration
17 software developer, I wanted to improve the situation. 31 to have nmh act the way I expected it to behave, where my
32 expectations were rather common to modern emailing than exceptionel.
33 In being a software developer, I wanted to improve the situation.
18 .P 34 .P
19 In Spring 2010, I asked on the nmh-workers mailing list for the 35 In Spring 2010, I asked on the nmh-workers mailing list for the
20 possibility to have a Google Summer of Code project on nmh. Being a 36 possibility to offer a Google Summer of Code project on nmh.
21 student, this appeared attractive to me. Eventually, it had not been 37 Participating in the development this way appeared attractive to me,
22 possible, but the nmh community started to move. In these months 38 especially as it would have been possible to have the project
23 nmh's future was discussed and I became part of a ``Does nmh need an 39 accepted at university. Although the nmh community
24 MTA'' discussion. There, my opinion differed from the opinion of 40 generally had been positive on the
25 most others. 41 suggestion, eventually it had not been possible to manage the
42 administrative work. Though my proposal had started the nmh community
43 to move. In the following weeks, goals for nmh's future were discussed
44 on the list. During the discussions, I became involved in the
45 question whether nmh should be an MTA. (Thread subject:
46 ``should nmh be an MTA or an MUA?''.)
47 In this point, my opinion differed from the opinion of most others
48 as I voted for the MTA facility of nmh to be removed.
26 .P 49 .P
27 As it hadn't been possible to work on nmh in a way that would be 50 Being not able to work on nmh in a way that would be
28 accepted as part of my official studies, I needed to get my credit 51 accepted as part of my official studies, I needed to get my credit
29 points in some other way. But half a year later I was back. Starting 52 points with some other project.
30 in Summer 2010, I took one semester off to travel through Latin America. 53 Half a year later, starting in August 2010,
31 Within this time, I needed to do practical computer work for three 54 I took one semester off to travel through Latin America.
32 months. Richard Sandelman, an active nmh user, made it possible for 55 Within this time, I had to do practical computer work for three
33 me to work on nmh during this time. Juan Granda, from Santiago del 56 months.
34 Estero in Argentina, provided a computer and Internet connection. 57 This brought me back to nmh.
35 Within these three month, I became familiar with nmh's code base and 58 Richard Sandelman, an active nmh user, made it possible for
36 its community. I learned how things work. Quickly it was obvious that 59 me to work on nmh. Juan Granda, living in Santiago del
37 I wouldn't succeed to improve on the non-ASCII character encoding 60 Estero in Argentina, provided a computer and Internet connection for
38 problems, as this is one of the most intricate parts of the system. 61 my work.
39 Instead I improved code as I read through it. I found minor bugs in 62 Within the three month, I became familiar with nmh's code base and
40 the code and could improve the documentation. When I started with 63 its community. I learned how things work. Quickly it became obvious that
64 I wouldn't succeed with my main goal, to improve the character
65 encoding handling within the project. One obvious problem is the missing
66 transfer decoding of the quoted text in replies.
67 As this is one of the most intricate parts of the system, the goal
68 was simply too difficult to reach.
69 Instead I improved the code as I read through it. I found minor bugs
70 for which I proposed fixes to the community. Also I
71 could improve the documentation. When I started with
41 larger code changes, I had to discover that the community's wish for 72 larger code changes, I had to discover that the community's wish for
42 compatibility was stronger than its wish for convenient 73 compatibility was stronger than its wish for convenient
43 out-of-the-box setups. This lead to long discussions, again. Finally, 74 out-of-the-box setups \(en in contrast with my opinion.
44 I understand their point of view, but it's not mine. 75 This lead to long discussions, again.
45 At the end of my three-month project, I had became familiar with 76 I came to understand their point of view, but it simply is not mine.
46 nmh's code base and community, I had improved both a bit, and I still
47 was convinced that I wanted to go on with it.
48 .P 77 .P
49 Another half a year later, I needed a topic for my master's thesis. 78 At the end of my three-month project, I had become familiar with
50 Now it was clear: I wanted to work on nmh. No, not exactly nmh, 79 nmh's code base and its community. I had improved the project a bit
80 and I still was convinced that I wanted to go on with that.
81 .P
82 Another half a year later, the end of my studies came within reach.
83 I needed a topic for my master's thesis.
84 There was no question: I wanted to work on nmh.
85 But well, not exactly on nmh,
51 because I had accepted that the nmh community has different goals 86 because I had accepted that the nmh community has different goals
52 than I have. The won't be much progress if generally different opinions 87 than I have. This would result in long discussions and thus few progress.
53 lead to long discussions. After careful thought, I had decided to 88 After careful thought, I decided to start an experimental version of nmh.
54 start an experimental version of nmh. I wanted to go my way and see 89 I wanted to follow my own ideas of how nmh should look like. I wanted
55 where it would lead to. Time would tell if it would prove successful. 90 to see where that would lead to. I wanted to compare the result of my
56 Nmh would hardly be hurt by my work, but could profit from my 91 work to the present state of nmh. Time should prove me successful or
57 experiences later. 92 not.
93 Nmh would hardly be hurt by my work as I would not interfere with
94 them. But nmh could profit from my experiences.
58 .P 95 .P
59 When I started to work on mmh, my experimental version, in Fall 2011, 96 I started to work on my experimental version, which I call
60 activity in nmh rose suddenly. While I was working on mmh, XXX were 97 \fImmh\fP (for \fImeillo's mail handler\fP), in Fall 2011.
61 working on nmh. After long years of idleing, nmh was actively 98 In December, when I announced that I would work on an experimental
62 developed again. That was a good sign. My own work went in parallel 99 version, the activity in nmh suddenly rose. Suddently the community
63 and unrelated. Today, my experimental version became de facto a fork. 100 started to move.
64 The mail storage, however, is still compatible. 101 After long years of mostly idling, nmh became actively developed again.
102 What a great result!
103 Hence, while I was working on mmh, the community was working on nmh
104 too. My own work went in parallel and mostly unrelated.
105 .P
106 Because of several circumstances, my experimental version is rather
107 a fork today, although this may change again in the future.
65 108
66 109
67 .H1 "Naming Conventions" no 110 .H1 "Organization" no
68 .P 111 .P
69 There are three different versions of MH available currently: original MH, 112 foo
70 nmh, and mmh. Following is a description how the terms are used. 113
71 .P 114 .H1 "Conventions" no
72 .B MH
73 (Mail Handler).
74 Used for any MH-like mail systems, namely the original MH, nmh, and mmh.
75 .P 115 .P
76 .B "Mail client" . 116 .B "Mail client" .
77 Synonym for MUA. The part of the mail software the user directly 117 Synonym for MUA. The part of the mail software the user directly
78 interacts with. 118 interacts with.
119 .P
120
121 .H1 "Acknowledgments" no
122 .P
123 foo
79 124
80 125
81 .\" End or Preface. Start of the normal text. 126 .\" End or Preface. Start of the normal text.
82 .\" Switch to arabic page numbers and start on a right page. 127 .\" Switch to arabic page numbers and start on a right page.
83 .if e \{ 128 .if e \{