Enable3D Licensing Question

Hello, I was following this discussion and wanted to make sure I’m understanding this correctly. If I create a project with enable3D, but lets say I change a couple of things with the original enable3D code, then I am forced to upload those changes to a repository and make it open to public?

A brief description of LGPL:

The LGPL is similar to the GPL (General Public License), but with a few key differences. The LGPL is designed to allow developers to use the software or libraries in their proprietary applications, while still requiring that any changes made to the original LGPL-licensed code must be released back to the public. This means that if you use or modify an LGPL-licensed library, you must make your changes available to others under the LGPL.

I have a couple of questions about this. How is this legal if ammo js is licensed differently? This has made me steer clear of this library because I am not sure of the implications.


This is called sublicensing.

I’m not sure about what license ammo.js uses but at least three.js has the MIT license. This license allows sublicensing which means you can use the engine to develop something with a more restrictive license. It is now allowed with LPGL, btw.


I understand. Pic above is what I also understand as the author’s intentions, but does this align with LPGL? To my understanding, LPGL only applies to the latter but if it is conditional like this then it seems good.

I’m not a lawyer but I don’t think the author’s statement is 100% right. If you use LPGL code in your project, the entire application must be released under the terms of the LPGL. However, the resulting consequences are only relevant if you distribute the software.

BTW: Question like that are better placed at stackoverflow/stackexchange. This topic is not really about three.js or 3D.

There’s also a dedicated Stack Exchange community for legal questions — see LGPL questions here:

1 Like

Original code come from the bullet engine. And the license is very clear about that:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

Author of Enable3D may still distribute it with any license if ammo.js (bullet engine) is not included in the source.