I'm trying to understand the licensing situation for the open source version of TBB. The libstd++ exception to the GPL (which apparently is used for the template header files) 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.
This could be read in at least three different ways:
- Just from reading the first sentence ("you may use this file as part of a free software library"), I could be led to assume that even with the libstd++ exception, this software is not intended to be used in commercial software at all. (Which would contradict Intel's stated intentions as I interpret them from the TBB FAQs.)
- As long as I use the binaries and header files from the official distribution, I can use them wherever I like. However, if I want to make a change in the core libraries (i.e. in the non-template code), I need to rebuild those, and if I then use that modified/rebuilt library in my commercial app, I may be in trouble.
- I can modify/rebuild both the template headers and the core libraries as I see fit, and link or compile them with my app.
Can somebody clarify the situation?