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?


   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?


GitHub's great & simple explanations of various licenses:


2015 surveys of license popularity:



NPM's thoughts on licensing and how to describe it in packages:


A good, ranty post on the patent aspects of licensing, pro-Copyleft:


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.

  • 341
Loading comments...

More from Madeline Bernard