DnD library is Perl library project, that should be able to represent any character or monster, that appears in the Dungeons & Dragons 3.5 edition. It's base classes can be also used to create set of modules, that can be used in some other roleplaying games.
Variability – library should be able to represent arbitrarily complex structures and relations.
Simplicity – characters should be easy to create and use. Writing simple modules should be easy, writing complicated modules should not be very hard.
Consistency – if possible, all modules should have similar public interface and structure.
Publicity – it's not easy to include all classes, feats and monsters from core rulebooks. If you include other third-party handbooks, it's almost impossible. Therefore, it's necessary to have well-documented module creating process. That way, anyone can create his own modules, that represents eihter a feature from third-party handbooks or even some homebrew rules.