5

What does a PySide2 (Qt for Python) desktop software application for Windows, Mac or Linux need to be distributed with in order to comply with LGPL license requirements?

I'm talking about a simple, bare-bones application that only uses these modules: from PyQt5 import QtCore, QtGui, QtWidgets

Can ANYONE that actually develops and distributes and sells downloadable desktop software PLEASE provide a clear example of what exactly the developer needs to put into their program and also distribute to the end customer?

In my research, I see "dynamically linked" and "statically linked" but I have no idea what this means in the context of Python. I am absolutely clueless here.

Note: the whole point of selling under LGPL would be that I don't want to give my actual application's source code to the end customer (obviously).

Here's my best guess:

  • Copyrights inside the GUI (maybe in a "Help" menu)
  • Provide LGPLv3 and GPLv3 texts (also maybe in a "Help" menu)
  • Modifications file (but I don't ACTUALLY plan to modify the PySide2 library itself, just use it so........)
  • a copy of PySide2 separate from the actual application (ex: on Windows, a myapp.exe + a directory with the PySide2 library? Can this be a link instead?)
  • what else?

Sources: https://www.youtube.com/watch?v=bwTlCBbB3RY

Jarad
  • 153
  • 5

1 Answers1

3

In my research, I see "dynamically linked" and "statically linked" but I have no idea what this means in the context of Python. I am absolutely clueless here.

This refers to compiled programs, however, Python is an interpreted language, (usually, See: https://stackoverflow.com/q/6889747/8507637), it is safe to say that this shouldn't necessarily apply in your situation.

Also, from Making Qt Systems Comply To LGPL Version 3 - Burkhard Stubert (02/04/2019),

The hardest and most instructive cases for LGPLv3 compliance are Qt embedded systems. A Qt embedded system typically runs one or more Qt applications on a Linux system custom-built with Yocto.

The video is specifically referring to this use-case.

Per this article from GNU on the LGPL,

...using the Lesser GPL permits use of the library in proprietary programs

Also, per tl;dr Legal,

Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL, but applications that use the library don't have to be.

So,

...but I don't ACTUALLY plan to modify the PySide2 library itself, just use it so...

If you aren't modifying the library, then you don't need to do anything.

a copy of PySide2 separate from the actual application (ex: on Windows, a myapp.exe + a directory with the PySide2 library? Can this be a link instead?)

Not sure what you mean by a link, but yes, you could distribute them separately also.

Creating an installer for an application is out of scope here, but there are ways of invoking a separate installer for PySide2 as part of the installation process for your application.

oxr463
  • 751
  • 1
  • 5
  • 17