What License Means What?
What Software License
Means What?
Madeline Bernard, 2/11/16
What License Means What?
Copyright is the default 1
- As soon as you creatively express yourself, that expression is copyrighted. You don't have to file anything.
- Until 70 years after your death no one will be able to make copies of your stuff, or make it available, or make anything based off it. 2
- If you put your thing in a public GitHub repo, you have agreed to their TOS that you'll let people view it and make personal copies of it by forking.
1. Caveats: In the USA; also, I am not a lawyer
2. Except in cases of Fair Use, which may require painful court cases to establish
What License Means What?
Licenses: four basic options
Copyright: No one and no company will ever bother to work with your code!
Copyleft: use your copyright to say "you can only distribute/copy/build from this if you make your source code readable and it also uses these terms"
- designed to stop corporations from hiding and not sharing
Open Source: anyone can build from your code
Public Domain: no copyrights, no caveats
-
in your package.json, put "license": "UNLICENSED"
What License Means What?
Copyleft / free software
GPL v2.0: the second most popular license. If the software can't be distributed freely, it can't be distributed at all.
GPL v3.0: the fourth most popular license. Has strong protections against being jerked around by patents. Legally supports the nerfing of DRM.
Affero General Public License, Version 3 (AGPL): like the GPL3, but makes it clear that internet code must also be shared.
LGPL: "Lesser" Gnu Public License: Weaker copyleft, invented to make it clear that linking to a library wasn't going to convert your code to copyleft.
Used by: MySQL, Linux, Drupal, WordPress
What License Means What?
Open source
MIT: the most popular license. Short and readable, it requires that you give credit to the person who made the thing you're using, and do not sue them.
BSD: like MIT, but older
Apache: second most popular open source license, third overall. It requires that you give credit, and mark any file where you've changed the previous code. It's popular because it has a patent grant and a retaliation clause: no one can sue you for using patents they brought into the project, and if they do, they lose access to the project.
Used by: Node.js, jQuery
Used by: Android OS
What License Means What?
Other
CC0 1.0: Public domain, even for countries that normally don't have that. Also includes "you can't sue me".
Dual Apache/MIT: compatible with GPL v3.0, protects against patent trolls, makes your thing available to the widest possible group of people, means that you can use Apache's credit-giving setup instead of MIT's "copy the license a zillion times" thing
A short discussion of the value of dual Apache/MIT:
Used by: Rust
What License Means What?
Links!
GitHub's great & simple explanations of various licenses:
http://choosealicense.com/licenses/
2015 surveys of license popularity:
https://www.blackducksoftware.com/resources/data/top-20-open-source-licenses
https://github.com/blog/1964-license-usage-on-github-com
NPM's thoughts on licensing and how to describe it in packages:
https://docs.npmjs.com/files/package.json#license
A good, ranty post on the patent aspects of licensing, pro-Copyleft:
http://en.swpat.org/wiki/Patent_clauses_in_software_licences
A long discussion that swings from GPL to Apache (see also post 0516):
What License To Choose?
By Madeline Bernard
What License To Choose?
A 5 minute presentation on what the various software licenses mean.
- 1,295