Copyleft
Software licenses are all unique in their own way, you can even make one yourself but developers or programmers are not really lawyers. This does not apply to Richard Stallman who wrote the big bulky copyleft GNU General Public License and the related licenses which are all related to the GNU project, which also include documentation licenses to be used for your program’s documentation. A lot of companies however do not really like this license, you can clearly see why because this license requires for the program to be open-source. It is almost like a parasite to some for their program’s source code to always be open for other people to see. This is why companies implement different ways of incorporating proprietary software like Google’s Android which takes a version of the Linux kernel, applies some patches and adds a lot of proprietary layers on top like the Google Play Services applications, and the Google Play Store which are all required to install “Google Play Protected” apps and of course other ways of installing software like directly through APK files is apparently deemed insecure. This proves that the GPL is weak at times, I am not even going to mention the various violations of the GPL because how can you tell if a program incorporated some code that was GPL licensed if it is already proprietary and you cannot see the source? Have fun reverse engineering it, although for some programs it might be easier to tell, for some more complex programs maybe not so much.
Permissive
Ah yes that sweet taste of freedom to do anything with the code as long as you include a copyright notice and the license itself to somewhat give credit to the developer of the program. These kinds of licenses are favorited by corporations because they can make the code closed-source as long as they follow the conditions of the license, in some cases they do not but in general it is very easier to follow those conditions, either way they are going to probably close the source code anyway so it does not really matter and your software does not matter either because the company will just use your code without your permission, because they do not need it as long as they just follow the conditionso of your license they can just steal it. Some licenses like the Apache may be a little more strict on these conditions but it still will not stop the companies, it takes a more “lax” approach as the GNU project mentions. The Apache license is actually recommended by the GNU project if your code does not pass their lines of code benchmark, in other words if your program is really small it does not really matter if you use the GPL. Some really notable licenses that are extremely permissive include the original good and old BSD licenses which suffered from some controvesy regarding their 4th clause, which was removed and the license has been simplified numerous times ever since. Others that are similar are the MIT license and the more simplified version of the MIT license called the ISC license. I personally do not see that much of a difference between the permissive licenses but I think ideally you would want to be as simple as possible, so the ISC license might be the best. The BSD licenses are just more complex versions of the MIT/X11 license, and yes the MIT license is originally the license for the X11 display server, people just call it MIT license now these days. To conclude for permissive licenses I think people just use MIT now, and they should continue to use it because it is the most familiar one out there, I sometimes use ISC just for pure minimalism but for serious programs if it is needed to be permissive, MIT is definitely the way.
Copyright Sucks
Hypothetically I hate copyright, a lot of other people hate it too. Copyright expires at a certain time anyway, and all of your work eventually ends up being in the “public domain” so what is the point? For some reason people want to keep their rights to the work that they are doing. Understandable but licenses are still stupid. Let me explain some of the reasons why licensing might not be a good idea, and if you still have to license something you should keep it as permissive as possible because copyright is kind of stupid. Copyright in a lot of cases might limit the advancement of a certain piece of code, like for example if a piece of code wants to incorporate another piece of code that is licensed under a different license that prohibits it being used in other software for some reason. This really limits progression and development, either write that piece of code from scratch now or pretend you did not see it. Then have fun hoping they do not notice and sue you to the ground after you used their piece of code and violated their copyright or license. This can also be applied for media and things like piracy, a lot of other countries do not have copyright. They do not compare to the advanced civilizations where copyright exists, this is true but copyright is still stupid as mentioned before. In some cases however it can be good but I prefer to dedicate work for people, dedicate your work to humanity in general so that everyone can improve your work without having to worry about licensing, paying you a fee, giving you credit, all of that just complicates things.
Conclusion
I did not include a lot of other licenses here because a lot of them are not important and only used by different companies, or non-profit organisations, sometimes even governments. Those licenses do not apply, you can use them if you want but no one really does, you are not really suppose to anyway, just use what everyone else is already familiar with like the permissive MIT license. There is no “best” license for software, it really all depends on your use case. Another thing to note is that Copyleft is not really the opposite of Copyright, because there is still Copyright, the GPL requires a Copyright notice as well as other things like keeping the code open, and many more. Lastly licenses that are anti-copyright are the Unlicense for software and CC0 for other works.