[Development] Incorporating Intel Threading Building Blocks into Qt? (Was: Evolving Qt's multithreading API)
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
>> > 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 
>"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
>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