Question: can Qsopt-ex replace qsopt?

#25 · closed · 6 comments

View on GitHub ↗

rickyzhang82

This is not a bug report. There is no x86-64 bit build of qsopt for Linux. qsopt is not open source. I wonder if I can replace qsopt with Qsopt-ex for concorde?

Comments

jonls

I haven't tested it but it's probably unlikely to work as a drop-in replacement for a qsopt library (if that's what you mean). If you're looking to make adaptations to qsopt-ex so that it can eventually work as a drop-in replacement, or looking to make changes to concorde to call qsopt-ex instead of qsopt then that should be possible if you're willing to put in the work.

rickyzhang82

That's what I want as drop-in replacement for Concorde. I'm kind of confused the license of Qsopt-ex in your README. Are all the code in Qsopt-ex fully GPL v3? My goal is to solve an exact TSP with Concorde for 3D printing path planing. But so far Willam Cook haven't replied my request. There is still missing piece in the puzzle -- a LP solver.

jonls

The original QSopt-ex code was published [here](https://www.math.uwaterloo.ca/~bico/qsopt/ex/) with a statement indicating that it is indeed GPL licensed. I wasn't involved in writing QSopt_ex, I just contributed some improvements as explained in the README.

rickyzhang82

I see. I'm not an native English speaker. If I understood it correctly, it is dual license: one is GPL v2, while another is **NOT** GPL v2 if you use it for research purpose only. But in my limited legal knowledge, the alternative (i.e for research purpose only) is **NOT** an license, either. ``` This code may be used under the terms of the GNU General Public License (Version 2.1 or later) as published by the Free Software Foundation. Alternatively, use is granted for research purposes only. It is your choice of which of these two licenses you are operating under. ``` In any case, thanks for your pointing it out. I will wait for Willam Cook's reply before making my next move.

jonls

You are correct, the website actually says GPLv2.1+ but the `License.txt` in the tar.gz file that you can download from that website says GPL3 so there's some confusion about whether you can operate under GPL2.1. I think the note about research license means that you can choose to operate under that alternative if you are doing research which means that the restrictions from the GPL would not apply. In any case, I have chosen to make the patches that I added in this repository only available under GPL3 so I ask people to please follow the GPL3 when using this repo, otherwise use the original source code which allows for the choice between the research license and the GPL2.1 or later.

rickyzhang82

It is pity that William Cook didn't want to release Concorde under GPL. So I can't use his MILP solver in Cura for path planning. I will look into approximation and see if I can implement it under GPL.