Libigl is primarily licensed under MPL2
  - http://www.mozilla.org/MPL/2.0/
  - http://www.mozilla.org/MPL/2.0/FAQ.html

All `.h` and `.cpp` _files_ directly in `include/igl` (but not necessarily in
sub-directories) are subject only to the terms of the MPL2; they should not
include any code that is covered by other/less-permissive licenses.

The `.h` and `.cpp` _files_ in sub-directories of `include/igl` allow libigl to
integrate with external third-party libraries (e.g., those in `external/`) and
are subject to the MPL2, _**and**_ also the terms of licenses of the
corresponding external library.  The licenses used by these libraries fall under
three categories:

- common "free, non-copyleft licenses" (such as zlib, BSD, MIT, and public
  domain)
  - `include/igl/anttweakbar`
  - `include/igl/embree`
  - `include/igl/opengl`
  - `include/igl/opengl/glfw`
  - `include/igl/opengl2`
  - `include/igl/png`
  - `include/igl/viewer`
  - `include/igl/xml`
- common "copyleft" licences (such as GPL, LGPL, and AGPL)
  - `include/igl/copyleft`
  - `include/igl/copyleft/cgal`
  - `include/igl/copyleft/comiso`
  - `include/igl/copyleft/cork`
  - `include/igl/copyleft/tetgen`
- other "uncommon" licenses or commercial software
  - `include/igl/lim`
  - `include/igl/matlab`
  - `include/igl/mosek`
  - `include/igl/triangle`

The Libigl code that interfaces with "copyleft" libraries is in
`include/igl/copyleft`.  Only include these headers if you are accept the
licensing terms of the corresponding external library.  For example, using
`include/igl/copyleft/tetgen` requires that you accept the terms of the AGPLv3.
