I remember seeing this earlier and my thoughts are still the same. This license scares me.
It tries to close a "loophole" in the GPL that I never considered a loophole. Consequently, we have a brand new license that I don't want to learn because it's mentally exhausting to be reading legal documents when I want to code. I bothered with the GPL because there was enough points of view to feel relatively confident in what was happening. I don't want to bother again.
I hope the painfulness of having yet-another-license outweighed the perceived slights from the loophole they tried to close.
I'm happy to be an early adopter of a new technology. But not a new license. No thanks.
This is not some small licensing detail; it's their entire revenue stream. Cilk++ is basically a compiler. Normally the compiler license doesn't affect your software that is compiled with the compiler, but if Cilk Arts allowed people to compile proprietary code with the free version of their compiler, there'd be no reason to pay them at all.
Can someone who knows about the thing tell me how it's different from OpenMP? Their little example of accelerating a loop, at least, looks much like a standard OpenMP case.
7 comments
[ 3.0 ms ] story [ 30.1 ms ] threadIt tries to close a "loophole" in the GPL that I never considered a loophole. Consequently, we have a brand new license that I don't want to learn because it's mentally exhausting to be reading legal documents when I want to code. I bothered with the GPL because there was enough points of view to feel relatively confident in what was happening. I don't want to bother again.
I hope the painfulness of having yet-another-license outweighed the perceived slights from the loophole they tried to close.
I'm happy to be an early adopter of a new technology. But not a new license. No thanks.
BTW, I think ICC has a similar provision.
2. Cilk++ guarantees space bounds. On P processors, Cilk++ uses no more than P times the stack space of a serial execution. In OpenMP, not so.
3. Cilk++ has a race detector for debugging and software release. With OpenMP, you are on your own.
4. Cilk++ has serial semantics. With OpenMP, you do not have this benefit – only a subset of OpenMP supports serial semantics.
5. Cilk++ has a solution for global variables (a construct called "hyperobjects"). OpenMP does not.