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:

https://github.com/PistonDevelopers/image-gif/issues/15

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):

http://www.rebol.com/cgi-bin/blog.r?view=0511#comments

What License To Choose?

By Madeline Bernard

What License To Choose?

A 5 minute presentation on what the various software licenses mean.

  • 1,295