docs/master

diff 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
line diff
     1.1 --- a/preface.roff	Mon May 07 17:27:57 2012 +0200
     1.2 +++ b/preface.roff	Tue May 08 17:23:02 2012 +0200
     1.3 @@ -1,81 +1,126 @@
     1.4  .H0 "Preface" no
     1.5  
     1.6 +.P
     1.7 +MH is a set of mail handling tools with a common concept, like
     1.8 +the Unix toolchest is a set of file handling tools with a common
     1.9 +concept. nmh is the currently most popular implementation of an
    1.10 +MH-like mail handling system.
    1.11 +
    1.12 +
    1.13  .H1 "How the Fun Began" no
    1.14  .P
    1.15 -I have discovered nmh in XXX. I used to use mutt, like many
    1.16 -command line-attracted Unix users. Nmh had convinced me conceptually
    1.17 -at once. Unfortunately, setting it up to a convenient state became a
    1.18 -tendious task. Learning its different model of email handling had,
    1.19 -in contrast, been relatively easy. Learning to use MH if you are used
    1.20 -to monolithic mail clients is like learning vi if you are used to
    1.21 -modeless editors.
    1.22 -Once having nmh set up, using it was joy because of its conceptional
    1.23 -elegance and scripting capabilities, but on the other hand it was
    1.24 +I have discovered nmh in September 2009. At that time I used to use mutt,
    1.25 +like many command line-attracted Unix users do.
    1.26 +Conceptually nmh had convinced me at once and learning
    1.27 +its different model of email handling had been relatively easy.
    1.28 +The change was like
    1.29 +managing files in the Unix shell when you are used to graphical file
    1.30 +managers, or like learning vi when you are used to modeless editors.
    1.31 +The change was not trivial but as I was convinced by the concepts and
    1.32 +already managed my files with shell tools and edited with vi, not to
    1.33 +difficult either.
    1.34 +In contrast, setting nmh up to a convenient state became a tendious task
    1.35 +that took several months.
    1.36 +.P
    1.37 +Once having nmh arranged as wished, using it was joy because of its
    1.38 +conceptional elegance and scripting capabilities.
    1.39 +On the other hand, however, it still was
    1.40  inconvenient in handling attachments, non-ASCII character encodings,
    1.41 -and similar stuff. I found it wrong to require more and more scripts
    1.42 -and configuration to have it act the expected way. In being a
    1.43 -software developer, I wanted to improve the situation.
    1.44 +and similar features of modern emailing.
    1.45 +My setup required more and more scripts and additional configuration
    1.46 +to have nmh act the way I expected it to behave, where my
    1.47 +expectations were rather common to modern emailing than exceptionel.
    1.48 +In being a software developer, I wanted to improve the situation.
    1.49  .P
    1.50  In Spring 2010, I asked on the nmh-workers mailing list for the
    1.51 -possibility to have a Google Summer of Code project on nmh. Being a
    1.52 -student, this appeared attractive to me. Eventually, it had not been
    1.53 -possible, but the nmh community started to move. In these months
    1.54 -nmh's future was discussed and I became part of a ``Does nmh need an
    1.55 -MTA'' discussion. There, my opinion differed from the opinion of
    1.56 -most others.
    1.57 +possibility to offer a Google Summer of Code project on nmh.
    1.58 +Participating in the development this way appeared attractive to me,
    1.59 +especially as it would have been possible to have the project
    1.60 +accepted at university. Although the nmh community
    1.61 +generally had been positive on the
    1.62 +suggestion, eventually it had not been possible to manage the
    1.63 +administrative work. Though my proposal had started the nmh community
    1.64 +to move. In the following weeks, goals for nmh's future were discussed
    1.65 +on the list. During the discussions, I became involved in the
    1.66 +question whether nmh should be an MTA. (Thread subject:
    1.67 +``should nmh be an MTA or an MUA?''.)
    1.68 +In this point, my opinion differed from the opinion of most others
    1.69 +as I voted for the MTA facility of nmh to be removed.
    1.70  .P
    1.71 -As it hadn't been possible to work on nmh in a way that would be
    1.72 +Being not able to work on nmh in a way that would be
    1.73  accepted as part of my official studies, I needed to get my credit
    1.74 -points in some other way. But half a year later I was back. Starting
    1.75 -in Summer 2010, I took one semester off to travel through Latin America.
    1.76 -Within this time, I needed to do practical computer work for three
    1.77 -months. Richard Sandelman, an active nmh user, made it possible for
    1.78 -me to work on nmh during this time. Juan Granda, from Santiago del
    1.79 -Estero in Argentina, provided a computer and Internet connection.
    1.80 -Within these three month, I became familiar with nmh's code base and
    1.81 -its community. I learned how things work. Quickly it was obvious that
    1.82 -I wouldn't succeed to improve on the non-ASCII character encoding
    1.83 -problems, as this is one of the most intricate parts of the system.
    1.84 -Instead I improved code as I read through it. I found minor bugs in
    1.85 -the code and could improve the documentation. When I started with
    1.86 +points with some other project.
    1.87 +Half a year later, starting in August 2010,
    1.88 +I took one semester off to travel through Latin America.
    1.89 +Within this time, I had to do practical computer work for three
    1.90 +months.
    1.91 +This brought me back to nmh.
    1.92 +Richard Sandelman, an active nmh user, made it possible for
    1.93 +me to work on nmh. Juan Granda, living in Santiago del
    1.94 +Estero in Argentina, provided a computer and Internet connection for
    1.95 +my work.
    1.96 +Within the three month, I became familiar with nmh's code base and
    1.97 +its community. I learned how things work. Quickly it became obvious that
    1.98 +I wouldn't succeed with my main goal, to improve the character
    1.99 +encoding handling within the project. One obvious problem is the missing
   1.100 +transfer decoding of the quoted text in replies.
   1.101 +As this is one of the most intricate parts of the system, the goal
   1.102 +was simply too difficult to reach.
   1.103 +Instead I improved the code as I read through it. I found minor bugs
   1.104 +for which I proposed fixes to the community. Also I
   1.105 +could improve the documentation. When I started with
   1.106  larger code changes, I had to discover that the community's wish for
   1.107  compatibility was stronger than its wish for convenient
   1.108 -out-of-the-box setups. This lead to long discussions, again. Finally,
   1.109 -I understand their point of view, but it's not mine.
   1.110 -At the end of my three-month project, I had became familiar with
   1.111 -nmh's code base and community, I had improved both a bit, and I still
   1.112 -was convinced that I wanted to go on with it.
   1.113 +out-of-the-box setups \(en in contrast with my opinion.
   1.114 +This lead to long discussions, again.
   1.115 +I came to understand their point of view, but it simply is not mine.
   1.116  .P
   1.117 -Another half a year later, I needed a topic for my master's thesis.
   1.118 -Now it was clear: I wanted to work on nmh. No, not exactly nmh,
   1.119 +At the end of my three-month project, I had become familiar with
   1.120 +nmh's code base and its community. I had improved the project a bit
   1.121 +and I still was convinced that I wanted to go on with that.
   1.122 +.P
   1.123 +Another half a year later, the end of my studies came within reach.
   1.124 +I needed a topic for my master's thesis.
   1.125 +There was no question: I wanted to work on nmh.
   1.126 +But well, not exactly on nmh,
   1.127  because I had accepted that the nmh community has different goals
   1.128 -than I have. The won't be much progress if generally different opinions
   1.129 -lead to long discussions. After careful thought, I had decided to
   1.130 -start an experimental version of nmh. I wanted to go my way and see
   1.131 -where it would lead to. Time would tell if it would prove successful.
   1.132 -Nmh would hardly be hurt by my work, but could profit from my
   1.133 -experiences later.
   1.134 +than I have. This would result in long discussions and thus few progress.
   1.135 +After careful thought, I decided to start an experimental version of nmh.
   1.136 +I wanted to follow my own ideas of how nmh should look like. I wanted
   1.137 +to see where that would lead to. I wanted to compare the result of my
   1.138 +work to the present state of nmh. Time should prove me successful or
   1.139 +not.
   1.140 +Nmh would hardly be hurt by my work as I would not interfere with
   1.141 +them. But nmh could profit from my experiences.
   1.142  .P
   1.143 -When I started to work on mmh, my experimental version, in Fall 2011,
   1.144 -activity in nmh rose suddenly. While I was working on mmh, XXX were
   1.145 -working on nmh. After long years of idleing, nmh was actively
   1.146 -developed again. That was a good sign. My own work went in parallel
   1.147 -and unrelated. Today, my experimental version became de facto a fork.
   1.148 -The mail storage, however, is still compatible.
   1.149 +I started to work on my experimental version, which I call
   1.150 +\fImmh\fP (for \fImeillo's mail handler\fP), in Fall 2011.
   1.151 +In December, when I announced that I would work on an experimental
   1.152 +version, the activity in nmh suddenly rose. Suddently the community
   1.153 +started to move.
   1.154 +After long years of mostly idling, nmh became actively developed again.
   1.155 +What a great result!
   1.156 +Hence, while I was working on mmh, the community was working on nmh
   1.157 +too. My own work went in parallel and mostly unrelated.
   1.158 +.P
   1.159 +Because of several circumstances, my experimental version is rather
   1.160 +a fork today, although this may change again in the future.
   1.161  
   1.162  
   1.163 -.H1 "Naming Conventions" no
   1.164 +.H1 "Organization" no
   1.165  .P
   1.166 -There are three different versions of MH available currently: original MH,
   1.167 -nmh, and mmh. Following is a description how the terms are used.
   1.168 -.P
   1.169 -.B MH
   1.170 -(Mail Handler).
   1.171 -Used for any MH-like mail systems, namely the original MH, nmh, and mmh.
   1.172 +foo
   1.173 +
   1.174 +.H1 "Conventions" no
   1.175  .P
   1.176  .B "Mail client" .
   1.177  Synonym for MUA. The part of the mail software the user directly
   1.178  interacts with.
   1.179 +.P
   1.180 +
   1.181 +.H1 "Acknowledgments" no
   1.182 +.P
   1.183 +foo
   1.184  
   1.185  
   1.186  .\" End or Preface. Start of the normal text.