I'm not so sure about the library vs framework agreement. Many packages that would historically be labeled libaries, now call themselves a framework, making it even harder for the real frameworks to stand out among the clutter.
Isn't the difference generally that a library is used by client code, whereas client code sits 'inside' (for varying levels of inside) a framework? That's my rule-of-thumb anyway.