Many of these questions are answered in the Drupal Licensing FAQ.
I understand that when any software under the GPL is given to another the recipient has the same rights over the software that I do.
That's only correct if you didn't author the software in the first place.
If you did author the software, you hold the copyright to it by default. You can assign to others any rights you like, but unless you place it in the public domain (not possible everywhere) then you still have rights that anyone who is just licensing your software will not have.
Copyright holders will often dual license their software, providing a no commercial use public license and a commercial license. Often the former comes with no support, while the latter comes with a price tag and after sales service.
The problem with Drupal is that they assert that any Drupal modules constitute a derived work and thus must be licensed under GPL. While this may be the case for modules hosted on the drupal website, due to their terms and conditions, I am not convinced it is the case for software hosted elsewhere. Thanks kiamlaluno.
Plugins are obviously "a work based on the Program".
That's not always the case. Different projects handle these things differently. We have seen how Drupal judges this one way, but Eclipse has a different approach to plugins to their software. According to the Eclipse Public License FAQ:
Q: If I write a module to add to a Program licensed under the EPL and distribute the object code of the module along with the rest of the Program, must I make the source code to my module available in accordance with the terms of the EPL?
A: No, as long as the module is not a derivative work of the Program.
In other words, if you write a program that modifies the Eclipse framework then it must be covered by the Eclipse public license, but if you write modules which use the public interface of the framework, you can license it in any way you like.
In the case of a GPL program however, the situation is different:
Q: If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in?
A: 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.
From Frequently Asked Questions about the GNU Licenses. Thanks Philip
If I write a module for in-house purposes and an employee takes that module home and puts it online, is that legal?
If you hold the copyright and they are using it in a manner not covered by the license attached to that software then they are guilty of copyright infringement. If they have been given access to GPL software then the software has been distributed to them and they can do anything allowed by the GPL.
As it is, you are probably covered by your employment contract with your employees. For contractors then you will probably need to talk to a lawyer about getting everyone to sign up to an NDA, if you haven't already. Thanks craig.
If I use Drupal modules in a software-as-a-service business and let people use it (ie hosted on my servers), do I still have to give them the source?
No, this is the so called application service provider "loophole" in the ordinary GPL that the AGPL was designed to plug.
Again, the Drupal specifically mentioned AGPL in it's licensing FAQ:
Q: I have found a module or theme in the contributions repository that says it is available under a different license than the GPL (including the LGPL or AGPL). What should I do?
A: Please file an issue in the Webmasters issue queue (specify "Licensing problem" for the component) and we will look into the matter.
You will have to be careful about AGPL modules sourced elsewhere though.