at3s 4 Posted August 23, 2020 dll is a wrapper of MPL 2.0 C++ library. Can I use this dll in my commercial project (an executable dynamically calls a function of dll)? Will users be able to request sources of this dll only or all my whole project? Share this post Link to post
dummzeuch 1505 Posted August 23, 2020 (edited) The MPL only requires you to provide the sources that are licensed under the MPL, unless you modify the original. In that case you must also make those modifications available. It does not require you to make the sources of your program available. It also doesn't matter whether or is linked into the executable or called as a DLL, so no need to isolate it as a DLL. (Disclaimer: I'm not a lawyer. This is how I understood the license text.) Edited August 23, 2020 by dummzeuch 1 Share this post Link to post
Fr0sT.Brutal 900 Posted August 24, 2020 (edited) AFAIK even the strictest GPL allows dynamic linking without the burden of opening your code No, GPL is more severe than I thought Edited August 24, 2020 by Fr0sT.Brutal 1 Share this post Link to post
at3s 4 Posted August 24, 2020 1 hour ago, Fr0sT.Brutal said: AFAIK even the strictest GPL allows dynamic linking without the burden of opening your code Are you sure about dynamically linked GPL? Based on my research in the web, it's not so clear. Or I'm wrong? Share this post Link to post
Der schöne Günther 316 Posted August 24, 2020 Just take a look athttps://www.mozilla.org/en-US/MPL/2.0/FAQ/: Quote How 'viral' is the MPL? If I use MPL-licensed code in my proprietary application, will I have to give all the source code away? No. The license requires that Modifications (as defined in Section 1.10 of the license) must be licensed under the MPL and made available to anyone to whom you distribute the Source Code. However, new files containing no MPL-licensed code are not Modifications, and therefore do not need to be distributed under the terms of the MPL, even if you create a Larger Work (as defined in Section 1.7) by using, compiling, or distributing the non-MPL files together with MPL-licensed files. This allows, for example, programs using MPL-licensed code to be statically linked to and distributed as part of a larger proprietary piece of software, which would not generally be possible under the terms of stronger copyleft licenses. 1 hour ago, Fr0sT.Brutal said: AFAIK even the strictest GPL allows dynamic linking without the burden of opening your code Apart from the fact that this is just wrong, what does GPL have to do with MPL? 1 Share this post Link to post
sakura 45 Posted August 24, 2020 1 hour ago, Fr0sT.Brutal said: AFAIK even the strictest GPL allows dynamic linking without the burden of opening your code Only, and only if your application does not depend upon that DLL to do its work. If it is an extension, giving extra features, not needed for the overall result, then you may use it that way. However, if the main purpose of your application depends on that DLL, it is to be published under GPL as well. 1 Share this post Link to post
Fr0sT.Brutal 900 Posted August 24, 2020 2 hours ago, Der schöne Günther said: Apart from the fact that this is just wrong, what does GPL have to do with MPL? It's more strict. Nevermind, I forgot GPL is TOO viral. It's LGPL I was thinking about (LGPL) 2 hours ago, at3s said: Are you sure about dynamically linked GPL? Based on my research in the web, it's not so clear. Nope. Any linking is just like using the code. link Share this post Link to post
dummzeuch 1505 Posted August 24, 2020 11 minutes ago, Fr0sT.Brutal said: Nevermind, I forgot GPL is TOO viral. Any linking is just like using the code. link No, this would mean that somebody could create a plugin for a commercial program (of a third party) and release it under the GPL. And then this would force that commercial program to also fall under the GPL. But we degress, this is about the MPL, which is a lot less strict. Share this post Link to post
Fr0sT.Brutal 900 Posted August 24, 2020 18 minutes ago, dummzeuch said: No, this would mean that somebody could create a plugin for a commercial program (of a third party) and release it under the GPL. And then this would force that commercial program to also fall under the GPL. That FAQ covers this case. They say this combination violates GPL indeed. But as plugin developer doesn't own main app, no troubles - he turns out to be the violator. Anyway I believe the license regulates distribution not end user config so you on your machine can use whatever combinations you like. But I could be mistaking here. Share this post Link to post