Again, I think we need to be more precise. After all, the GPL contains many paragraphs devoted to illustrating just how, when you GPL your code, you are affecting the relationship between your code and other code.So it all depends on how other software will be interacting with your GPL code.If your program is like ssh, meant to be used by completely separate programs (like rsync, etc.), then I agree that ssh and rsync can have different, incompatible licenses.But if your program is like libssl, meant to be linked with someone else's code and become part of a larger program, then choosing the GPL for your library defintely affects other software that would like to "interact" with your library.
So if I make some code, which was based on GPL, I can have it interoperate with propriatery code. I just have to involve the proprietary code, as a possible separate entitity. as long as I can identify my program in portions (this is the portion that has to be GPL compliant) then you are ok. at least that's how I think the law should view the license.
in my opinion the definition of an application can be very broad, and I can have portions of the applications not defnied by the GPL code.and if it is a hazy decision, then you don't side with the GPL. if you're releasing modifications to code based of the GPL that's ok, but not everything that operates together, is part of that. distributing things bundled is just the best means, it doesn't mean all software components (even though working together) are the same.