All symbols exported by the framework should have the prefix. This includes class names, protocol names, global variables, functions, and defines. Deviate from this only if it's strictly necessary.

Picking a prefix

Prefixes should be all uppercase and at least two characters. Avoid conflicts with prefixes that are already listed here. Since there is a finite number of two character prefixes, you should only use a two character prefix if you're really going to make good use of it.

Adding to the list

Feel free to add to this list.

To avoid trouble, don't "register" too late (ie. just before releasing after spending a bunch of time developing; someone might have grabbed the prefix before you), or too early (don't want a bunch of prefixes tied up by vaporware).

Unless the project is obvious (like GNUstep itself), include a contact for the prefix, or a link that provides contact information.