Results 1 to 12 of 12

Thread: Qt Open Source License :: Mixing GPL and closed-source license

  1. #1
    Join Date
    Mar 2006
    Location
    Dortmund, Germany
    Posts
    13
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Question Qt Open Source License :: Mixing GPL and closed-source license

    Hello.

    I plan to publish my Qt-based tool under Open Source. The tool uses an API which is under a BSD-style Open Source license and a closed-source API by MS. The Open Source version of Qt is published under the GPL. Does this raise any license problems? I'm asking because I think any software which uses GPL code must expose the COMPLETE source code, even of external APIs it uses. This would interfer with the closed-source license of the MS API.


    Hope, someone can help.

    Wan-Hi

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    5,372
    Thanks
    28
    Thanked 976 Times in 912 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    Quote Originally Posted by Wan-Hi
    This would interfer with the closed-source license of the MS API
    Then use MinGW and its version of windows API.

  3. #3
    Join Date
    Mar 2006
    Location
    Dortmund, Germany
    Posts
    13
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    I haven't even thought about the Windows API. the API I use is the Windows Media Format SDK which only includes headers and libs for dynamic dll linking. No source code at all. But people can get it for free and it's a "stand-alone" API.

    Under section 2 of the GPL is written: "...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. ..."

    Well, the sections of my code identifiably based on this Media SDK is distributed as separate work by MS itself. So would the GPL touch their royalty?

    Sorry asking in a Qt forum, but I don't know any other forum which could give better answers.


    Thanks.

    Wan-Hi

  4. #4
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    5,372
    Thanks
    28
    Thanked 976 Times in 912 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    Maybe you will find the answer in the GPL FAQ.

  5. #5
    Join Date
    Mar 2006
    Location
    Dortmund, Germany
    Posts
    13
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    Thank you for that fine link. Unfortunately I'm not allowed to let my tool link to closed-source APIs if I want to release my software under GPL...

  6. #6
    Join Date
    Jan 2006
    Location
    N.B. Canada
    Posts
    47
    Thanked 8 Times in 7 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    I am not sure, but I think you may be ok. I mean there are plenty of GPL'ed applications written in Win32 API, or MFC, which are very much closed source. With these, you indeed have to link against the respective libraries, which are again closed. Maybe I am not understanding the situation. And also i am no lawyer.

    Bojan
    The march of progress:
    C:
    printf("%10.2f", x);
    C++:
    cout << setw(10) << setprecision(2) << showpoint << x;
    Java:
    java.text.NumberFormat formatter = java.text.NumberFormat.getNumberInstance();
    formatter.setMinimumFractionDigits(2);
    formatter.setMaximumFractionDigits(2);
    String s = formatter.format(x);
    for (int i = s.length(); i < 10; i++) System.out.print(' ');
    System.out.print(s);

  7. #7
    Join Date
    Mar 2006
    Location
    Mountain View, California
    Posts
    489
    Thanks
    3
    Thanked 74 Times in 54 Posts
    Qt products
    Qt3 Qt4 Qt/Embedded
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    I would consider the Media SDK to be an OS component. But regardless, it's still okay to do, because you cannot copyright an API. If all you do is link (runtime or dynamic) to an API, you are not creating a derivative work.

  8. #8
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    AFAIK you can't link to a non-gpl compatible library from a gpl application. You need to find some GPL/LGPL alternative. Alternatively you make make an external library which links to that closed source library and make using it from your application an option -- meaning that your app has to be able to run without it (for example by using some GPL'd alternative).

    Another option could be to dynamically load the closed source library using QLibrary and resolve its symbols manually. I don't know what does GPL consider such a situation -- you're not linking with the violating lib, but you still depend on it (unless you make it an option as stated before).

  9. #9
    Join Date
    Mar 2006
    Location
    Dortmund, Germany
    Posts
    13
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    Thanks for the infos. Well, probably it's okay to link to the closed-source libs in my case because every modern Windows ships with some sort of Windows Media Player, so the libs kind of ARE a de facto OS component.

    I also have to ship some MS-implemented standard C++ libs because I strictly call Unicode versions of stdlib functions. MS says to ship them along with an application because they are not System-known yet. Technically it's the same problem again. GPL software using essential, but closed-source stdlib functions.

  10. #10
    Join Date
    Jan 2006
    Location
    germany
    Posts
    75
    Thanks
    9
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    well you should not distribute the media sdl with your program if you license it under the gpl...
    then again you could choose a different gpl-compatabile license for your program but i dont know if you want that...
    Quote Originally Posted by Bertolt Brecht
    What is the robbing of a bank compared to the founding of a bank?

  11. #11
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    Quote Originally Posted by Wan-Hi
    Thanks for the infos. Well, probably it's okay to link to the closed-source libs in my case because every modern Windows ships with some sort of Windows Media Player, so the libs kind of ARE a de facto OS component.
    There are not Open Source as their sources are not available, so that already makes them GPL-incompatible, no matter if they are shipped with the system or not. Windows Media Player component is not a part of the system. And even if it was, it doesn't change anything, it's still GPL incompatible.

    As for the media player itself, you could use it in a GPL'd app as an activeX component, provided that you make it possible to use some other component in its place.

  12. #12
    Join Date
    Mar 2006
    Location
    Mountain View, California
    Posts
    489
    Thanks
    3
    Thanked 74 Times in 54 Posts
    Qt products
    Qt3 Qt4 Qt/Embedded
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Qt Open Source License :: Mixing GPL and closed-source license

    Quote Originally Posted by wysota
    And even if it was, it doesn't change anything...
    Yes it does! Otherwise you couldn't use win32 or any other standard Windows library. The GPL makes an explicit exception for system components. Specifically, the exception clause covers anything "distributed with" the system components. In other words, if it's on the Windows or Visual Studio CDs, you're probably covered.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.