As a programmer I’m going to constantly be dealing with the fact that I’ll be using different libraries and other peoples code in this profession. So in this post I’m going to show some of the research I’ve done on different licenses, how they apply, and which ones I can use for my own projects.
I’ll be looking at a few of these Licenses, all of which share an element of open source.
GPL
Let’s start with GPL, and thanks to this handy website here, we can get a fairly easy explanation of what it is.

The GNU Public License, made for the GNU software, and is copyleft, which typically means that anything under the license must be open source and free to use. We can see here that users can modify, and distribute in any way they wish, however users must state any changes from original code. However, that “all code linked with GPL must be disclosed under a GPL compatible license”. In short, if your GPL code requires non GPL code, it must BECOME GPL code, or the user will be breaking the license. In addition, users of the license must release all new GPL code alongside the modified code, so that other users can run the software.
So while GPL puts a high priority on open source and sharing of content, it’s a fairly aggressive and rigid form of doing so. The license restricts the content you can link with GPL code if you’re working with non-GPL code, such as another library. The fact that GPL makes other code GPL seems almost virus like, and seems like a malicious way to spread the use of the license.
Whereas the MIT license has next to no restrictions in their license at all.
MIT

We can see here that the only restriction on the license is that the people using it must include the copyright of the original author(s), and include the MIT license in copies of the work. Otherwise, you’re free to modify, distribute, and commercialise the content.
Apache

Apache is slightly more restrictive, in that you need to show what has changed as well as include the license and the copyright. You also can’t use your own trademarks or logos on the code either.
In conclusion if I were to release an open source software, then I’d be looking at MIT to do so. It allows a large range of freedom in terms of what you can do with the software, while still giving the original author their copyright, giving them credit.