I want to make DLLs of my code (not the source) publicly available for any type of usage, but the code depends on a GPL-licensed DLL and a 3-clause BSD licensed DLL. What license should I use? And is this even allowed?

  • I should add, the GPL-licensed DLL appears 'inside' my DLL, but the BSD licensed DLL is separately distributed. Commented Apr 26, 2017 at 9:28

1 Answer 1


I assume you will be loading the GPL-licensed DLL from your code? If that is the case, it is considered dynamic linking.

I am not a lawyer, but I believe you will have to use a license that satisfies all of the GPL requirements. For example, if the DLL is GPLv2, and you are dynamically linking with this DLL, you should probably also license your code under GPLv2. If the DLL is GPLv2+ (GPLv2 or any later version), you could pick GPLv2 or GPLv3 for your code.

The BSD license is more permissive, so the BSD DLL doesn't play as much of a factor as the GPL-licensed DLL in deciding which license you can choose for your code.

is this even allowed?

It is important to note that the BSD 3-clause license is compatible with the GPL. This means you are allowed to use both DLLs that you mentioned in the same program, so yes, that is allowed. You could not load a proprietary DLL from this same program because it is not license-compatible with the GPL DLL.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.