Hacker News new | ask | show | jobs
by mappu 2401 days ago
We ship a C++/Qt/Go application at $DAYJOB. The C++ and Go parts communicate by IPC so I would love to get down to a single language - Qt is the main reason why C++ is involved at all. A Go binding for Qt (Widgets) would seriously solve a lot of issues for us.

But this binding is LGPL, so

- we can't include it in a closed-source statically-linked Go application as-is;

- this binding plans to offer a commercial license but it isn't available yet;

- dynamic linking of a Go package (i.e. `-buildmode plugin`) is possible on Linux but not on Windows.

There's also the similar https://github.com/kitech/qt.go that works by LoadLibrary/dlsym'ing the Qt dll/so files, that has the same LGPL + no-commercial-alternative license.

2 comments

This seems more like a feature than a bug. Shipping proprietary software to end-users is unethical. The license is working as designed.
Shipping proprietary software to end-users is unethical.

The user wants to use the software, the developer wants to provide it. I'm really struggling to see what is unethical about that.

Maybe what he means is that it's unethical to provide software to user without access to the source code, so in case the developer go out of business the user is left with software that the user couldn't update by themselves or someone else they hired.
Agreed
You can statically link LGPL.