I've been working with TBB solidly over the past few months to parallelize game AI, and I think the library is great. There are a couple articles of mine in the pipeline on the subject also -- which are currently undergoing review!
How would the LGPL help here? It seems that the runtime restriction is specifically intended to be less invasive than the LGPL (by allowing the distribution of a derived work that does not allow the recipient to substitute his own version of the library).
So it would indeed seem that there are no restrictions. Hmm, how should I formulate that this should not be constituted as legal advice, and that you should seek your own council before deciding whether or not to act upon it? :-)
That shouldn't worry you, because that "free software library" would be TBB, not your program.
Of course you should mostly try to do your own homework, but I would just assume that this particular exercise has already been done for libstd++ with far larger stakes by far scarier legal teams.
Still, if you find out anything useful, do let us know about it.
(Added) What would be the problem with the commercial license if you have the kind of money that buys legal advice?
"As I mentioned, I'm running a community project with a semi-open development."
Sorry, I forgot about that when I added my remark.
If I'm understanding this correctly, this only because you're trying to re-release source code that includes headers from TBB? Your strongly worded sentence at first glance seems to imply that any application using the opensource version of TBB will be infected with GPL.
From our analysis, any codebase that uses TBB is effectively GPL. However, your binaries are exempt via the Runtime Exception, as Intel intends. That said, anyone of your employees or partners that has access to your source code could effectively treat it as GPL, and re-release it under that license -- hence the risk.
If I do not have access to the source code, can't I just request it? I always thought that I may request source code of any GPL code base, and owner have to provide it to me in some way (hence Free Software). My understanding may be completely broken, though.
Obviously, you can only request the source code if the binary is released under the GPL license. In this case, however, it's not under the GPL because the Runtime Exception is doing its job correctly for the binaries.
If you got access to the source code otherwise, you could legally treat it as GPL for the reasons I outlined above.
But if I see that the binary uses TBB libraries, I can figure out that the sources are under GPL and request them. No?
If I am wrong, than owner can ignore my request. But if my guess is correct he must give me access to the sources.
What I am missing?
That's not how the GPL works. Just because it's GPL doesn't grant you the right to access it. By default, there's no agreement between you and that company. (In fact, that's the reason companies can sell GPL code.)
You only have the right to request access the code it if the license under which you're given the binary is the GPL. If you were not given the binary, then there's no agreement between you and that company, and the fact that the code is GPL doesn't make any difference to you.
I guess you can only include ppl.h then. I know of at least one other implementation of it. :)
If we're to go by the rules you outlined, I'm not so convinced that it can't be applied to code using libstdc++ as well. Suppose we have (bad) code that uses some internal symbol that only exists in the libstdc++ headers. Then the "plausible deniability" aspect of this would go away, making the source code "at risk" in the same manner.