I want to make a product, I don't even mind giving away the code. I'm just worried since its an embedded system, its hard to update or whatever. As many times as I read the legal stuff, its over my head. I can't understand how you can let someone update part of the code on something compiled. Its not like I'm going to have a screen on my device to let users read the code either.
If someone wants to fight a legal battle, its really due to my incompetence, not malice.
For GPLv3, it's that simple most of the time. You talk about embedded which suggests you may be thinking primarily of the "tivoization" clauses designed to prevent user lockout. Again, if you're a fully open source project this will be hard to fail because the user should be able to just copy whatever you do in development. It's when you try to prevent user updates while allowing your own that this applies.
You could read 6(b) to mean that you have to offer consumers the choice between physical-delivery-at-cost and for-free-download of the source... but I don't think that's the right reading.
OTOH, the internet is a "medium customarily used for software interchange" so maybe that would be fine, but the internet wouldn't "accompany" the device. Also, in GPLv2 you are allowed to just send a note "you can get source from us delivered on a storage device for $X", so if you do the purchase thing, plus write a note with every device about how to get the code on the internet or on disk, you should be fine.
https://sfconservancy.org/copyleft-compliance/principles.htm...
You can provide your closed source part as a precompiled library or object file together with the source code for the LGPL part and build scripts that let the recipient relink it with a (possibly modified version of) the LGPL code to generate a new final binary.
A pain yes but not impossible. Having a screen or not is irrelevant, nothing says the recipient has to access the source on the same device as the binaries run.
This is also my understanding of why the AGPL was created to try to close the loophole of running GPL code on the backend; since running code on a server doesn't entail distributing the server binary to people who access the service, the GPL didn't enforce any requirements on sharing any modifications to code that was modified and used as part of the backend for the service. Some felt that this went against the spirit of the GPL, so a new license that made this also explicitly disallowed was created.
As for the LGPL, my recollection is that it differs from the GPL in creating an exception for dynamically linking to the compiled binary; the phrasing of the (non-L) GPL requires that any "derivative works" of the GPL-licensed product (I can't remember if that's the exact term, but it's a something similarly general) must abide by the GPL, which could be interpreted as applying to something that dynamically links to a library licensed under the GPL. Licensing something under the LGPL gives permission for users to dynamically link to your product without requiring them to share the code linking to it.