GNU General Public License (GPL) could be described as a very restrictive open source license. GPL is the most commonly used open source license. GPL grants quit a number of rights to the contributors and also restricts how they can link their source code with other software.
With GPL you can copy, modify and distribute software for commercial purposes or for free and share any modifications you have made to the software. With the latest version of GPL you can provide the source code in the form of a link to a website or a location where the source code can be accessed.
If the source code is made available in physical media, GPL allows the distributor to charge a reasonable fee to cover the mailing and production costs. All distributions of derived GPL work must have the GPL license passed along with the work.
GPL does not allow you to link to other non GPL software or source code. In the event that you do link to non GPL software or source code, the other code and software must adopt the GPL license.
The good thing about the GPL is that it protects your code from being stolen and used on closed source or propriety software. The disadvantage on the other hand is that you may want to allow your open source software to accept ad-ons similarly used by propriety software but cannot because whatever you link to will have to adopt the GPL.