[Development] Incorporating Intel Threading Building Blocks into Qt? (Was: Evolving Qt's multithreading API)

Knoll Lars Lars.Knoll at digia.com
Mon Mar 4 11:49:43 CET 2013

On 2/28/13 5:01 PM, "Thiago Macieira" <thiago.macieira at intel.com> wrote:

>On quinta-feira, 28 de fevereiro de 2013 18.35.23, Sze Howe Koh wrote:
>> On 23 February 2013 00:16, Thiago Macieira <thiago.macieira at intel.com>
>> > 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
>> > 2
>> > of the GNU General Public License, with the so-called "runtime
>> > 
>> > 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
>> >    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,
>> >    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
>> >    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]
>"Some legal team" does not help, of course. But I did a little more
>and it looks like the exception is not like libstdc++'s. The one there is
>MUCH longer text. It's also not the short text found in GNU classpath.
>Moreover, I've just noticed it says "you may use this file as part of a
>software library". That means if you're not doing a free software
>library, it 
>does not apply.
>> 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?
>Bit I can also check with Intel's legal team what the intention was. They
>not give a legal opinion, but the people behind TBB might be able to say
>their intention was.
>Also note that TBB is available under a commercial license too.
>> 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.

The exception above unfortunately doesn't look good enough to me to
incorporate the whole thing into Qt, at least not as part of qtbase. I
think an add-on based on TBB might be possible.


More information about the Development mailing list