MIT on top of LGPL

Apr 14, 2016 at 9:22 AM
Although Wix# is licensed as MIT, I have noticed that you are using MsiInterop.cs which is licensed as GNU Lesser License V2.1. Does this mean that embedding the WixSharp.Msi dll in an installer for commercial distribution (like your WpfSetup sample), violates the terms of the LGPL? Also, it is at all legal to license your work MIT while it has some LGPL code inside?

Thanks a lot for your answer!
Coordinator
Apr 14, 2016 at 12:17 PM
Edited Apr 15, 2016 at 1:39 AM
Honestly, I have missed this one. MsiInterop.cs has been in the code base for a while and I just missed the licencing clash.
I will review the situation and try to find an appropriate solution as soon as possible.

MsiInterop.cs has no business logic whatsoever it's just a binding, which I utilize only ~10%. I will see if I can come up with my own equivalent without significant effort. If I cannot then I'll just 'kill' ExternalUI support from Wix# all together.

In a mean time please consider WixSharp.Msi.dll as accidentally miss-licenced (hopefully not for long) and do not use it for any purpose. This is an official advice for everyone who is reading this post.

Thank you for your feedback.
Apr 14, 2016 at 12:54 PM
Edited Apr 14, 2016 at 12:57 PM
Thanks for your reply! To be considered is that the original version of MsiInterop.cs (http://www.codeproject.com/Articles/5773/Wrapping-the-Windows-Installer-2-0-API) has been released under a code project license (http://www.codeproject.com/info/cpol10.aspx), and somehow repackaged as LGPL by Model Matter (https://github.com/jkuemerle/MsiInterop/blob/master/MsiInterop.cs.pp). So probably that if you could use the original implementation instead, license-wise it would be fine.

Any chance this could happen or you are using specific functionality which was only available in that fork?

Thanks again,

Jonas
Coordinator
Apr 15, 2016 at 2:26 AM
Edited Apr 15, 2016 at 7:11 AM
Fortunately Wix# was utilizing only a fraction of the MsiInterop.cs code . Less even then 1% (just 13 interop methods). Thus reimplementig was easy.
The latest codebase contains no LGPL licenced MsiInterop.cs.

The release will be coming soon.
Apr 15, 2016 at 7:07 AM
Great! That's good news. Thanks again