I'm using an SPI host adapter for a project. The Aardvark from TotalPhase. And I did something crazy, I read that EULA license that everyone just clicks through.

The driver installation license includes these bits:

This driver installer package also includes a WIN32 driver that is entirely based on the libusb-win32 project (release



The software in this package is distributed under the following licenses:

Driver: GNU General Public License (GPL)
Library, Test Files: GNU Lesser General Public License (LGPL)

Now, my understanding of of the GPL is that it's sticky and viral. If you include software then the whole project has to be released under the GPL (if you distribute it, you can do whatever you want with in-house projects).

If the driver was like the library, and was licensed under the LGPL, it could be used by my closed source proprietary project, as long as it's source and license was passed along with it. But it's not, it's pure GPL.

If I include this driver in my project and distribute it, am I required to release my project under the GPL?

2 Answers 2


You can distribute the driver, yes. But you are required to provide the source code, or point to where end-users can get it, including any changes you make to the driver. The driver's license does not affect the rest of your project.

The library can also be used in your project, provided that you also provide source code for it or point to where users can get it, including any changes you've made. You can also link the library to your project, provided that it's possible for an end-user to replace the library with one they've built. Most projects meet this requirement by dynamically linking the library as a DLL or shared object.

This does not affect the license under which you distribute your own software, provided you meet the other requirements.

As always, however, you should consult your attorney.


The only difference between GPL and LGPL is that GPL stops at process boundary while LGPL stops at dynamic link boundary.

Since the driver runs in different process than your proprietary code, the license does not spread to your code. Distributing together does not matter; running in the same process does.

Remember, that since the library is LGPL you must link it dynamically. If you link it statically, it's license would apply to your code.

  • Not quite true. You can statically link to the LGPL library as long as you provide unlinked object files that can be used to rebuild the application with a modified version of the LGPL library. (see LGPL Version 3, section 4d0.)
    – Craig
    Commented Oct 18, 2013 at 19:20

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.