The GNU General Public License is is a free software license intended to guarantee your freedom to share and change free software and to make sure the software is free for all its users.
Free software is defined by the users’ freedom to run, copy, distribute, study, change and improve the software. If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under the terms of the GNU General Public License. You can attach them to the start of each source file with a pointer to where the full notice is found. Copyleft is another general method for making a program or other work free, and requiring all modified and extended versions of the program to be free as well.
In the GNU project aims to give all users the freedom to redistribute and change GNU software. The Free Software Foundation (FSF) is the principal organizational sponsor of the GNU Project. These licences protect your rights to copyright the software, and offer you this license which gives you legal permission to copy, distribute and/or modify the software. You can also try other free software licenses.