GNU vs BSD licenses
Licensing in software has a very interesting history, because in the early days of computing software was shared around freely. This changed when companies decided that they should be making money off of the software development as well as the computer hardware. Changing the licenses and how the source code was distributed made the software propreitary, and made a lot of developers in the late ’70s very upset. One of these developers was Richard Stallman, the founder of the Free Software Foundation (FSF) and the creator of the GNU General Public License (GPL). This license had a feature that not only allowed, but encouraged people to copy, modify, and share the software’s source code. Around the same time, some students from Berkely were working on their own version of Unix. This version was dubbed the Berkely Software Distribution (BSD). The creators of BSD wanted to give the software away as freely as possible to anyone that wanted a copy of it to do what they like with it.
On the surface these two licenses sound very similar, but in the free software community there is a huge debate over which is the better license to use. Much of this debate is just voting for the camp that you side with. Many Linux users prefer the GPL, while BSD users would rather use a BSD license. These licenses do have some major differences in features that they provide.
GPL
The GPL’s main goal is to spread free software far and wide. It does this by allowing people to use, copy, modify, and redistribute modified versions of the software; the only catch is that subsequent versions of the software must be released under the GPL. This is a nobal goal, because this way free software will spread. However, it does have a downside; which is that all software released under it must be released under the GPL, which is a bit of a turn off for major companies. This feature can be described as non-permissive, and is generally something that companies do not want to have to follow, because then they might have to release some of their propeitary code.
BSD
The BSD licenses, on the other hand, are known as permissive licenses. This means that the only real checks are that credit for the original software is given (gross over-simplification). The source code does not have to remain under this license, but can still be used for any purpose, copied, modified, and redistributed.