TransWikia.com

Will there be any restrictions if I use a MIT licensed module which is built on a GPL library in my commercial software?

Open Source Asked by Piyush Agrawal on August 28, 2021

I want to use a Python module (https://github.com/Belval/pdf2image) in my commercial software. This module is licensed under the MIT license whereas the library (Poppler) it is built on is licensed under the GPLv2 or GPLv3 license.

  1. So, if I use this Python module in my software, will it be under
    MIT or GPL license?
  2. Will I have to make my software’s code available to the end users?
  3. What other restrictions, if any, will my software be subjected to?

Sorry if this has already been asked, I couldn’t find a situation specific answer. Thank you.

One Answer

There is uncertainty about whether or not dynamic linking makes a derivative work and thus engages the GPL (pro, con). But reading the python module's README, it seems to me that the developers have already thought carefully about this.

Although pdf2image does use poppler, it only uses two commands, which it invokes through userspace ("A python module that wraps pdftoppm and pdftocairo to convert PDF"). It is generally accepted that "A main program that uses simple fork and exec to invoke plug-ins and does not establish intimate communication between them results in the plug-ins being a separate program". Looking at eg lines 156-169 of pdf2image.py, it very much looks to me as if they are building a simple command line to invoke a poppler tool using only its standard command-line flags.

Assuming this to be true, then, how does it affect you? You're building a complete product, so unlike the pdf2image developers you will need to redistribute poppler. That will give you source-redistribution and labelling obligations which are detailed in eg GPLv3 s6, but only with respect to the poppler code. Taking your specific questions:

  1. So, if I use this Python module in my software, will it be under MIT or GPL license?

pdf2image is licensed to you under the term of the MIT licence, and so that's what you'll use it under.

  1. Will I have to make my software's code available to the end users?

The use and redistribution of poppler solely as described above will not require you to do so.

  1. What other restrictions, if any, will my software be subjected to?

Apart from those detailed above, none that I can think of as a result of your use of poppler.

But of course IANAL/IANYL, so you should get professional legal advice before betting a company on this.

Answered by MadHatter on August 28, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP