[PySide] PySide and commercial usage

1,808 views
Skip to first unread message

Prashant Saxena

unread,
Nov 2, 2010, 12:19:26 PM11/2/10
to pys...@lists.openbossa.org
Hi,

The LGPL (http://www.gnu.org/copyleft/lesser.html) document is, at
best, confusing, hard to understand, and purposely obfuscated. It
doesn't provide a clear description of what's allowed and not allowed,
the specific requirements, or clear definitions of 'work that uses the
Library' and 'derivative of the Library' (2nd paragraph of section 5
of LGPL). Seems no one can afford a lawyer to decipher the text, and
the lack of any clear explanation/FAQ on the internet suggests the
license text is too generic to answer any of the specific FAQs that come up in
discussions.

So, I would like a clear, authoritative answer, and not simply
someone's "interpretation" of the license text, for the following
specific context:

Given the following...

1. I am developing an application using PySide+Python for commercial usage.

2. The application will be distributed using various package building schemes
available on platforms in such
a way that it's self-contained. This means I would be including .dll/.so and
other files along with my
package.

3. I may compile PySide from sources only because binary package is not
available for X platform. (For example
various Linux distros)

4. Am I allowed to compile PySide statically just to reduce size and number of
dependencies?

5. I won't be including any source code in any format along with the package.

6. I'll use my own license along with my application.

7. Do I have to copy PySide's LGPL license along with the application?

8. Do I have to give credit to PySide inside my application? (For example
Help>About)

9. Any other implications?

10. Am I Missing anything else?

Best Regards

Prashant


_______________________________________________
PySide mailing list
PyS...@lists.openbossa.org
http://lists.openbossa.org/listinfo/pyside

Robert Kern

unread,
Nov 2, 2010, 3:35:29 PM11/2/10
to pys...@lists.openbossa.org
On 11/2/10 11:19 AM, Prashant Saxena wrote:
> Hi,
>
> The LGPL (http://www.gnu.org/copyleft/lesser.html) document is, at
> best, confusing, hard to understand, and purposely obfuscated. It
> doesn't provide a clear description of what's allowed and not allowed,
> the specific requirements, or clear definitions of 'work that uses the
> Library' and 'derivative of the Library' (2nd paragraph of section 5
> of LGPL). Seems no one can afford a lawyer to decipher the text, and
> the lack of any clear explanation/FAQ on the internet suggests the
> license text is too generic to answer any of the specific FAQs that come up in
> discussions.

Personally, I find the LGPL relatively easy to understand, but I've been around
open source licenses for a long time and can understand how others might not.
Most of the apparent complexity comes from the number of different options it
gives you. I will try to narrow them down for you below.

I would like to note that you already have considerable experience with the
LGPL: wxWindows is licensed under the LGPL with an additional exception. In
practice, you would do almost exactly the same thing with either
wxWindows+wxPython or Qt+PySide.

> So, I would like a clear, authoritative answer, and not simply
> someone's "interpretation" of the license text, for the following
> specific context:

Well, who would you accept as an authority? If you really need an authority,
hire an IP lawyer with experience in open source licensing, and pay them for
their legal advice. I don't know why you would ask a technical mailing list for
authoritative legal advice if you need something more than "someone's
interpretation". We're all just someones here.

While I am not a lawyer, much less your lawyer, and the following is not legal
advice, I will try to answer your questions below. I believe my answers are
relatively uncontroversial and reflect the best understanding as it was intended
to be used by the PySide developers and Nokia when they chose the LGPL. However,
I do not speak for either group in any way.

> Given the following...
>
> 1. I am developing an application using PySide+Python for commercial usage.
>
> 2. The application will be distributed using various package building schemes
> available on platforms in such
> a way that it's self-contained. This means I would be including .dll/.so and
> other files along with my
> package.
>
> 3. I may compile PySide from sources only because binary package is not
> available for X platform. (For example
> various Linux distros)
>
> 4. Am I allowed to compile PySide statically just to reduce size and number of
> dependencies?

Yes, although technically this is pretty difficult to do. Python extensions are
intended to be built as shared libraries. You will have a very difficult time
building PySide statically. As far as the LGPL is concerned, you have another
requirement: you need to make sure that users can build their own version of Qt
and PySide and link them with your application. This means that you will need to
provide object files for your application and a build script to link them with
the user's versions of Qt and PySide.

From both a technical standpoint and for the purpose of satisfying the LGPL's
obligations, it is much, much easier to build Qt and PySide as shared libraries.
Fortunately, both are fairly modular with well-documented dependencies between
their components, and you can simply omit the shared libraries that you do not use.

> 5. I won't be including any source code in any format along with the package.

That's fine. You will need to do one of the following, per Section 6:

6.a) This is the one where you provide the source code of Qt and PySide
alongside your application.

6.b) If you use shared libraries and you do not modify PySide or Qt, you need do
nothing. As a courtesy to your users, you should note the version numbers you
used and point to the Qt and PySide websites.

6.c) Give a written offer, good for three years, to provide the source code for
the cost of delivering the copies.

6.d) Put the source on the website used to download the application.

6.e) Verify that the user already has a copy.

I highly recommend using shared libraries and option 6.b. If you really need to
build statically (and find a way to do do so), option 6.d is probably the best.

> 6. I'll use my own license along with my application.

Fine.

> 7. Do I have to copy PySide's LGPL license along with the application?

Yes.

> 8. Do I have to give credit to PySide inside my application? (For example
> Help>About)

Yes. From Section 6: "If the work during execution displays copyright notices,
you must include the copyright notice for the Library among them, as well as a
reference directing the user to the copy of this License."

> 9. Any other implications?

Not really.

> 10. Am I Missing anything else?

The warm fuzzies you get from an assurances from an actual lawyer?

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

Reply all
Reply to author
Forward
0 new messages