directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Enrique Rodriguez <>
Subject Re: [OT] [Trivia] How big is our code base?
Date Wed, 02 Feb 2005 17:03:48 GMT
Alex, Trustin,

In light of the size of the codebase, this is a good time to take a step
back and review the conceptual homogeneity of the component and package
layout.  Some suggestions:

1)  Move all the protocol providers into their own folder, including
LDAP.  This would remove NTP, Kerberos, DNS, Changepw, and DHCP from the
top level.  Within each of these subprojects I further propose to keep
the component and package layout the same.  Right now I have been using
core, main, and protocol.  It would be great to get LDAP and the other
protocols into a unified convention.

2)  Move LDAP to MINA.  NTP, Kerberos, DNS, Changepw, and DHCP currently
all uni-jar with MINA.  We of course want to have LDAP on MINA and 
Trustin has this for February.

3)  Consolidate ASN.1.  LDAP and Kerberos use different ASN.1 codebases,
a result of their independent development.  We've discussed this and of
course work has begun.

4)  Break out a kerberos-common.  Right now changepw depends on
kerberos-core, which is one big package.  In the future kerberos-common
could also be used for kerberos and changepw clients.

To reiterate:
Enrique:    move protocols to protocols dir.
Alex:       break out LDAP protocol, move to protocols dir.
Trustin:    convert LDAP to MINA, adopt package conventions.
Alex et al: new ASN.1 library.
Alex et al: move LDAP to new ASN.1 library.
Enrique:    move Kerberos and Changepw to new ASN.1 library.
Enrique:    break out kerberos-common and update kerberos and changepw.

Other than the ASN.1 library, the rest should be easy to do this month.


Alex Karasulu wrote:
> I got curious after Emmanuel asked me how big our code base was.  I took 
> a guess and figured the whole directory project probably had like 200K 
> lines of code in it.  Emmanuel guessed like 250K lines.  It nagged me a 
> little cuz we really had no clue so I wrote and checked in a script to 
> occationally report the number of lines within each trunk.  Here's what 
> the first run reported:
> lines of code in ./ldap/trunk = 99386
> lines of code in ./naming/trunk = 15850
> lines of code in ./apacheds/trunk = 63578
> lines of code in ./asn1/trunk = 30759
> lines of code in ./sandbox/trunk = 3630
> lines of code in ./ntp/trunk = 1618
> lines of code in ./apseda/trunk = 15177
> lines of code in ./kerberos/trunk = 12947
> lines of code in ./dns/trunk = 4242
> lines of code in ./changepw/trunk = 2291
> lines of code in ./network/trunk = 14353
> lines of code in ./protocol/trunk = 583
> lines of code in ./dhcp/trunk = 4911
> lines of code in ./authx/trunk = 8071
> Total: 277396
> I was a little shocked to see these numbers.  That's a boat load - this 
> is mostly from 16 months of incubation.  I guess we were both off a 
> little bit.  Overall too much code is a bad thing so this number might 
> not be something to be proud of.  However note that a lot of code within 
> the ldap and apacheds trunks is generated by antlr and the directory 
> plugin.  It would be interesting to see just how much hmmmm....
> -Alex

View raw message