Earlier this week, John Christie posted a question to the mailing list at ActiveDir.org on the topic of the history of Active Directory. If you’re not already subscribed to the list, the full thread can be found here:
The most interesting and authoritative response was from Don Hacherl, as shown in full below.
Thanks for tipping me off to this thread, Eric. I’ll see if I can clear up the pre-history.
The oldest traceable part of AD started life at 3Com in 1988 or 1989. This was an (incomplete!) X.500-ish directory with custom communication protocols, built on top of a C-Tree database, running under 16-bit OS/2. By 1990 3Com had abandoned its network software efforts and the directory code moved to Microsoft as part of some complicated deal. The LanMan group planned to include the directory service in LanMan 3.0 and immediately started porting it to the JET Blue ISAM and building an RPC front end compliant with the X/Open XDS API.
At this point (in early 1991) Jim Allchin, who had recently taken over the LanMan group, cancelled LanMan 3.0 and scrapped its directory service project. In its place he created the Cairo project, which included a completely non-X.500 like directory service that lived as part of OFS, the Cairo file system.
The email group at Microsoft picked up two pieces out of the wreckage of LanMan 3.0: the DS and an X.400 MTA. We (this is when I became dev lead of the DS) ported the DS to Windows NT, finished the JET and XDS work, and added a MAPI RPC interface, a query engine, the KCC, a modifiable schema, the link table, and much, much more. This version of the DSA (plus the MTA and a custom message store) shipped in Exchange 4.0 in 1996. By this point there’s very little of the original code left, although some elderly data structures live on, at least in name.
Around late 1995 Cairo, and its attendant directory service, were cancelled. This left the OS team with an urgent need for a DS (for Windows 2000) but no plans to build one. To fill the hole, the week after Exchange 4.0 shipped two of us from the Exchange DS dev team made a copy of the DS sources and moved to the Windows group, where we got re-christened Active Directory, and the rest is history.
- AD has no relation to Novell NDS/eDirectory. Novell was a competitor (the competitor), not a licensee/licensor.
- AD has no relation to Banyan StreetTalk. Although both Jim Allchin and one member of the AD dev team were former Banyan employees, there was no license or co-work between Microsoft and Banyan.
- AD has no relation to Cairo, except the relation that mammals have to dinosaurs.
- AD did not inherit code or functionality from Site Server or MCIS. It did inherit their customers.
- AD is a direct descendant of the DSA in Exchange 4.0 (Note that LDAP support got added separately to the two branches of the directory in Exchange 5.something and Windows 2000. Anything that important is clearly worth doing twice.)
Your blog is interesting!
Keep up the good work!