Big development in the GUI realm

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • RM

    #1

    Big development in the GUI realm

    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:

    Find information, resources and relevant links for trolltech.com. This domain may be for sale.


    I wonder how this is going to affect the GUI landscape.

  • Michael Goettsche

    #2
    Re: Big development in the GUI realm

    On Monday 07 February 2005 17:52, RM wrote:[color=blue]
    > 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.[/color]

    Not 100% right. Only drivers for commercial databases will not be included,
    mysql and co. are available.


    Comment

    • Luke Skywalker

      #3
      Re: Big development in the GUI realm

      On Mon, 7 Feb 2005 18:30:18 +0100, Michael Goettsche
      <mail@tuxipuxi. org> wrote:[color=blue]
      >Not 100% right. Only drivers for commercial databases will not be included,
      >mysql and co. are available.[/color]

      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.

      Comment

      • Fredrik Lundh

        #4
        Re: Big development in the GUI realm

        "Luke Skywalker" wrote:
        [color=blue]
        > 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?[/color]

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



        </F>



        Comment

        • Luke Skywalker

          #5
          Re: Big development in the GUI realm

          On Mon, 7 Feb 2005 19:41:11 +0100, "Fredrik Lundh"
          <fredrik@python ware.com> wrote:[color=blue][color=green]
          >> Am I totally off-target?[/color]
          >
          >yes. for details, see the "Combining work with code released under the
          >GPL" section on this page:[/color]

          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 "incorporat ing" 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.

          Comment

          • Fredrik Lundh

            #6
            Re: Big development in the GUI realm

            Luke Skywalker wrote:
            [color=blue]
            > 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.[/color]



            "/.../ 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>



            Comment

            • Grant Edwards

              #7
              Re: Big development in the GUI realm

              On 2005-02-07, Luke Skywalker <luke@tatooine. planet> wrote:[color=blue]
              > On Mon, 7 Feb 2005 19:41:11 +0100, "Fredrik Lundh"
              ><fredrik@pytho nware.com> wrote:[color=green][color=darkred]
              >>> Am I totally off-target?[/color]
              >>
              >>yes. for details, see the "Combining work with code released under the
              >>GPL" section on this page:[/color]
              >
              > Mmmm.. The FAQ isn't very clear about whether it's allowed to write a
              > proprietary EXE that calls a GPLed DLL:[/color]

              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.
              [color=blue]
              > 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?[/color]

              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--

              Comment

              • Tim Churches

                #8
                Re: Big development in the GUI realm

                Fredrik Lundh wrote:
                [color=blue]
                >Luke Skywalker wrote:
                >
                >
                >[color=green]
                >>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.
                >>
                >>[/color]
                >
                > http://www.gnu.org/licenses/gpl-faq....ereAggregation
                >
                > "/.../ 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>
                >
                >[/color]
                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
                "modificati on" 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

                Comment

                • Damjan

                  #9
                  Re: Big development in the GUI realm

                  > For all you GUI developers, things just got a little more interesting.[color=blue]
                  > 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.[/color]

                  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

                  Comment

                  • Steve Holden

                    #10
                    Re: Big development in the GUI realm

                    Luke Skywalker wrote:
                    [color=blue]
                    > On Mon, 7 Feb 2005 18:30:18 +0100, Michael Goettsche.
                    > <mail@tuxipuxi. org> wrote:
                    >[color=green]
                    >>Not 100% right. Only drivers for commercial databases will not be included,
                    >>mysql and co. are available.[/color]
                    >
                    >
                    > 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?
                    >[/color]
                    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/

                    Comment

                    • huy

                      #11
                      Re: Big development in the GUI realm

                      RM wrote:[color=blue]
                      > 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?).[/color]

                      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

                      Comment

                      • Kartic

                        #12
                        Re: Big development in the GUI realm

                        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

                        Comment

                        • Luke Skywalker

                          #13
                          Re: Big development in the GUI realm

                          On Tue, 08 Feb 2005 07:57:51 +1100, Tim Churches
                          <tchur@optushom e.com.au> wrote:[color=blue]
                          >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.[/color]

                          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.

                          Comment

                          • Fredrik Lundh

                            #14
                            Re: Big development in the GUI realm

                            Tim Churches wrote:
                            [color=blue]
                            > 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[/color]

                            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>



                            Comment

                            • Damjan

                              #15
                              Re: Big development in the GUI realm

                              > Isn't this just the same thing with a different spin. There was always[color=blue]
                              > 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.[/color]

                              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

                              Comment

                              Working...