Open-Source Licenses
Sources:
- Open-source license explained
- Choosing an open source license
Read about a particular license in an easy way: TLDR Legal Website
Get help choosing a license: Choose a license by Github
Copyright
What is copyright: Only you have the right to copy/reproduce your work. The legal right of a creator to control who can distribute and alter their software.
Code is like art, it's treated as creative work. You own the copyright on the code the moment you write it. Even if you put your code on the internet, only you can dictate who can you the code and who has access to it.
If a Github repository has no license, then all rights are reserved and it's not open source or free. You cannot modify or redistribute this code without explicit permission from the copyright holder. (This isn't a super clear answer, still have to look into the terms).
The Open Source Initiative https://opensource.org - evaluates open source licenses and talks about them.
Permissive Licenses
- MIT
- ISC
- 3-Clause BSD
- 2-Clause BSD
- Apache 2.0
Developers can use, modify and redistribute the source code, even as proprietary software. However, you still have to provide attribution to the code that is used.
1, 2, and 4 are basically equivalent. They basically say, do whatever you want with the code, just don't sue me.
The only difference in 3 is that they don't allow for endorsements or promotions using the names of the copyright holders.
Vue, Reactjs, and Angular all use MIT licenses. GO (The language) uses 3-Clause BSD.
Apache 2.0 has clauses against patency so they are more preferred by tech giants.
Copyleft Licenses
These licenses force the person using the code for their purposes to also release their software's code to the public.
- If someone creates a derivative of your work they must also use the same license.
- Someone makes an alteration/improvement to your work, it has to use the same license.
- If your code gets put into a package, it must also use the same license (to some degree).
Weak-Copyleft Licenses
These are somewhere in-between permissive and copyleft licenses. The basic change in a weak-copyleft license is that if you package and sell the code then you don't have to use the same license, you only have to use the same license for derivatives and alterations.
Summary
