The system should facilitate collaboration, making it convenient for users, programmers, and projects to share information. Thus, collaborative support tools (e.g., cite, CVS, Faqomatic, Jabber, wiki) are an important part of the system infrastructure.
The system must coexist gracefully with existing systems and procedures. Developers, for instance, cannot be expected to restructure their packages in order to "fit them into the system". Nor should administrators be required to log every change they make to their systems (though some might, if it were easy).
The system should evolve out of existing information systems (e.g., the "man" pages, the FreeBSD Ports Collection). Existing information should be "brought into the system" through file characterization and (where appropriate) conversion into a common, indexable format.
The system should not be tied to any particular operating system, computer architecture, programming language, or package format. Independence from particular human languages and cultures is also a worthwhile goal, where practical.
Just as applications simply "plug into" the defined interfaces of the operating system, package documentation and metadata should plug into an integrated information system. "man" pages currently do this, by and large, but they are essentially unique in this attribute.
Each part of the system should concern itself only with matters in its own province. For example, a package's information should specify its installation requirements, not the settings for every possible target environment.
The system should be very scalable, able to expand gracefully as new packages, OS environments, information, and needs are added.
System interfaces should be standardized, taking advantage of existing standards, where appropriate.
The system should not require participation, let alone assistance, from any individual or organization.