docs/master

annotate preface.roff @ 25:567838924ee0

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