|
@@ -2,6 +2,45 @@ Libigl is primarily licensed under MPL2
|
|
|
- http://www.mozilla.org/MPL/2.0/
|
|
|
- http://www.mozilla.org/MPL/2.0/FAQ.html
|
|
|
|
|
|
-Some files contain third-party code under other licenses:
|
|
|
+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.
|
|
|
|
|
|
- - tga.h/tga.cpp GNU GPL
|
|
|
+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.
|
|
|
+
|
|
|
+One additional exception is include/igl/opengl2/tga.hpp (and tga.cpp), which is
|
|
|
+subject to the terms of the GNU GPLv2. No other files include these files, so
|
|
|
+it is safe to use all other files in include/igl/opengl2, even if you do not
|
|
|
+accept the terms of the GPLv2.
|
|
|
+// TODO: consider moving these two files to include/igl/copyleft/opengl2
|