Re: >There's about a dozen ways to force immediate replication
"If we have attribute-level replication, why doesn't AD default to pushing password changes out immediately? That is one of the things everyone wants immediately. Why not have different queues (like switch/router queues) for updates which can be on different timers?"
Because it's considerable additional complexity with marginal benefit, mostly. Could AD be more efficient? Sure. Does it need to be? Not really. It's an extremely fundamental part of the infrastructure of 95% of the businesses on the planet. Screwing with it for the sake of minor inconveniences is basically a bad idea - much like MS's obsession with screwing with interfaces that work just fine has routinely been a disaster, only the potential bad consequences here are far, far worse. If it ain't broke...
"Maybe, or maybe everyone saw what MS did to Novell and decided that the only winning move was not to play, leading to a lack of competition and stagnation. "
Nah, that's meaningless to the Open Source crowd. MS had defeated more or less all the competition in the desktop space by the mid 90s, but that didn't stop Linux from developing past 1995. AD, much like DNS or DHCP, isn't an area where we need innovation and competition. Tech in general obsesses over 'disruption', even to the point where it looks to disrupt and innovate in places where stability is preferable. This is one of those areas, imo.
"True, but that doesn't mean the directory is a good one."
It kinda does, actually. AD is a good directory system; while we can all put on some rose-tinted glasses and fondly remember Netware, it was actually pretty limited and failed to transition into the demands of 1990s networking as networks went from tens of computers to tens of thousands. NDS couldn't scale quickly or easily, requiring hundreds of partitions with no indexing; it couldn't integrate with DNS and had no API; it's grouping was primitive and it's syncing was awful - in fact, the 'advantage' of it being able to sync individual objects wasn't an advantage at all, it was because the architecture was too primitive to synchronize in bulk so it was ALWAYS transferring objects one at a time.
Sure, we could pretend that with another 20 years of development, NDS would have become something amazing... but it's just as likely that it was a tech dead-end which simply wasn't designed with the demands of modern computing. AD was, and the fact that it's still basically unchanged isn't from lack of competition, but rather the lack of competition stems from AD being 'good enough' for all we've asked of it every since.