Hacker News new | ask | show | jobs
by voxnix 3691 days ago
Thanks so much for your answer. For an embedded device, what's a recommended way to make it so my users could change out their Qt libraries as required? From my inexperienced POV it sounds horrible - I'd have to create some kind of custom update for them, provide them the tools to build Qt, and probably something else I'm missing in my understanding of the LGPL.

Also I was hoping to use Qt5 if that makes a difference (QML seems nice..).

1 comments

I've pondered the same question and I really have no clear answer.

But I also think you're not obligated to provide as much as you think. You have to provide source (easy enough), but you really don't have to actually give them all the tools to build it do you? Be nice and point to the Yocto build you used and say you got your gcc toolsuite from there.

As for installation, all you really need to do is provide a way to replace the libraries. I wouldn't give out an entire rebuild/reflash suite or anything. Make a hidden screen in the program somewhere to let you mount a USB drive and replace the libQt?.so.4 files. And that's it. If they brick it, you shrug and say "not my deal".

In all my time I've never encountered anyone that actually wanted to do any of this. It's all a formality, especially when Qt literally does everything you need. I'm not even really sure what you would want to hack on Qt in the first place.

I can't imagine why anyone would want to do it other than to mess with me. However, as there is a competing product that could be a possibility.
Ah, you think someone would do this to brick a device they don't own in the field?

Then I would make the method accessible, but behind some kind of authentication method. User mails you and asks for the way to install it, once you've verified it's really them you provide the unique backdoor to that machine. Might be one way to approach it.

You can burn a unique serial number or whatever directly into the IMX6, there's a eFuse/OTP driver that lets you access it from the filesystem.

I don't think they would sabotage a device in the field, but they would check my compliance with the LGPL in hopes they could hang me on it. Maybe, I've really no idea. Would hate to find out.

Great tip on the eFuse and an authentication method! Have you ever released a product built with Qt under the LGPL?

I'd need to catch up with what happened in the BMW i3 case to understand what your obligations are to people that don't own the actual target device. At minimum, you provide a link to a repository you control with the vanilla Qt source. That should satisfy the requirement, right?

Installation of a modified library would seem (to me at least) to be a method you can share only with authorized owners.

I've released Qt products under LGPL, but they're all industrial equipment and I've never had a customer give any of this a second glance. They just want their shit to work.