To be the meeting place for developers who are interested in improving our software.
This project isn’t just about software, it’s also about people. We need to operate as a community of mutually respected peers. There can be no rule by fiat here, only a technical meritocracy.
Correct and usable out of the box
You shouldn’t need to do a security audit of Directory Server when you install it: It should be secure (correct access controls, strong crypto, clear behaviour) out of the box. The default settings should be correct (automatic tuning, safe scalable settings, useful plugins). But if not, it should be clear how to adjust settings of your instance.
To integrate with as much software as possible.
Want a place to store settings for the desktop? This is the place. Have a data set that is searched more than it’s updated? Maybe putting it in this directory server is the right way to go. Need a central location for authorization and authentication information? This is the obvious location. It’s not enough that this software be used in the classic directory server places: we want it to be ubiquitous.
To make regular time-based stable releases
Software that doesn’t make regular stable releases is next to useless in the real world. From time to time, we should make sure that we make a release that can be used by normal people to do normal things. New features included in a release should be clearly labeled as ‘stable’ or ‘unstable.’
To work on an infinite number of systems with an infinite matrix of software support
We’re pretty focused on making stable, supportable software. But we’re also limited in the number of resources we can bring to bear. Therefore we’re interested in supporting platforms of reasonable relevance and supported by a reasonable set of software. This is best described by example. We’ll support Solaris. We’ll support various Linux variants. But if you ask us to support VMS, we might not be very excited. The same is true for the libraries that we use or support. We use NSS for our crypto libraries. But if you want us to support GNU TLS just because you like the option, we’re not going to spend any time on that. That doesn’t mean that you shouldn’t spend time on it, but it does mean we’re not going to devote a lot of resources supporting it.
To create a directory server that will run on my i386 with 16 meg of RAM
This is large and complex software, and making it super-small isn’t really a goal for us. We would love performance and footprint improvements, don’t get us wrong - but we’re not that interested in the super-tiny systems of yesteryear.
To build a tier-one Directory Server that you can rely on
In the world of Directory Server software there are a variety of options that fill various niches in the market place, and a continuum from large, multi-enterprise scale servers to special purpose/embedded LDAP servers. In terms of our functional requirements, reliability, and performance, we intend to be listed with the best, and lead the market in many areas, especially reliability and interoperability: for ours is a world in which we must grow our market and interface with existing infrastructure; Interoperability, integration and reliability are the keys to the our growth in the market.