No, plugins don't actually have to be GPL compatible.
Take it this way - it's quite possible for multiple software to use the exact same plugin API, without infringing on any sort of intellectual rights (remember, only work falls under copyright, ideas do not). So if I made a commercial application which uses the same structure as the MyBB plugin API, I could potentially code something which could be a plugin for my application, or MyBB.
If I intended my plugin to only work with my application, but, as they use the same (or similar) API, and as a consequence, works with MyBB as well, does my plugin fall under a GPL linking provision?
This sort of thing is plausible in a PHP world, especially MyBB, due to its fairly simple plugin API - it's quite possible for another application to use the same API.
The linking clause of GPL is more targeted at compiled languages like C, where programs are explicitly statically linked to libraries (or a stub, linking to a dynamic library) - in which case, you can easily enforce such a restriction. However, it still doesn't cover all forms of dynamic linking, or at least, this isn't even entirely clear:
http://en.wikipedia.org/wiki/GNU_General...http://en.wikipedia.org/wiki/GNU_General_Public_License#Point_of_view:_static_linking_violates_GPL_but_not_dynam
I can think of a number of non-GPL compatible applications which link with GPL components and have worked fine without issue.
From my understanding, the move to LGPL is primarily aimed to be a clarifying move.