It depends on how the program invokes its plug-ins. If the program
uses fork and exec to invoke plug-ins, then the plug-ins are separate
programs, so the license for the main program makes no requirements
for them.
If the program dynamically links plug-ins, and they make function
calls to each other and share data structures, we believe they form a
single program, which must be treated as an extension of both the
main program and the plug-ins. This means the plug-ins must be
released under the GPL or a GPL-compatible free software license, and
that the terms of the GPL must be followed when those plug-ins are
distributed.
If the program dynamically links plug-ins, but the communication
between them is limited to invoking the `main' function of the
plug-in with some options and waiting for it to return, that is a
borderline case.