There are two main ways to develop with Crowd — through our remote API and through the Atlassian Plugin Framework. If you're integrating Crowd with another application, you'll most likely want to use the API. If you wish to add capabilities to Crowd, a plugin may be the answer.
If neither the remote API or the plugin framework fits your needs, you can customise the Crowd source code. Atlassian does not support customised Crowd source.
A 'principal' is a 'user'
In Crowd, the term 'principal' is equivalent to the term 'user'. In Crowd 1.3.0 and later, the Crowd Administration Console uses the term 'user'. Earlier versions of Crowd, and also certain API libraries, use the term 'principal'.