[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