Well there is a general rule-of-thumb to go on here:
You call a library's code. A Framework calls your code.
A library provides an API for you to use. A Framework provides an API to which your application must conform.
Basically frameworks dictate how you work, and libraries don't. Obviously these are sweeping statements to make, and many projects don't have such a clear-cut status of library or framework. The point is, that every decision we make hinges on "are we forcing the author to alter the way they work?"
We seek a firm "NO" reply.