Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Triangle.h is not MIT #4

Closed
jratcliff63367 opened this issue Oct 10, 2022 · 7 comments
Closed

Triangle.h is not MIT #4

jratcliff63367 opened this issue Oct 10, 2022 · 7 comments

Comments

@jratcliff63367
Copy link

So, just as an FYI. This library is labeled as being MIT license. However, it uses 'Triangle.h' which is not at all compliant with an MIT license. So anyone who tries to use this library will have license issues due to that. The code will not work without 'Triangle.h' so really the library as a whole cannot be used in any commercial product or is otherwise not compliant with the strict restrictions found in 'Triangle.h'

@Abde5
Copy link

Abde5 commented Oct 23, 2022

Same happens with ManifoldPlus, but Manifold (without the Plus) seems to be compliant with MIT.

https://github.com/artem-ogre/CDT seems like a good candidate for a replacement. It is MPL 2.0.

EDIT: Just saw who you are, glad to see one of the main developers of V-HACD push for the success of other convex decomposition algorithms :)

@jratcliff63367
Copy link
Author

This library does give slightly better results than V-HACD but it's quite a bit slower too. So I was considering seeing if I could optimize it to make it run faster but when I saw Triangle.h that was a show-stopper. The header file literally says 'Contact us for commercial use'. That's about as far away as you can get from a clean license. Way back when I wrote my first version of convex decomposition I ran into this problem then as well. Doing CSG is non-trivial work. That's the main reason Khaled and I went to voxel space instead.

@Abde5
Copy link

Abde5 commented Nov 4, 2022

Solved (partly) by #5, unless there is another MIT CDT library I am not aware of.

@olitheolix
Copy link
Contributor

I noticed that all problematic third party libraries are only necessary to create manifold meshes for non-watertight inputs.

As an experiment, I removed Eigen, GLM, and IGL/ManifoldPlus and managed to build a version for watertight inputs.

The code still contains LGPL (sobol.*), a generic public domain license (src/quickhull), ZLib (src/btConvexHull/*) as well as the MIT portion of CoACD itself. However, none of those should preclude commercial use anymore.

I am not sure what to do with that branch, however. I doubt @SarahWeiii will accept a PR since it removes a CoACD feature that some people might need. On the other hand, a CoACD version for commercial use, if only for watertight inputs is also valuable.

Any ideas?

@Abde5
Copy link

Abde5 commented Nov 4, 2022

@olitheolix

In a personal branch I am working with only Manifold (instead of ManifoldPlus) for non-watertight inputs. Eigen is MPL2 and GLM is MIT, so no problem about that. Manifold seems to have no problem with commercial applications and in CoACD, ManifoldPlus is only used for thin models.

In the paper, Wei et al. cite Manifold and not ManifoldPlus for non-2 manifold inputs. For what I see, there is no difference between using Manifold and ManifoldPlus (in my applications I do not use any thin objects).

You maybe should open a new issue addressing these problems. The two more problematics licenses are ManifoldPlus and + triangle.h`.

sobol seems to be used only for pseudorandom sequences. There should be other libraries that do similar work, however LGPL is commercial friendly too, so personally I do not have any problem with this library.

@SarahWeiii
Copy link
Owner

As mentioned by @Abde5 , ManifoldPlus is only used for pre-processing thin objects that cannot be well solved by Manifold. I have added an option for disabling this library. If you don't have non-manifold thin objects as input, you can disable ManifoldPlus by --no-manifold-plus or -nmp.

@olitheolix
Copy link
Contributor

Cool, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants