DEV Community

Thibaut Andrieu
Thibaut Andrieu

Posted on

What Is the Difference Between GPL and LGPL License ?

Short version

  • Don't use GPL libraries in commercial products.
  • You can use LGPL libraries in commercial products.

Longer version

GPL License enables a product to be use and redistributed freely. The counterpart is that GPL License is contaminating. Meaning, to use a GPL Library in your application, you need to make it GPL too. Which is generally not the goal for commercial product.

LGPL is not contaminating. You can freely use an LGPL library but if you use it in your product, you just have to mention it somewhere in documentation, in an EULA, License.txt or whatever. You can then use whatever license you want for your product.

To help you remind it, LGPL stand for Lesser GPL. As there is Less restriction in this license, it gives you more freedom to use it.

Disclaimer: I'm not a lawyer. Take this as a quick reminder, but Licensing is something really subtle. If you have doubt, don't hesitate to directly contact the 3rd party provider to know if you can use it in your specific case.

Top comments (1)

geraldew profile image

The GPL does not prevent you being commercial, i.e. charging a fee for supply of a software product. What it won't allow you to do is to remove freedoms as you pass the product on to the user.

The "contamination" of which you speak is therefore brought by your intentions, not by your customers, nor your upstream source.

Ditto for the source code, if you wish to add proprietary code to some that is Open Source, then you are the one doing the contamination. Where a licence lets you do that (by being "permissive"), you are virally removing its freedom.

Yes the GPL and LGPL differ in handling mixes with other licensed source code, but that is not about being more or less "commercial".