docs/master

changeset 2:65e4327aa9f8

Added some introduction text.
author markus schnalke <meillo@marmaro.de>
date Wed, 07 Mar 2012 11:46:18 +0100
parents 8fea9ed7c298
children f3425905d7d1
files ch01.roff
diffstat 1 files changed, 99 insertions(+), 5 deletions(-) [+]
line diff
     1.1 --- a/ch01.roff	Wed Mar 07 11:45:38 2012 +0100
     1.2 +++ b/ch01.roff	Wed Mar 07 11:46:18 2012 +0100
     1.3 @@ -1,13 +1,107 @@
     1.4  .H0 "Introduction
     1.5  .P
     1.6 -foo
     1.7 -.P
     1.8 -bar
     1.9 +This chapter describes the background of the topics in this thesis.
    1.10 +General knowledge of electronic mail is assumed.
    1.11  
    1.12  .H1 "What is MH?
    1.13  .P
    1.14 -foo
    1.15 +MH is an electronic mail system, originating in the RAND Corporation.
    1.16 +Historically, it had been a all-in-one mail system, with Mail Transfer
    1.17 +Agent (MTA) and Mail User Agent (MUA).
    1.18 +Later, when electronic mail systems changed, Mail Submission Agent (MSA)
    1.19 +and Mail Retrieval Agent (MRA) facilities were added.
    1.20 +The MTA became less important, whereas the MUA became even more the
    1.21 +central part.
    1.22 +.P
    1.23 +First of all, MH is a style of a mail handling system.
    1.24 +It had started as a design proposal, not as an implementation, and 
    1.25 +had in spirit remained so. This is similar to Unix, which much less
    1.26 +is a specific software product, as it is a style of system design.
    1.27 +MH is a toolchest of programs, modelled after the Unix toolchest,
    1.28 +and it is a specific mail storage format, like Unix has its file system
    1.29 +formats.
    1.30 +
    1.31 +.H1 "History of MH
    1.32 +.P
    1.33 +MH is an electronic mail system, originating in the RAND Corporation.
    1.34 +In 1977, Norman Shapiro and Stockton Gaines had proposed the design
    1.35 +of a new mail handling system, called ``Mail Handler'' (MH) for RAND,
    1.36 +to superseed their ``Mail System'' (MS).
    1.37 +Two years later, in 1979, XXX took the proposal and implemented a
    1.38 +prototype of MH. It proved successful and replaced MS thereafter.
    1.39 +.P
    1.40 +A decade later, the University of California had started to use MH.
    1.41 +They also took over its development and pushed MH forward.
    1.42 +This had been the time when the Internet appeared, Berkeley implemented
    1.43 +the TCP stack, and Sendmail was born. MH had often contained the first
    1.44 +implementation of new RFCs.
    1.45 +.P
    1.46 +In the nineties, MH had been moved into the public domain, making it
    1.47 +attractive to Free Software developers. The Internet had started to become
    1.48 +mainstream and in 1997, Richard Coleman initiated the ``New Mail Handler''
    1.49 +(nmh), a fork of MH. He intended to modernize MH, improve its MIME
    1.50 +capabilities, and this should be done openly within the Internet
    1.51 +community. Today, nmh almost completely replaced the original MH.
    1.52  
    1.53  .H1 "How the Fun Began
    1.54  .P
    1.55 -foo
    1.56 +I have discovered nmh in XXX. I used to use mutt, like many
    1.57 +command-line-attracted Unix users. Nmh had convinced me conceptually
    1.58 +at once. Unfortunately, setting it up to a convenient state became a
    1.59 +tendious task. Learning its different model of email handling had,
    1.60 +in contrast, been relatively easy. Learning to use MH if you are used
    1.61 +to monolithic mail clients is like learning vi if you are used to
    1.62 +modeless editors.
    1.63 +Once having nmh set up, using it was joy because of its conceptional
    1.64 +elegance and scripting capabilities, but on the other hand it was
    1.65 +inconvenient in handling attachments, non-ASCII character encodings,
    1.66 +and similar stuff. I found it wrong to require more and more scripts
    1.67 +and configuration to have it act the expected way. In being a
    1.68 +software developer, I wanted to improve the situation.
    1.69 +.P
    1.70 +In Spring 2010, I asked on the nmh-workers mailing list for the
    1.71 +possibility to have a Google Summer of Code project on nmh. Being a
    1.72 +student, this appeared attractive to me. Eventually, it had not been
    1.73 +possible, but the nmh community started to move. In these months
    1.74 +nmh's future was discussed and I became part of a ``Does nmh need an
    1.75 +MTA'' discussion. There, my opinion differed from the opinion of
    1.76 +most others.
    1.77 +.P
    1.78 +As it hadn't been possible to work on nmh in a way that would be
    1.79 +accepted as part of my official studies, I needed to get my credit
    1.80 +points in some other way. But half a year later I was back. Starting
    1.81 +in Summer 2010, I took one semester off to travel through Latin America.
    1.82 +Within this time, I needed to do practical computer work for three
    1.83 +months. Richard Sandelman, an active nmh user, made it possible for
    1.84 +me to work on nmh during this time. Juan Granda, from Santiago del
    1.85 +Estero in Argentina, provided a computer and Internet connection.
    1.86 +Within these three month, I became familiar with nmh's code base and
    1.87 +its community. I learned how things work. Quickly it was obvious that
    1.88 +I wouldn't succeed to improve on the non-ASCII character encoding
    1.89 +problems, as this is one of the most intricate parts of the system.
    1.90 +Instead I improved code as I read through it. I found minor bugs in
    1.91 +the code and could improve the documentation. When I started with
    1.92 +larger code changes, I had to discover that the community's wish for
    1.93 +compatibility was stronger than its wish for convenient
    1.94 +out-of-the-box setups. This lead to long discussions, again. Finally,
    1.95 +I understand their point of view, but it's not mine.
    1.96 +At the end of my three-month project, I had became familiar with
    1.97 +nmh's code base and community, I had improved both a bit, and I still
    1.98 +was convinced that I wanted to go on with it.
    1.99 +.P
   1.100 +Another half a year later, I needed a topic for my master's thesis.
   1.101 +Now it was clear: I wanted to work on nmh. No, not exactly nmh,
   1.102 +because I had accepted that the nmh community has different goals
   1.103 +than I have. The won't be much progress if generally different opinions
   1.104 +lead to long discussions. After careful thought, I had decided to
   1.105 +start an experimental version of nmh. I wanted to go my way and see
   1.106 +where it would lead to. Time would tell if it would prove successful.
   1.107 +Nmh would hardly be hurt by my work, but could profit from my
   1.108 +experiences later.
   1.109 +.P
   1.110 +When I started to work on mmh, my experimental version, in Fall 2011,
   1.111 +activity in nmh rose suddenly. While I was working on mmh, XXX were
   1.112 +working on nmh. After long years of idleing, nmh was actively
   1.113 +developed again. That was a good sign. My own work went in parallel
   1.114 +and unrelated. Today, my experimental version became de facto a fork.
   1.115 +The mail storage, however, is still compatible.