Beyond that everyone other than Microsoft uses the OpenLDAP code, which has a number of basic errors and rough-edges. slapd has numerous deadlock conditions and the only backend which doesn't have a low risk of corrupting your data (MySQL) is discouraged. The client libraries had basic design failures for aeons - the most glaring being the assumption that the network is perfect and will never drop or delay packets (timeouts are checked after blocking operations return, which takes several days due to retries at multiple levels). This means that OS X, Linux, FreeBSD, etc. clients will become unusable if your LDAP server is less than perfect - and since slapd deadlocks under normal use, this will occur sporadically. The developers were largely in denial about this - my patch to set SO_RCVTIMEO / SO_SNDTIMEO was ignored with unproven claims that this would magically work in the bleeding-edge trunk version (untrue then, could have changed now) but the libpam-ldap maintain is more conscientious so the similar patch there was accepted a couple years ago so at least Linux clients actually attempt to failover.