Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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 0.1.10.1).

...

LICENSE:

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?

share|improve this question

2 Answers 2

up vote 2 down vote accepted

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.

share|improve this answer

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.

share|improve this answer
    
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 Oct 18 '13 at 19:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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