The GPL (General Public License) is one of the longer licenses though all this legalize is needed in order to enforce the one primary purpose of this license. This license is designed to force people to share the source code. If you use GPL code in one of your projects then unless you have permission from the original owner of that code you need to release your source code under the GPL. Why should you have to release your source code? That is the cost of using the GPL licensed code. If you don't want to release your code don't use GPL licensed code in your program. Very simple, I don't see any issues. After all, if you are building your program on top of potentially hundreds of thousands of hours worth of other people's time, you have no right to expect them to let you use their work without any compensation. The compensation for their time is that any changes get released to the community.
If you have no intentions of changing the source code, then you have no problem at all. If you are just tinkering with the code and have no plans to release your experiments then you also don't have to worry about the license. If you are a huge corporation who want source code but don't want to pay programmers to write that source code for you, then you are going to either have to release your source code or find some BSD-like licensed program and make your changes to that as then you can keep your improvements to yourself.
One of the arguments against the GPL that boggles my mind is that it is a viral license. While it is true that any source code I release under the GPL stays under the GPL until the copyrights expire, I am still the copyright holder of any code that I write. If I want to then use my code in a non GPL project I am certainly within my rights to do so and nothing in the GPL prevents me from doing so. In fact, if I own all the code within a GPL project, I can decide to change the license of the project for any future release. While the source code for the last release is still available and under the GPL and can be forked by other people who may not like the new license I am moving my project to, the official version would be under the new license. So the only time GPL is viral is when you are using other people's GPL code and if you are using other people's work you have no right to complain.