docs/master

diff ch02.roff @ 4:c82c1219e877

Added text.
author markus schnalke <meillo@marmaro.de>
date Wed, 07 Mar 2012 14:33:19 +0100
parents dc2bfef4cda7
children
line diff
     1.1 --- a/ch02.roff	Wed Mar 07 14:33:03 2012 +0100
     1.2 +++ b/ch02.roff	Wed Mar 07 14:33:19 2012 +0100
     1.3 @@ -2,10 +2,85 @@
     1.4  .P
     1.5  foo
     1.6  
     1.7 -.H1 "History to Understand
     1.8 +.H1 "Historic Background
     1.9  .P
    1.10 -foo
    1.11 +In order to understand the state, goals and dynamics of a project,
    1.12 +you need to know its history. MH comes from a time before the
    1.13 +Internet, a time before networking became universal, a time when
    1.14 +emailing was small, short and simple. Then it grew, spread and
    1.15 +adopted to the changes. The core-concepts, however, remained the
    1.16 +same. During the XXX a small group of students at the University of
    1.17 +California, actively worked on MH. They added features and optimized,
    1.18 +like it is common for scientific work. This is still in pre-ANSI C
    1.19 +times. The source code contains many ancient parts. Code constructs
    1.20 +specific to BSD or hardware of that time are usual.
    1.21 +.P
    1.22 +Nmh started eight years after the ANSI C standard had been
    1.23 +established. A more modern coding style entered the code base. Still
    1.24 +a part of the developers come from ``the old days''. The developer
    1.25 +base became more diverse and thus the code. Programming practices
    1.26 +from different decades merged into the project. Different coding
    1.27 +styles came together. It appears as if multiple peers added code
    1.28 +parts, resulting in a conclomeration rather than an homogenic
    1.29 +of-one-cast mail system. Still, the basic concepts hold it together.
    1.30 +They were mostly untouched throughout the years.
    1.31 +.P
    1.32 +Although, at the surface, nmh is a toolchest, meaning a collection
    1.33 +of completely modularized small programs, on the source code level,
    1.34 +it is much more interweaved. Parts of the basic functions are
    1.35 +collected in a MH standard library, which is good, but often
    1.36 +separate functions are compiled into programs, for effiency reasons.
    1.37 +This lead to intricate innards.
    1.38 +The advent of MIME rose the complexity of email by a magnitude. This
    1.39 +is visible in nmh. The MIME-related parts are the most complex ones.
    1.40 +It's also visible that MIME support had been added on top of the
    1.41 +original MH later. The MH style made this easily possible, but it
    1.42 +also lead to duplicated functions (e.g. \f(CWshow\fP, \f(CWmhshow\fP)
    1.43 +and had not been thoroughly included into the concepts (e.g. the
    1.44 +user-visible access to whole messages and MIME parts are inherently
    1.45 +different).
    1.46 +.P
    1.47 +For compatibility's sake, it is a common understanding to have the
    1.48 +default settings to be compatible, requiring any new feature to be
    1.49 +explicitely enabled. This puts a burden on new users, because nmh
    1.50 +out-of-the-box keeps staying in the same ancient style, where users
    1.51 +usually want to have it practical for modern emailing.
    1.52 +But of course, this depends on if nmh is seen to be a front-end or a
    1.53 +back-end.
    1.54 +
    1.55 +.H1 "My Vision
    1.56 +.P
    1.57 +The general goals of the mmh project are the following:
    1.58 +.BU
    1.59 +I believe that mmh should be perfectly suited for modern emailing,
    1.60 +out-of-the-box.
    1.61 +.BU
    1.62 +I care less about compatibility and more about conceptionally elegant
    1.63 +approaches.
    1.64 +.BU
    1.65 +I care for general, clear, and simple concepts.
    1.66 +.BU
    1.67 +I like to create an of-one-style email system.
    1.68 +.BU
    1.69 +I plan to remove any optimizations that rises obscurity, unless it
    1.70 +appears to be neccessary to make mmh usable at all.
    1.71 +.P
    1.72 +.B "The target user in mind
    1.73 +likes Unix and its philosophy.
    1.74 +He likes to use programs that are conceptionally appealing.
    1.75 +He's familiar with the command line and enjoys its power.
    1.76 +He is at least capable of shell scripting and wants to improve his
    1.77 +productivity by scripting the mail system.
    1.78 +His computer and operating system are from post-ANSI C times.
    1.79 +He likes to attach files, exchanges text containing non-ASCII
    1.80 +characters, signs or encrypts his messages.
    1.81 +He does not use bulletin boards anymore, nor non-mbox style mail
    1.82 +drops, nor does he rely on compatibility to nmh.
    1.83 +He already has and MTA/MSA and MRA running or is able to set them
    1.84 +up.
    1.85 +He does not want to have to read a book in order to make his MUA
    1.86 +usable.
    1.87  
    1.88  .H1 "Things to do
    1.89  .P
    1.90 -foo
    1.91 +