comparison preface.roff @ 106:3c4e5f0a7e7b

Included (English language) corrections by Kate.
author markus schnalke <meillo@marmaro.de>
date Sat, 23 Jun 2012 22:08:17 +0200
parents 7d5b180de542
children 0e102cec0c73
comparison
equal deleted inserted replaced
105:9ff356d84c57 106:3c4e5f0a7e7b
13 and editing already, it was not too difficult. 13 and editing already, it was not too difficult.
14 In contrast, setting up nmh to a convenient state became a tedious task 14 In contrast, setting up nmh to a convenient state became a tedious task
15 that took several months. 15 that took several months.
16 Once having nmh arranged to a convenient state, I enjoyed using it 16 Once having nmh arranged to a convenient state, I enjoyed using it
17 because of its conceptional elegance and its scripting capabilities. 17 because of its conceptional elegance and its scripting capabilities.
18 Nevertheless, it still was inconvenient for handling attachments, 18 Nevertheless, it was still inconvenient for handling attachments,
19 non-ASCII character encodings, and similar features of modern emailing. 19 non-ASCII character encodings, and similar features of modern emailing.
20 My setup demanded more and more additional configuration and helper scripts 20 My setup demanded more and more additional configuration and helper scripts
21 to have nmh behave the way I wanted; yet my 21 to have nmh behave the way I wanted; yet my
22 expectations were rather common for modern emailing. 22 expectations were rather common for modern emailing.
23 In being a computer scientist and programmer, 23 As a computer scientist and programmer, I wanted to improve the situation.
24 I wanted to improve the situation. 24 .P
25 .P 25 In Spring 2010, I sent a message to the \fInmh-workers\fP mailing list,
26 In Spring 2010, I asked on the \fInmh-workers\fP mailing list for the 26 asking for the possibility to offer a Google Summer of Code project for me.
27 possibility to offer a Google Summer of Code project for me. 27 Participating in the development of nmh in this manner appeared attractive
28 Participating in the development of nmh this way appeared attractive to me, 28 to me, because I would have been able to work full time on nmh.
29 because I would have been able to work full time on nmh. 29 Although the nmh community had reacted generally positive to the suggestion,
30 Although the nmh community had been generally positive on the suggestion, 30 the administrative work for a GSoC project would had been too much.
31 the administrative work for a GSoC project had been to much to have 31 Nonetheless, my proposal had activated the nmh community.
32 it realized.
33 Nontheless, my proposal had activated the nmh community.
34 In the following weeks, goals for nmh's future were discussed. 32 In the following weeks, goals for nmh's future were discussed.
35 In these discussions, I became involved in the 33 In these discussions, I became involved in the
36 question whether nmh should include mail transfer facilities. 34 question whether nmh should include mail transfer facilities.
37 .[ 35 .[
38 nmh-workers thread mta mua 36 nmh-workers thread mta mua
47 Half a year later, starting in August 2010, 45 Half a year later, starting in August 2010,
48 I took one semester off to travel through Latin America. 46 I took one semester off to travel through Latin America.
49 During my time in Argentina, I wanted to work on Free Software. 47 During my time in Argentina, I wanted to work on Free Software.
50 This brought me back to nmh. 48 This brought me back to nmh.
51 Richard Sandelman, an active nmh user, cared for the official basis. 49 Richard Sandelman, an active nmh user, cared for the official basis.
52 Juan Granda, an argentine Free Software developer, 50 Juan Granda, an Argentine Free Software developer,
53 provided a computer with Internet connection. 51 provided a computer with Internet connection.
54 Thanks to them, I was able to work on nmh during my three-month 52 Thanks to them, I was able to work on nmh during my three-month
55 stay in Santiago del Estero, Argentina. 53 stay in Santiago del Estero, Argentina.
56 Quickly it became obvious that I wouldn't succeed with my main goal, 54 Quickly it became obvious that I would not succeed with my main goal,
57 to improve the character encoding handling. 55 to improve the character encoding handling.
58 (One of its ramifications is the 56 (One of its ramifications is the
59 missing transfer decoding of quoted text in replies.) 57 missing transfer decoding of quoted text in replies.)
60 As this is one of the most intricate parts of the system, the goal 58 As this is one of the most intricate parts of the system, the goal
61 was simply set too high. 59 was simply set too high.
64 In the same go, I improved the documentation in minor ways. 62 In the same go, I improved the documentation in minor ways.
65 When I started with larger code changes, 63 When I started with larger code changes,
66 I had to discover that the community was reluctant to change. 64 I had to discover that the community was reluctant to change.
67 Its wish for compatibility was much stronger than its 65 Its wish for compatibility was much stronger than its
68 wish for convenient out-of-the-box setups \(en in contrast to my opinion. 66 wish for convenient out-of-the-box setups \(en in contrast to my opinion.
69 This led to long discussions, again. 67 This, once again, led to long discussions.
70 I came to understand their point of view, but it was different to mine. 68 I came to understand their point of view, but it was different to mine.
71 At the end of my three-month project, I had become familiar with 69 At the end of my three-month project, I had become familiar with
72 nmh's code base and community, 70 nmh's code base and community,
73 I had improved the project in minor ways, 71 I had improved the project in minor ways,
74 and I still was convinced that I wanted to continue to do so. 72 and I still was convinced that I wanted to continue to do so.
75 .P 73 .P
76 Another half year later, the end of my studies came within reach. 74 Another half year later, the end of my studies came within reach.
77 I needed a topic for my master's thesis. 75 I needed a topic for my master's thesis.
78 No question, I wanted to work on nmh. 76 Without question, I wanted to work on nmh.
79 But well, not exactly on nmh, because I had accepted that the 77 But not exactly on nmh, because I had accepted that its
80 nmh community has different goals than I have. 78 community has different goals than I have.
81 Working on nmh would result in much discussion and, in consequence, 79 Working on nmh would result in much discussion and, in consequence,
82 little progress. 80 little progress.
83 After careful thought, I decided to start an experimental version of nmh. 81 After careful thought, I decided to start an experimental version of nmh.
84 I wanted to implement my own ideas of how an MH-like system should look like. 82 I wanted to implement my own ideas of how an MH-like system should look like.
85 I wanted to create a usable alternative version to be compared with 83 I wanted to create a usable alternative version to be compared with
92 This document explains the design goals and implementation decisions 90 This document explains the design goals and implementation decisions
93 for mmh. 91 for mmh.
94 It discusses technical, historical, social and philosophical considerations. 92 It discusses technical, historical, social and philosophical considerations.
95 On the technical side, this document 93 On the technical side, this document
96 explains how an existing project was stream-lined by removing rough edges 94 explains how an existing project was stream-lined by removing rough edges
97 and exploiting the central concepts better. 95 and better exploitation of the central concepts.
98 On the historical 96 On the historical side, changes through time are discussed,
99 side, changes through time in the use cases and the email features, 97 regarding the use cases and the email features,
100 as well as the reactions to them, are discussed. 98 as well as the reactions to them.
101 Socially, this document describes the effects 99 Socially, this document describes the effects
102 and experiences of a newcomer with revolutionary aims entering an old 100 and experiences of a newcomer with revolutionary aims entering an old
103 and matured software project. 101 and matured software project.
104 Philosophical thoughts on style, mainly based to the Unix 102 Philosophical thoughts on style, mainly based on the Unix
105 philosophy, are present throughout the discussions. 103 philosophy, are present throughout the discussions.
106 The document describes the changes to nmh, 104 The document describes the changes to nmh,
107 but as well, it clarifies my personal perception of the 105 but as well, it clarifies my personal perception of the
108 concepts of MH and Unix, and explain my therefrom resulting point of view. 106 concepts of MH and Unix, and explain my therefrom resulting point of view.
109 .P 107 .P
110 This document is written for the community around MH-like mail systems, 108 This document is written for the community around MH-like mail systems,
111 including developers and users. 109 including developers and users.
112 Despite the focus on MH-like systems, this document is may be precious 110 Despite the focus on MH-like systems, this document may be valuable
113 to anyone interested in the Unix philosophy and anyone in contact to 111 to anyone interested in the Unix philosophy and anyone in contact with
114 old software projects, be it code or community-related. 112 old software projects, be it code- or community-related.
115 .P 113 .P
116 The reader is expected to be well familiar with Unix, C and emailing. 114 The reader is expected to be familiar with Unix, C and emailing.
117 Good Unix shell knowledge is required, because MH relies fundamentally 115 Good Unix shell knowledge is required, because MH relies fundamentally
118 on the shell. Without the power of the shell, MH becomes a motorbike 116 on the shell. Without the power of the shell, MH becomes a motorbike
119 without winding roads: boring. 117 without winding roads: boring.
120 Introductions to Unix and its shell can be found in ``The UNIX Programming 118 Introductions to Unix and its shell can be found in ``The UNIX Programming
121 Environment'' by Kernighan and Pike 119 Environment'' by Kernighan and Pike
131 The definitive guide to C is Kernighan and Ritchie's 129 The definitive guide to C is Kernighan and Ritchie's
132 ``The C Programming Language''. 130 ``The C Programming Language''.
133 .[ 131 .[
134 kernighan ritchie c prog lang 132 kernighan ritchie c prog lang
135 .] 133 .]
136 Some book about system-level C programming can be helpful 134 A book about system-level C programming can be helpful
137 additional literature. Rochkind and Curry have written such books. 135 additional literature, such as those written by Rochkind and Curry.
138 .[ 136 .[
139 rochkind advanced unix prog 137 rochkind advanced unix prog
140 .] 138 .]
141 .[ 139 .[
142 curry system prog 140 curry system prog
143 .] 141 .]
144 As large parts of the source code are old, 142 Old books are likely more helpful for understanding,
145 old books are likely more helpful for understanding. 143 because large parts of the source code are old.
146 The reader is expected to know the format of email messages and 144 The reader is expected to know the format of email messages and
147 the structure of email transfer systems, at least on a basic level. 145 the structure of email transfer systems, at least on a basic level.
148 It's advisable to have cross-read the RFCs 821 and 822. 146 It's advisable to have cross-read the RFCs 821 and 822.
149 Further more, basic understanding of MIME is good to have. 147 Further more, basic understanding of MIME is good to have.
150 The Wikipedia provides good introduction-level information to email. 148 The Wikipedia provides good introduction-level information about email.
151 .P 149 .P
152 Frequent references to the Unix philosophy will be made. 150 Frequent references to the Unix philosophy will be made.
153 Gancarz has tried to sum it up in his book 151 Gancarz has tried to sum it up in his book
154 ``The UNIX Philosophy''. 152 ``The UNIX Philosophy''.
155 .[ 153 .[