1-- $LynxId: README.metrics,v 1.17 2018/07/08 16:43:30 tom Exp $
2
3This is a short summary of code metrics showing how lynx has grown from
4release to release.  It also shows how the original codebase has
5been almost completely replaced by contributors after the release of
6lynx 2.4.2 in 1996.  The numbers shown are for lines of text, to keep
7the presentation simple.
8
9Release         Current                 Original
10-------------------------------------------------------------------------------
11                Text    C-code          Text    C-code  % Text  % Code
12-------------------------------------------------------------------------------
132.4.2            77210   63463          77210   63463   100     100
142.6             112970   92869          58859   49665    52      53
152.7.1           125723  103489          54121   45111    43      43
162.7.2           162228  123130          48979   40655    30      33
172.8.1           191738  133778          37286   33582    19      25
182.8.2           227160  147485          32227   29004    14      19
192.8.3           248646  166833          29035   26346    11      15
202.8.4           310436  168108          28364   25751     9      15
212.8.5           362834  167358          26900   24355     7      14
222.8.6           395894  170006          25866   23880     6.5    14.0
23                                        15573   13587     3.9     8.0
242.8.7           441453  180674          25064   23101     5.7    12.8
25                                        15436   13473     3.5     7.5
262.8.8           465971  185375          24513   22293     5.3    12.0
27                                        15094   12874     3.2     6.9
282.8.9           478344  186103          24314   22116     5.1    11.9
29                                        14931   12733     3.1     6.8
30
31Beginning with 2.8.6, the percentage of the remaining original codebase is
32shown on two lines (i.e., comparing against 2.4.2 indented to use the current
33coding style, or using only the original source).  Comparisons using the
34original source give lower estimates of untouched code, though either must be
35viewed taking into account insignificant similarities (such as blank lines).
36
37Starting in 2.8.6dev.3, all C source code has been routinely indented using
38the lnx-indent script from
39    https://invisible-island.net/cindent/
40
41Current lynx releases contain a large amount of text other than C code.
42That includes plain text, html, message libraries, custom and generated
43scripts.
44
45-------------------------------------------------------------------------------
46
47Here is a count of contributions (from CHANGES and docs/CHANGES2.8) since the
48start of the 2.8 series:
49
50    0.5 AJL
51    3   Al Gilman
52    1   Al Walker
53    1   Alexei Anatski
54    2   Alexey Dobriyan
55    2   Andreas Metzler
56    2   Andrew Belov
57    3.5 Andrey A Chernov
58    1   Arkadiusz Miskiewicz
59    1   Arnaud Giersch
60    2   Atsuhito Kohda
61    2   Axel Beckert
62    1   Bake Timmons
63   25.5 Bela Lubkin
64    1   Bill Nottingham
65    3.5 Bill Schiavo
66    2   Binh Do
67    1   Brett Lymn
68   46.3 Brian J Pardy
69    1   Carlton Anderson
70    1   Charles Karney
71    1   Chris Adams
72    1   Christian Hudon
73    1   Christian Jensen
74    3   Christian Weisgerber
75    1   Christoph J Gartmann
76    1   Chuck Houpt
77    1   Crouton
78    1   Dan Jacobson
79    1   Daniel Dickman
80    1   David Combs
81    1   David Henderson
82    0.5 David Woolley
83    1   Dick Wesseling
84    1   Diego Elio Petteno
85  129.7 Doug Kaufman
86    1   Duncan Simpson
87    2.5 Eduardo Chappa
88    1   Elliot Thomas
89    2   Emanuele Giaquinta
90    1   Eric Brun
91   70   External
92    1   Fabian Fingerle
93  280.5 Foteos Macrides
94    2   Frank Heckenbach
95    4.3 Frederic L W Meunier
96    1   Frederick P Herrmann
97    1   Georg Drenkhahn
98    1   George Lindholm
99   27   Gisle Vanem
100    1   Glenn Nielsen
101    1   Hans Wurst
102   28.5 Hataguchi Takeshi
103    1   Heikki Kantola
104    0.5 Helen Sommer
105   23   Henry Nelson
106    1   Hiram Lester Jr
107    8.5 Hiroyuki Senshu
108    3   Hynek Med
109    0.3 Igor B Poretsky
110   84.8 Ilya Zakharevich
111    6.5 Ismael Cordeiro
112    2   J Kevin Ternes
113    1   Jacob Poon
114   27.5 James E Spath
115    1   Jamie Strandboge
116    1   Jan Hlavacek
117    2.5 Jason F McBrayer
118    1   Jean-Yves Levesque
119    1   Jeffrey C Honig
120    1   Jens Schmalzing
121    1   Jens Seidel
122    1   Jerome Lauret
123    2   Joey Schulze
124    0.3 Johannes Hromadka
125   35   John Bley
126    6   John E Davis
127    1   John Hawkinson
128    1   John Nowlin
129    2   Jonathan Sergent
130    1   Josef Sontgen
131    2   Julian Coleman
132    2   Kamil Dudka
133    3   Karl Eichwalder
134    1   Karl-Andre Skevik
135    4   Kihara Hideto
136   29.3 Kim DeVaughn
137  706.3 Klaus Weide
138    1   Lalo Martins
139    1   Larry Hynes
140    1   Larry Virden
141   15.8 Larry W Virden
142   11   Laura Eaves
143  342.3 Leonid Pauzner
144    1   Liam Davis
145    1   Marc Huber
146    0.3 Marek Kubita
147    1   Martijn Dekker
148    2   Masashi Fujita
149    1   Masayasu Ishikawa
150    1   Masayuki Hatta
151    1   Matt Kraal
152    1   Michael Sobolev
153    6.5 Michael Warner
154    1   Michel Such
155    1   Mike Castle
156    2   Munechika Sumikawa
157    1   Nigel Horne
158    0.5 Nikos Chantziaras
159    1   OpenBSD CVS
160    1   Owen Leibman
161    1   Pat Walsh
162   13.5 Paul B Mahol
163    1   Paul D Smith
164   52.5 Paul Gilmartin
165    1   Peter Backes
166    1   Peter Canning
167    1   Phil Pennock
168   27.3 Philip Webb
169   14   Philippe De Muyter
170    1   Quentin Minster
171    5.5 Rado Smiljanic
172    2   Ralph Babel
173    1   Randall
174    1   Reiner Hermann
175    1   Risto Widenius
176    1   Rob Cameron
177    1   Ruda Moura
178    1   Ryan Nielsen
179    2   Scott Bigham
180    1   Sergej Kvachonok
181    6   Sergey Svishchev
182    1   Serhii Hlodin
183    2   Simon Kainz
184   15   Sinan Kaan Yerli
185    7.8 Stefan Caunter
186    1   Stepan Kasal
187    1   Tadayoshi Okuma
188    1   Takao Fujiwara
189    1   Taketo Kabe
190    1   Thomas Braun
191 2188.3 Thomas E Dickey
192    1.5 Thomas Klausner
193    1   Thomas Petazzoni
194    1   Thomas Viehmann
195   21   Thorsten Glaser
196    1   Tim Chase
197    4   Tim Larson
198    1   Timur Birsh
199    2   Tomas Vanhala
200    1.5 Ulf Harnhammar
201    6.5 Victor Schneider
202    2   Ville Herva
203   86   Vlad Harchev
204   37.5 Wayne Buttles
205    1   Wesley Morgan
206    1   Zdenek Prikryl
207    1.5 nsh@horae.dti.ne.jp
208 4563   Total
209
210-------------------------------------------------------------------------------
211
212Older attributions are problematic for several reasons:
213  + some contributors were not credited,
214  + some changes were not recorded,
215  + the level of importance of changes in the older logs differs noticeably
216    from the newer logs.
217There is neither a source repository nor a mailing-list archive to consult to
218resolve these issues.
219
220However, some information can be gleaned from the existing change-logs
221to show the principal contributors for each release (i.e., not listing those
222with less than 1%):
223
224** credits from CHANGES docs/CHANGES2.8 (4492.6 changes)
225  1.0 Brian J Pardy
226  2.9 Doug Kaufman
227  6.2 Foteos Macrides
228  1.9 Ilya Zakharevich
229 15.7 Klaus Weide
230  7.6 Leonid Pauzner
231  1.2 Paul Gilmartin
232 48.7 Thomas E Dickey
233  1.9 Vlad Harchev
234** credits from CHANGES docs/CHANGES* (5959.6 changes)
235  2.2 Doug Kaufman
236 23.0 Foteos Macrides
237  1.4 Ilya Zakharevich
238 12.1 Klaus Weide
239  5.7 Leonid Pauzner
240 36.7 Thomas E Dickey
241  1.4 Vlad Harchev
242  3.5 unknown
243** credits from CHANGES (3572.6 changes)
244  1.3 Brian J Pardy
245  3.3 Doug Kaufman
246  2.4 Ilya Zakharevich
247 12.3 Klaus Weide
248  8.8 Leonid Pauzner
249  1.5 Paul Gilmartin
250 54.2 Thomas E Dickey
251  2.4 Vlad Harchev
252** credits from docs/CHANGES2.8 (920 changes)
253  1.2 Doug Kaufman
254 30.5 Foteos Macrides
255 29.0 Klaus Weide
256  3.2 Leonid Pauzner
257  1.4 Philippe De Muyter
258 27.4 Thomas E Dickey
259  2.6 Wayne Buttles
260** credits from docs/CHANGES2.7 (233 changes)
261 77.3 Foteos Macrides
262  3.4 Hiram Lester Jr
263  5.2 Klaus Weide
264  1.3 LWV
265  3.4 unknown
266** credits from docs/CHANGES2.6 (240 changes)
267 83.8 Foteos Macrides
268  1.2 Klaus Weide
269  2.1 LWV
270  5.8 unknown
271** credits from docs/CHANGES2.5 (554 changes)
272  1.3 DT
273  1.4 David Woolley
274 82.3 Foteos Macrides
275  4.7 unknown
276** credits from docs/CHANGES2.4 (328 changes)
277 75.9 Foteos Macrides
278  3.0 GL
279 16.2 unknown
280** credits from docs/CHANGES2.3 (112 changes)
281  1.8 David Trueman
282  1.8 Foteos Macrides
283 94.6 unknown
284