Once again, I'm a bit late to this party but I'm'a throw in my .02 anyways. I chiefly believe that no matter what else, whatever malcolm2073 says goes, since it's his copyright.
FWIW, the way I resolved the whole plugin thing with obdsim; I borrowed the idea from sqlite, and disavowed copyright on the single header that must be #included to write a plugin. Sure, LGPL may have worked aswell, but to the truly wary, that may be prohibitive too [eg, the reverse engineering clause, or the whole game console LGPL charlie foxtrot].
To be really friendly to closed-source people, it's better to present the header under modified BSD, zlib, or MIT [or just disavow copyright like I did, although some countries don't have such a thing as public domain].
Windows does, indeed, give you the opportunity to use LoadLibrary, just like posix offers dlopen. But to write the plugin, you must #include a header from the code [or create what is clearly, unequivocally, a derivative work of that header] so that you can implement the functions required. If that header is GPL, then by #including it you are creating a derivative work of a GPL product.It would appear that the LGPL is required if users link to the CarPal binary libraries. However, Windows give you the opportunity to access DLL's without linking in the code via LoadLibrary().
Opinions do vary a bit on this [nvidia *cough*]. In general, people just "let it slide" for just #including a GPL header if it's just to write a plugin or kernel module, but it is my belief that following the word of the GPL, such a plugin or module is violating the GPL.
Regarding GPL being unilateral vs bilateral [ie license vs contract], remember one pivotal thing that's rarely mentioned in print; the GPL is *only* granting privileges not bestowed by normal copyright law, never removing privileges [/a la/ EULAs]. This is why it stands up in court every single time.
If you elect to not agree to the GPL when working with GPL'd code, then you are simply restricted to whatever your normal copyright laws are. So as described, no matter what else, you received your copy without issue and if you just futz with it but never release anything, then no-one knows, cares, or has the ability to do anything about it even if they did care.
PS The SQLite blessing:
May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.