History

The table below shows some historical lines-of-code and number-of-files metrics for the GnuCash development project. Note that not all of the code is counted: for instance, the Makefiles and configure.in and autogen.sh are not counted. Also, files that are automatically generated are not counted, nor are files that have been 'borrowed' from other projects. Also not counted are experimental files, miscellaneous perl scripts, various translators, addons and utilities.

Note also that KLOC's are not a good metric of programmer productivity, nor even that wc is a good way of counting KLOC's. Much better measures are complexity metrics, which, for example, count the number and size of if-then-else blocks, or the number and size of all blocks, or the number of math operators per each statement. Maybe someday we'll run one of those tools on this code. For now, this is what we have.

Table 1. Historical Development Stats

VersionengineregisterledgermotifgnomeschemedocstxtTotalLanguages
xacc-0.9 Sept 97---34 files (7.5+0.9)--5 files (0.4)1 file (0.1)40 files (8.8)1
xacc-0.9w Dec 97---51 files (13.8+1.5)--9 files (0.8)1 file (0.1)61 files (16.2)1
xacc-1.0.17 Feb 98---52 files (14.8+1.8)--12 files (1.4)4 files (0.3)68 files (18.3)1
gnucash-1.1.15 Aug 9824 files (6.2+1.5)31 files (6.1+1.7)5 files (1.4+0.4)30 files (7.4+0.7)17 files (3.4+0.5)3 files (0.3)16 files (1.9)17 files (1.8)159 files (34.7)1 (0.17)
gnucash-1.2.2 Aug 9941 files (10.2+3.6)28 files (5.5+1.7)14 files (2.4+0.6)26 files (8.7+0.5)-14 files (1.4)30 files (2.6)15 files (1.8)168 files (39.0)3 (0.54)
gnucash-1.3.6 April 200041 files (12.9+4.0)32 files (6.8+2.1)19 files (4.0+0.8)-78 files (32.2+3.0)74 files (4.0+0.7+12.3)33 files (7.8)25 files (4.5)302 files (95.1)5 (4.3)
gnucash-1.4.6 Sept 200043 files (13.0+3.6)27 files (5.9+2.0)24 files (5.4+1.8)-82 files (33.8+3.0)68 files (4.0+0.7+15.5)36 files (9.3)36 files (4.8)316 files (101.9)7 (6.0)
gnucash-1.5.2 Sept 200046 files (14.9+3.7)29 files (6.3+2.0)25 files (5.7+1.8)-83 files (35.8+2.9)73 files (4.6+0.8+16.8)37 files (10.7)48 files (8.2)341 files (114.2)8 (7.8)
gnucash-1.6.0 June 2001139 files (42.8+8.3)28 files (5.7+2.0)23 files (10.1+1.5)-132 files (60.0+4.2)102 files (6.2+0.8+27.3)64 files (12.1)69 files (12.9)455 files (193.9)11 (18.7)

Each cell displays the following: number of *c and *.h files (KLOCS in *.c + KLOCS in *.h) (or KLOCS of *.txt or KLOCS of *.scm as appropriate)

where KLOC == kilo-lines-of-code, as reported by wc.