kallaballa / libnfporb

Implementation of a robust no-fit polygon generation in a C++ library using an orbiting approach
GNU General Public License v3.0
106 stars 31 forks source link

Allow use under a different licence #3

Closed martinhansdk closed 6 years ago

martinhansdk commented 6 years ago

I am considering writing a plugin for Autodesk Fusion 360 that would allow exporting a design as a DXF file ready to be fed to a laser cutter or CNC machine. In order to minimize the stock material used, I'd like to implement nesting with the help of libnfp. I am planning on making this plugin open source.

In this project, the GPL license of libnfp is an obvious issue:

  1. I need to link my code both against libnfp and against the C++ API code of Autodesk Fusion 360, which has a proprietary license. Since I don't own the rights to Autodesk's code, I can't license that under GPL.
  2. A C++ plugin to Autodesk Fusion 360 is a .dll file, which means that it will be dynamically linked to the Autodesk Fusion 360 executable to which I neither hold any rights nor have access to the source code for.

I'd like to discuss with you if you'd be willing to consider allowing me to use libnfp under a different license for this project. Would you accept "helping makers save material when building awesome stuff" as an acceptable "greater good"?

kallaballa commented 6 years ago

I think in that case LGPL would be suffice? If you create a github project (or similar) I'll grant the use under LGPL for that particular project. BUT: You should know that the current implemenation is far from optimal because the paper i based it on has a couple of bad assumptions. That means the code runs way slower than expected. I already started implementing a different approach (based on https://eprints.soton.ac.uk/36850/1/CORMSIS-05-05.pdf) which will be a drop-in replacement. So you can start using libnfp (which i will rename to libnfporb right now) and switch to the new implementation (which will be named libnfpmk) without changing your code.

martinhansdk commented 6 years ago

Thank you for this! I think you are right that LGPL will be fine, especially since libnfporb is a header only library which means I don't have to create a separate dll just for the LGPL code. I will post a link to the project here as soon as I have some code that uses your library.

martinhansdk commented 6 years ago

The project is at https://github.com/martinhansdk/Flatpack

I'm not using much of libnfporb yet, but working on it.