When deciding which type of license to use for a piece of software, the developer must think of the intensions for the code. Open source licenses are used for software that allows developers to edit and share the code. Having the code be public means there are more eyes available to spot bugs, errors, security flaws, etc. With proprietary licenses, the owner of the software has more control over what can be done to it. But, there are fewer regulations for proprietary software. Instead of more regulations, usually software that has a proprietary license will require you to agree to their terms and conditions. While bugs from a software with an open source license may get fixed faster, the developer of the software with a proprietary license is more guaranteed to be able to profit, since they are they only ones able to actually make changes to fix those bugs. It’s hard to say if one is better than the other. If your goal is to profit from your software, then a proprietary license might be the way to go. But if you want your software to reach more people that can contribute and help the software grow, then an open source license might be the way to go. Additionally, things like HeartBleed and ShellShock that affect the security of open source software argue against using open source licensing.
Free software and open source software describe very similar sets of software. The ideas behind the two concepts do differ, though. Free software refers to the ability of the user to do whatever they want with the software. Open source refers to the idea that free software leads to better collaboration. It is not a guarantee that all free software is open source and vice versa, but more often than not, a piece of software is likely to fit into both categories, not just one of them.
The main difference between GPL and BSD licenses is that BSD allows anyone that uses an open source software with that license to then turn that new software into a proprietary product. GPL allows changes to the software that are only allowed under the license. I believe GPL protects the owner of the software more, while BSD gives any contributors more possibilities.
In regards to the Oracle v Google case, it seems that Google used Java APIs in a competing product, and therefore it was ruled that they violated Oracle’s copyright. The ruling that they APIs were “fair use” means that you can use them, but you just can’t use them to package and sell that software for yourself. I do think that they are correct in this ruling, but the decision will have some effects. This will make any future Google products that would have used this software more expensive for consumers. If they had used only fully open source Java to build Android to begin with, this wouldn’t have been an issue. This suite will make developers more aware of the software and APIs they are using to build their own systems, and be more aware of copyrights in general.