6

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.

1 Answer 1

11

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.

5
  • Per s5's discussion of "aggregates," you may also need to permit the end user to directly invoke poppler ("...if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit."). Also, if you are going to put this on hardware and distribute that, then you have to contend with the anti-Tivoization rules in s6. You probably don't want to use this technique to construct a DRM system (see s3), though I doubt OP is doing that. Finally, you may have patent obligations under s11.
    – Kevin
    Jul 7, 2020 at 17:40
  • @Kevin your arguments are specific to GPLv3. poppler is available under GPLv2 or v3, at the recipient's choice, so OP can sidestep them if sie needs by choosing solely v2.
    – MadHatter
    Jul 7, 2020 at 19:22
  • IIRC "aggregates" and the anti-DRM language are both in GPLv2.
    – Kevin
    Jul 7, 2020 at 21:36
  • @MadHatter Thank you for the detailed answer, can you please explain this in a simple language to me? "..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" Jul 8, 2020 at 0:10
  • 1
    @PiyushAgrawal you are expected to have read and understood the licences you're using. GPLv3 s6 is written in pretty clear terms; it seems likely that your conveyance of the poppler code will fall under with s6a or s6b (at your choice), so depending on which you choose, you either have to give all your customers a copy of the poppler source code and the GPL, or you have to give them a written offer to do so on request. You also have to preserve the copyright notices from poppler "conspicuously and appropriately", and to make it clear that GPL-covered code is included, and without warranty.
    – MadHatter
    Jul 8, 2020 at 5:26

Your Answer

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

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