Selaa lähdekoodia

modified license

Former-commit-id: 197566d960b2305a5be1928b03cdbc5669cb896b
Alec Jacobson 7 vuotta sitten
vanhempi
commit
31d11f9b0b
1 muutettua tiedostoa jossa 41 lisäystä ja 2 poistoa
  1. 41 2
      LICENSE

+ 41 - 2
LICENSE

@@ -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