On 23 February 2013 00:16, Thiago Macieira <thiago.macie...@intel.com> wrote:
> On sexta-feira, 22 de fevereiro de 2013 19.26.06, Sze Howe Koh wrote:
>> Actually, I just realized that the open-source "flavour" of TBB is
>> licensed under GPLv2 (http://threadingbuildingblocks.org/Licensing).
>> Doesn't that mean that Qt TBB, if it were to become reality, can't be
>> licensed under the LGPL?
>
> It's GPLv2+exceptions:
>
> The source code of Threading Building Blocks is distributed under version 2
> of the GNU General Public License, with the so-called "runtime exception,"
> as follows (or see any header or implementation file):
>
>    As a special exception, you may use this file as part of a free software
>    library without restriction.  Specifically, if other files instantiate
>    templates or use macros or inline functions from this file, or you compile
>    this file and link it with other files to produce an executable, this
>    file does not by itself cause the resulting executable to be covered by
>    the GNU General Public License.  This exception does not however
>    invalidate any other reasons why the executable file might be covered by
>    the GNU General Public License.
>
> I believe it's the same exception as the one in GNU libstdc++

Apparently, one legal team out there came to the conclusion that, if a
non-GPL project incorporates TBB, someone with access to the project's
source could then re-release the whole project under GPL, even if it
was proprietary [1]

It sounds a bit far-fetched to me, but it would probably be prudent
for us to get an official response from Digia's legal team before we
go ahead, right?

==============
(Splitting the discussion into a new thread [no pun intended] in case
others have thoughts to add)

To recap:
- We want a high-level multithreading solution to replace/rewrite
QtConcurrent [2]
- Incorporating a third-party solution seems like a better idea than
reinventing the wheel [2]

The suggestions were:
- Intel TBB [3]
- KDE ThreadWeaver (which is Qt-based itself) [2]
- OpenMP [4]

Comparisons:
- OpenMP is out of the question, as it's not supported by all
Qt-supported compilers
- ThreadWeaver specializes in task-oriented programming, so it's
orthogonal to QtConcurrent
- TBB includes container-based operations like QtConcurrent, but much more.

So, TBB is the shiniest at the moment, as it can replace all of
QtConcurrent's functionality and more. I'm happy to set up the project
to Qt-ify TBB, if people think it's a good idea and if we get a legal
green light.


Regards,
Sze-Howe

[1] http://software.intel.com/en-us/forums/topic/292842
[2] http://lists.qt-project.org/pipermail/development/2012-November/007921.html
[3] http://lists.qt-project.org/pipermail/development/2012-November/007901.html
[4] http://lists.qt-project.org/pipermail/development/2013-February/009978.html
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to