Big development in the GUI realm

Discussion in 'Python' started by RM, Feb 7, 2005.

  1. RM

    RM Guest

    For all you GUI developers, things just got a little more interesting.
    Trolltech will soon be offering the QT GUI toolkit for Windows under
    the GPL license. That means that PyQt may become a much more popular
    option in the near future. Unfortunately, some things available for
    the commercial customers of Trolltech are not available to the GPL
    users. For example, from their FAQ, it seems that no precompiled
    binaries will be provided. Support for comercial compilers will not be
    built in, only for gcc (through Cygwin?). Also, their database drivers
    will not be available. Oh, well, I guess you can't have it all. Good
    news though!

    See more here:

    www.trolltech.com

    I wonder how this is going to affect the GUI landscape.
     
    RM, Feb 7, 2005
    #1
    1. Advertising

  2. On Monday 07 February 2005 17:52, RM wrote:
    > For all you GUI developers, things just got a little more interesting.
    > Trolltech will soon be offering the QT GUI toolkit for Windows under
    > the GPL license. That means that PyQt may become a much more popular
    > option in the near future. Unfortunately, some things available for
    > the commercial customers of Trolltech are not available to the GPL
    > users. For example, from their FAQ, it seems that no precompiled
    > binaries will be provided. Support for comercial compilers will not be
    > built in, only for gcc (through Cygwin?). Also, their database drivers
    > will not be available. Oh, well, I guess you can't have it all. Good
    > news though!
    >
    > See more here:
    >
    > www.trolltech.com
    >
    > I wonder how this is going to affect the GUI landscape.


    Not 100% right. Only drivers for commercial databases will not be included,
    mysql and co. are available.
     
    Michael Goettsche, Feb 7, 2005
    #2
    1. Advertising

  3. On Mon, 7 Feb 2005 18:30:18 +0100, Michael Goettsche
    <> wrote:
    >Not 100% right. Only drivers for commercial databases will not be included,
    >mysql and co. are available.


    What I find weird, is that I always understood the GPL meaning that
    you must give back any contribution you made to the source code of the
    GPLed code, but not if you're just using either a binary distribution
    (eg. a DLL) or if you copy/pasted the code as is, with no changes on
    your own.

    If this is true, then the fact that Qt is now GPLed for Windows means
    that I should be able to use this widget set even in commercial apps
    since I'm not making any change to Qt, just using it.

    Am I totally off-target?

    Cheers
    Luke.
     
    Luke Skywalker, Feb 7, 2005
    #3
  4. "Luke Skywalker" wrote:

    > What I find weird, is that I always understood the GPL meaning that
    > you must give back any contribution you made to the source code of the
    > GPLed code, but not if you're just using either a binary distribution
    > (eg. a DLL) or if you copy/pasted the code as is, with no changes on
    > your own.
    >
    > If this is true, then the fact that Qt is now GPLed for Windows means
    > that I should be able to use this widget set even in commercial apps
    > since I'm not making any change to Qt, just using it.
    >
    > Am I totally off-target?


    yes. for details, see the "Combining work with code released under the
    GPL" section on this page:

    http://www.gnu.org/licenses/gpl-faq.html

    </F>
     
    Fredrik Lundh, Feb 7, 2005
    #4
  5. On Mon, 7 Feb 2005 19:41:11 +0100, "Fredrik Lundh"
    <> wrote:
    >> Am I totally off-target?

    >
    >yes. for details, see the "Combining work with code released under the
    >GPL" section on this page:


    Mmmm.. The FAQ isn't very clear about whether it's allowed to write a
    proprietary EXE that calls a GPLed DLL:

    "However, in many cases you can distribute the GPL-covered software
    alongside your proprietary system. To do this validly, you must make
    sure that the free and non-free programs communicate at arms length,
    that they are not combined in a way that would make them effectively a
    single program. The difference between this and "incorporating" the
    GPL-covered software is partly a matter of substance and partly form.
    The substantive part is this: if the two programs are combined so that
    they become effectively two parts of one program, then you can't treat
    them as two separate programs. So the GPL has to cover the whole
    thing."

    Considering the fact that the Qt DLL exist by themselves, that the
    version used is the one provided by Qt, and that the EXE uses a
    standard, open way to communicate with it, the above does seem to say
    this use would be valid. Anybody knows of a similar case and the
    output?

    Luke.
     
    Luke Skywalker, Feb 7, 2005
    #5
  6. Luke Skywalker wrote:

    > Considering the fact that the Qt DLL exist by themselves, that the
    > version used is the one provided by Qt, and that the EXE uses a
    > standard, open way to communicate with it, the above does seem to say
    > this use would be valid.


    http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

    "/.../ If modules are designed to run linked together in a shared address
    space, that almost surely means combining them into one program.

    By contrast, pipes, sockets and command-line arguments are
    communication mechanisms normally used between two separate
    programs. So when they are used for communication, the modules
    normally are separate programs. But if the semantics of the
    communication are intimate enough, exchanging complex internal
    data structures, that too could be a basis to consider the two parts
    as combined into a larger program."

    </F>
     
    Fredrik Lundh, Feb 7, 2005
    #6
  7. On 2005-02-07, Luke Skywalker <> wrote:
    > On Mon, 7 Feb 2005 19:41:11 +0100, "Fredrik Lundh"
    ><> wrote:
    >>> Am I totally off-target?

    >>
    >>yes. for details, see the "Combining work with code released under the
    >>GPL" section on this page:

    >
    > Mmmm.. The FAQ isn't very clear about whether it's allowed to write a
    > proprietary EXE that calls a GPLed DLL:


    Yes it is allowed. You are always allowed to write proprietary
    programs that incorporate GPL code. What you are not allowed
    to do is distribute those programs under a license that's not
    the GPL.

    > Considering the fact that the Qt DLL exist by themselves, that the
    > version used is the one provided by Qt, and that the EXE uses a
    > standard, open way to communicate with it, the above does seem to say
    > this use would be valid. Anybody knows of a similar case and the
    > output?


    My understanding is that what you propose is not valid. An EXE
    that uses a GPL'd DLL must be distributed according to the
    terms of the GPL. Were that not the case, the LGPL would not
    have been needed.

    --
    Grant Edwards grante Yow! Yow! Maybe I should
    at have asked for my Neutron
    visi.com Bomb in PAISLEY--
     
    Grant Edwards, Feb 7, 2005
    #7
  8. RM

    Tim Churches Guest

    Fredrik Lundh wrote:

    >Luke Skywalker wrote:
    >
    >
    >
    >>Considering the fact that the Qt DLL exist by themselves, that the
    >>version used is the one provided by Qt, and that the EXE uses a
    >>standard, open way to communicate with it, the above does seem to say
    >>this use would be valid.
    >>
    >>

    >
    > http://www.gnu.org/licenses/gpl-faq.html#MereAggregation
    >
    > "/.../ If modules are designed to run linked together in a shared address
    > space, that almost surely means combining them into one program.
    >
    > By contrast, pipes, sockets and command-line arguments are
    > communication mechanisms normally used between two separate
    > programs. So when they are used for communication, the modules
    > normally are separate programs. But if the semantics of the
    > communication are intimate enough, exchanging complex internal
    > data structures, that too could be a basis to consider the two parts
    > as combined into a larger program."
    >
    ></F>
    >
    >

    Yes, that is what the FSF GPL FAQ says. However, the GPL itself says:

    "[Section 0] Activities other than copying, distribution and
    modification are not covered by this License; they are outside its scope."

    There is not, AFAICS, any formal definition of what is meant by
    "modification" in the GPL.

    Section 2.b of the GPL says:

    "b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any part
    thereof, to be licensed as a whole at no charge to all third parties
    under the terms of this License."

    and Section 2 goes on to say:

    "These requirements apply to the modified work as a whole. If
    identifiable sections of that work are not derived from the Program, and
    can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works. But when you
    distribute the same sections as part of a whole which is a work based on
    the Program, the distribution of the whole must be on the terms of this
    License, whose permissions for other licensees extend to the entire
    whole, and thus to each and every part regardless of who wrote it."

    Thus, it seems to me, and to the expert legal advice which we sought
    (note the scope of the advice was Australian law only) that provided no
    GLPed source or object code is mixed, included or combined with
    non-GPLed code, and that the GPLed and non-GPLed code are distributed or
    otherwise made available in packages which are very clearly separate
    works, and that any interaction between the two is restricted to
    runtime, then the GPL does not require that non-GPLed code to be
    distributed under the GPL.

    It is arguable whether that opinion is at odds with the sentiments
    expressed in the FSF GPL FAQ - it depends whether importing two python
    modules into the same namespace is considered equivalent to, as the FAQ
    says, "run linked together in a shared address space", but ultimately,
    it is what the GPL license text says, not what the FSF FAQ says, which
    matters.

    Note that I am not in favour of or advocating any attempt to circumvent
    or undermine the GPL. I just think it is important to be guided by what
    software licenses actually say, rather than by what the authors of the
    licenses wished they had said in retrospect.

    Tim C
     
    Tim Churches, Feb 7, 2005
    #8
  9. RM

    Damjan Guest

    > For all you GUI developers, things just got a little more interesting.
    > Trolltech will soon be offering the QT GUI toolkit for Windows under
    > the GPL license. That means that PyQt may become a much more popular
    > option in the near future.


    This applies to QT-4 only.
    I wonder how much of PyQT is ready for QT4?

    Anyway its time for a PyQT based VB-killer [ a GPL one :) ].


    --
    damjan
     
    Damjan, Feb 7, 2005
    #9
  10. RM

    Steve Holden Guest

    Luke Skywalker wrote:

    > On Mon, 7 Feb 2005 18:30:18 +0100, Michael Goettsche.
    > <> wrote:
    >
    >>Not 100% right. Only drivers for commercial databases will not be included,
    >>mysql and co. are available.

    >
    >
    > What I find weird, is that I always understood the GPL meaning that
    > you must give back any contribution you made to the source code of the
    > GPLed code, but not if you're just using either a binary distribution
    > (eg. a DLL) or if you copy/pasted the code as is, with no changes on
    > your own.
    >
    > If this is true, then the fact that Qt is now GPLed for Windows means
    > that I should be able to use this widget set even in commercial apps
    > since I'm not making any change to Qt, just using it.
    >
    > Am I totally off-target?
    >

    Yes.

    The GPL only dictates what you *must* do when you re-distribute GPL'd
    code, or code derived from GPL'd code - and there's substantial room for
    disagreement about what is and what is';t a derived product, with a
    recent opinion suggesting that the FSF would regard importing a GPL'd
    Python module as making your Python program constitute a "derived product".

    As long as you don't redistribute anything you are free to do whatever
    you want with GPL'd code. The intent of the license is essentially to
    stop proprietary freeloaders from benefiting from GPL'd code without
    giving anything back to the community. Microsoft choose to call this
    "viral", but as usual they are talking out of their wallet.

    regards
    Steve
    --
    Meet the Python developers and your c.l.py favorites March 23-25
    Come to PyCon DC 2005 http://www.pycon.org/
    Steve Holden http://www.holdenweb.com/
     
    Steve Holden, Feb 7, 2005
    #10
  11. RM

    huy Guest

    RM wrote:
    > For all you GUI developers, things just got a little more interesting.
    > Trolltech will soon be offering the QT GUI toolkit for Windows under
    > the GPL license. That means that PyQt may become a much more popular
    > option in the near future. Unfortunately, some things available for
    > the commercial customers of Trolltech are not available to the GPL
    > users. For example, from their FAQ, it seems that no precompiled
    > binaries will be provided. Support for comercial compilers will not be
    > built in, only for gcc (through Cygwin?).


    Isn't this just the same thing with a different spin. There was always
    an available distribution for linux for non-commercial use. Windows was
    always the problem. You still can't use it for windows without knowing
    how to compile the thing on windows.

    huy
     
    huy, Feb 7, 2005
    #11
  12. RM

    Kartic Guest

    Is there a "GPL for Dummies" out there??? :)

    Sorry if I am asking a question that has already been asked/answered in
    another form.

    In any case, let's say I use Python to create an application that uses
    some module that is GPL. So what are my options?
    1. Distribute my app as closed source but with source, available upon
    request and clearly stated so in my license, for the GPL'ed module. But
    the code to my app only is not available as it is closed source.
    2. Distribute my app with the source code available upon request, along
    with the code of any other GPL'ed modules that my app uses.

    I don't know if any other option is possible. Do my stated options
    cover the possibilities and if so, which of these are the correct legal
    one that I would follow?

    Thanks,
    -Kartic
     
    Kartic, Feb 7, 2005
    #12
  13. On Tue, 08 Feb 2005 07:57:51 +1100, Tim Churches
    <> wrote:
    >Thus, it seems to me, and to the expert legal advice which we sought
    >(note the scope of the advice was Australian law only) that provided no
    >GLPed source or object code is mixed, included or combined with
    >non-GPLed code, and that the GPLed and non-GPLed code are distributed or
    >otherwise made available in packages which are very clearly separate
    >works, and that any interaction between the two is restricted to
    >runtime, then the GPL does not require that non-GPLed code to be
    >distributed under the GPL.


    That's how I understood things, ie. calling a standard, clearly
    independent (ie. EXE or DLL) binary downloaded from the project's web
    site and just calling it is not covered by the GPL since no change has
    been made whatsoever to the original work.

    Which makes sense, since the goal of the GPL is to make sure that no
    one can steal the code, correct bugs or add features without
    redistributing those changes.

    Muddy waters, indeed :)

    Luke.
     
    Luke Skywalker, Feb 7, 2005
    #13
  14. Tim Churches wrote:

    > Thus, it seems to me, and to the expert legal advice which we sought (note the scope of the advice
    > was Australian law only) that provided no GLPed source or object code is mixed, included or
    > combined with non-GPLed code


    and how exactly are you going to load a DLL from an EXE file with-
    out "mixing, including, or combining" the two?

    I don't see how the legal advice you got is incompatible with the FAQ;
    they both say that as long as you keep things separate, you're in the clear.
    but as soon as you mix things, the GPL applies.

    </F>
     
    Fredrik Lundh, Feb 7, 2005
    #14
  15. RM

    Damjan Guest

    > Isn't this just the same thing with a different spin. There was always
    > an available distribution for linux for non-commercial use. Windows was
    > always the problem. You still can't use it for windows without knowing
    > how to compile the thing on windows.


    There'll be people that know how to compile :), and they'll be able to
    release & distibute binaries... Previously you couldn't even compile the
    GPL QT on windows, since it lacks the low-level win32 api calls that do all
    the work.

    --
    damjan
     
    Damjan, Feb 7, 2005
    #15
  16. RM

    JanC Guest

    Kartic schreef:

    > In any case, let's say I use Python to create an application that uses
    > some module that is GPL. So what are my options?


    For your own personal use: doesn't mather.

    If you want to distribute it, your application must be GPL'ed, so *all*
    source code must be made available for those you distribute it to.

    --
    JanC

    "Be strict when sending and tolerant when receiving."
    RFC 1958 - Architectural Principles of the Internet - section 3.9
     
    JanC, Feb 8, 2005
    #16
  17. RM

    Mike Meyer Guest

    "Kartic" <> writes:

    > Is there a "GPL for Dummies" out there??? :)
    >
    > Sorry if I am asking a question that has already been asked/answered in
    > another form.
    >
    > In any case, let's say I use Python to create an application that uses
    > some module that is GPL. So what are my options?
    > 1. Distribute my app as closed source but with source, available upon
    > request and clearly stated so in my license, for the GPL'ed module. But
    > the code to my app only is not available as it is closed source.


    You can't do this one. At least, that's the stand that the FSF is
    taking.

    I wonder about distributing an installation tool that grabs the GPL'ed
    module from it's "standard" location and just installing it? That way,
    you're not distributing any GPL'ed code, so your code can be
    distributed however you want. It would seem that that would have to be
    legal, otherwise apt-get and CPAN would be legally problematical.

    <mike
    --
    Mike Meyer <> http://www.mired.org/home/mwm/
    Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
     
    Mike Meyer, Feb 8, 2005
    #17
  18. Dennis Lee Bieber <> wrote:

    > hassle to code, but if your application could dynamically select from
    > whatever toolkit is available on the machine, you (and I should emphasis
    > that this is an impersonal/generic "you" I reference) might be able to
    > argue an exemption from the QT license.


    So maybe it's time to resurrect anygui, maybe in a simplified version
    which can only interface to, say, PyQt or Tkinter -- 'eithergui' maybe.


    Alex
     
    Alex Martelli, Feb 8, 2005
    #18
  19. RM

    Gabriel B. Guest

    > > users. For example, from their FAQ, it seems that no precompiled
    > > binaries will be provided. Support for comercial compilers will not be
    > > built in, only for gcc (through Cygwin?).

    >
    > Isn't this just the same thing with a different spin. There was always
    > an available distribution for linux for non-commercial use. Windows was
    > always the problem. You still can't use it for windows without knowing
    > how to compile the thing on windows.


    Well, if it's GPLed, can't i simply compile it and distribute a GPLed
    ..DLL with the source code for everyone?
     
    Gabriel B., Feb 8, 2005
    #19
  20. On Tue, 08 Feb 2005 19:55:01 +0100, Maciej Mróz wrote:
    > Unfortunately, GPL faq is extremely vague on such border cases, instead
    > of simple "yes/no" answers faq is filled with some advocacy talks ...


    To re-iterate a point I made on a thread last week, nobody really knows
    what the GPL says and means on this topic. We can *barely* outline our
    ignorance, but even our ignorance is pretty fuzzy.

    Copyright-based models can't handle modern computer programs, and the GPL
    is still copyright-based. As such, it is hosed.

    (For an expansion of that idea, see
    http://www.jerf.org/writings/communicationEthics/node7.html ; note the
    next chapter tries to solve this problem in the context of more
    conventional communication, but even with my refinements I'm *still* not
    sure how to handle something like the GPL reasonably. I think you'd have
    to re-define what the GPL covers almost from scratch; I think it could be
    done, but I'm not sure you can fully rationally create an LGPL that
    doesn't have critical exceptions.)
     
    Jeremy Bowers, Feb 8, 2005
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Tim Churches

    Re: Re: Big development in the GUI realm

    Tim Churches, Feb 7, 2005, in forum: Python
    Replies:
    20
    Views:
    617
  2. Tim Churches

    Re: Re: Big development in the GUI realm

    Tim Churches, Feb 8, 2005, in forum: Python
    Replies:
    8
    Views:
    306
    Greg Ewing
    Feb 10, 2005
  3. Shaguf
    Replies:
    0
    Views:
    560
    Shaguf
    Dec 24, 2008
  4. Shaguf
    Replies:
    0
    Views:
    507
    Shaguf
    Dec 26, 2008
  5. Shaguf
    Replies:
    0
    Views:
    277
    Shaguf
    Dec 26, 2008
Loading...

Share This Page