[Tutor] Dynamic linking vs Static linking of libraries in python

Laura Creighton lac at openend.se
Wed Jun 17 14:18:59 CEST 2015


In a message of Wed, 17 Jun 2015 07:52:46 -0000, Velummaylum Kajenthiran via Tu
tor writes:

 Dear Sir/MadamI know the difference between static and dynamic
 linking in C or C++. But what does it mean this in Python? Since it's
 just an interpreter, and only having one style of import mechanism of
 modules, how this make sense?If I freeze my python application with
 PyInstaller, Is it a kind of dynamic linking? Because, users can
 replace that library by themselves in order to run my application
 with different versions of libraries.What would be the meaning for
 this, if I freeze this as one file exe? In this case, users can not
 replace the dlls in order to run my app with different versions of
 PySide libraries.Actually my problems is, I'm using PySide library
 (with LGPL v2.1) to develop python GUI application. Library says, I
 should dynamically link to library to obey their legal terms (same as
 Qt). In this case, how do I link PySide dynamically?

>_______________________________________________
>Tutor maillist  -  Tutor at python.org
>To unsubscribe or change subscription options:
>https://mail.python.org/mailman/listinfo/tutor

You need to ask this question here:
http://lists.qt-project.org/mailman/listinfo/pyside

because all that matters is what the pyside people think.  And, should
you ever get into legal trouble, and have to go to court, what you
need is evidence that this didn't violate the Pyside license agreement
according to the Pyside people.  What we on the tutor mailing list
think will not count.

Our company uses PyQt for lots of our commercial apps -- all the ones
that aren't web based.  About 12 years ago we asked that very question
in paper mail to Trolltech (who owned QT at the time).  We got the
answer 'If you use PyInstaller you will be fine with us.  Don't use
py2exe.'  Somewhere in a fireproof safe at work with 'documents we
could not stand to lose even if the building burned down' we have that
piece of paper.

By all means do not get into discussing whether PyInstaller does or
does not make dynamic or static links.  This is an engineering
question, and most engineers would say 'static', but that is
irrelevant to your problem.  Your problem is not an engineering one,
but a legal one.  Legal arguments work better when they have something
to do with the truth, but _That is Not a Requirement_.  Should you
ever be unfortunate enough to be sued, and enemy lawyers come by
demanding stuff, the argument that 'I have the truth on my side' will
be greeted with gales of laughter.  'Of course you do', they will
agree. 'But all that matters is that we can win this one in court.
And here is the list of 5 of your competitors who have had to pay up
when they lost the lawsuit even though they had the truth on their
side too.'

So, go get permission from the place that it really matters.  What
engineers think isn't worth the price of a cup of coffee.  I suggest
you get it, on paper, in writing by requesting such a thing from
Digia (who are the latest in the long list of people who own QT)
http://www.digia.com/  unless the Pyside mailing list steers you
to some place else.  Because the thing that stops lawyers, or
at least slows them down, is not truth but documents signed by
other lawyers saying that what you want to do is ok.

Laura


More information about the Tutor mailing list