Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

TBB license doubt

jogshy
New Contributor I
545 Views
Hello,

I want to use TBB is a closed-source(propietary) and non-free(commercial) project in this way:
I'll generate an executable application just using the TBB library which dynamically-links to the TBB runtime DLL. I won't modify the TBB sources nor the runtime binary... I just want to use TBB runtime+TBB C++ templates in my executable closed-sourced and non-free application.
Finally, as I need to create a Windows installer for my application, I need to embed the runtime TBB library inside the installer and then, on the installation process, to copy the TBB runtime DLL to my app's folder.


I see TBB is now licensed over the GPL2 with the runtime exception which says:

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

The problem is that "free" word. As my application is not-free(commercial) I don't know if I could use your TBB library without having to provide all my source codes in a direct or indirect way(FTP,etc).

Could you clarify me that, please?
Thanks.




0 Kudos
7 Replies
AJ13
New Contributor I
545 Views
I think I can say confidently, that this channel will not give legal advice on the terms of the TBB license. You may check the FAQ, or otherwise consult with a lawyer regarding your usage. libstdc++ is also under the same license, so perhaps you can check there for help.
0 Kudos
RafSchietekat
Valued Contributor III
545 Views
Yes, the license is the same as for the GNU Standard C++ Library, which is being used in countless proprietary programs, of which many were produced by companies with legal departments, I suppose. I therefore generally trust that the explanation they themselves give in the FAQ is correct, but it seems strange that this interpretation is not evident from the license text itself (I doubt that the FAQ can be considered part of the license). Unfortunately, Wikipedia redirects from "GPL runtime exception" to "GPL linking exception" but does not actually address it, and the classpath exception does not use the word "free".

(Added 2009-03-17) Also see TBB FAQ.
0 Kudos
robert-reed
Valued Contributor II
545 Views
Quoting - jogshy
I want to use TBB is a closed-source(propietary) and non-free(commercial) project in this way:
I'll generate an executable application just using the TBB library which dynamically-links to the TBB runtime DLL. I won't modify the TBB sources nor the runtime binary... I just want to use TBB runtime+TBB C++ templates in my executable closed-sourced and non-free application.
Finally, as I need to create a Windows installer for my application, I need to embed the runtime TBB library inside the installer and then, on the installation process, to copy the TBB runtime DLL to my app's folder.

This is not a legal opinion and I am not authorized by Intel to provide legal advice, but... it sounds to me like you might want to buy a commerical IntelThreading Building Blocks (Intel TBB) license to use with your closed-source, commerical project/product. Then it doesn't matter what is the correct legal interpretation of the GPL V2 license with runtime exception with respect to the word, "free," because you'd be distributing on the commercial license, which offers a redistribution license contained in the file, redist.txt. It lets commercial licensees redistribute both libraries and header files. Intel offers commercial licensing to provide just such flexibility.

0 Kudos
jogshy
New Contributor I
545 Views
Well, finally I'll use normal threads. A lawyer here it's not completely sure about the license so, to avoid problems, I'll take the OS path.
Btw, I think this situation is not new... I really hope Intel could replace that license by a better one.
Thanks all.
0 Kudos
robert-reed
Valued Contributor II
545 Views
Quoting - jogshy
Well, finally I'll use normal threads. A lawyer here it's not completely sure about the license so, to avoid problems, I'll take the OS path.
Btw, I think this situation is not new... I really hope Intel could replace that license by a better one.
Thanks all.

I'm sorry to hear that a licensing issue is keeping you from experimenting with Intel Threading Building Blocks, but I think you'll find that this dual-licensing model is very similar to what other companies provide, for example, Qt: http://www.qtsoftware.com/products/licensing.

Even easier: if you've already purchased a copy of IntelCompiler Professional Edition, you may alreadyhave a commercial Intel TBB license.But if not, I hope some day you'll be able to reconsider.
0 Kudos
RafSchietekat
Valued Contributor III
545 Views
Quoting - Raf Schietekat
Yes, the license is the same as for the GNU Standard C++ Library, which is being used in countless proprietary programs, of which many were produced by companies with legal departments, I suppose. I therefore generally trust that the explanation they themselves give in the FAQ is correct, but it seems strange that this interpretation is not evident from the license text itself (I doubt that the FAQ can be considered part of the license). Unfortunately, Wikipedia redirects from "GPL runtime exception" to "GPL linking exception" but does not actually address it, and the classpath exception does not use the word "free".

(Added 2009-03-17) Also see TBB FAQ.

Duh... it only just occurred to me that "as part of a free software library" (my emphasis) means the library itself, i.e., Threading Building Blocks! So it says nothing about your application at all (that's the "without restriction" part): unless there are other reasons than TBB to prohibit it, you may distribute that as only an executable, and charge whatever you like for it.

As far as distributing the dynamic library goes (.so/.dll/...): you should probably refer to Intel's distribution (for everything or just for the source code), and if you built one from a modified version of the library, make the source code for that modified version available as well (or perhaps ship it along with the application). But you don't (even) need to make it possible for the customer to relink the application with an updated version of the library (as with the LGPL), so this only seems like a minor "hassle".

Disclaimer: this is just my personal interpretation (please tell me if I'm mistaken), offered for your (and/or your lawyer's) consideration in making up your own mind.
0 Kudos
Vladimir_P_1234567890
545 Views
Quoting - jogshy

The problem is that "free" word. As my application is not-free(commercial) I don't know if I could use your TBB library without having to provide all my source codes in a direct or indirect way(FTP,etc).

Could you clarify me that, please?
Thanks.

I suggest to ask official support for this. There is aquotation i've got from tbb support page (http://www3.intel.com/cd/software/products/asmo-na/eng/294796.htm)


Submit pre-sales, license, or registration problems to ourIntel Software Startup Help.
0 Kudos
Reply