When something is a library, your code calls functions on it.
When something is a framework, it calls functions on your code
When something is a library, your code calls functions on it.
When something is a framework, it calls functions on your code
which has a strong association with "framework" thinking, but I think it's still useful to treat them as distinct concepts
From this perspective it would be interesting to see some rationale for why libraries not frameworks.
I would say that libraries are not the opposite of frameworks at all. You can have a library which contains a set of framework-classes.
i guess it's about frameworks being "the main thing happening". i.e. a framework controls the whole program's execution, occasionally yielding control to your code. which is a bit wordier to be sure :)
When something is a framework, it calls functions on your code AND it does a lot of the heavy lifting for you.
I studied Frameworks in my Software Engineering degree, but really had no appreciation for them until developing large software in WebObjects.
Until you've extensively used a well-written Framework, libraries seem great. After, you realize a library just helps you here and there, but a Framework is so much more.