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 +