On Saturday 04 August 2007 04:32:32 Mike Swanson wrote:
On Friday 03 August 2007 16:28:21 Daniel Hazelton
wrote:
unless you hold full copyright to the software
(ie: you are the one who
has released it under the GPL) then there is no way you can distribute it
for commercial purposes. (You can make money to cover distribution costs
and/or make money from support but not off the software itself.)
Who gave you that idea?
http://www.gnu.org/philosophy/selling.html
Then something changed somewhere along the line. (Probably at the GPLv2->GPLv3
transition, but...) The last time I had looked into making *any* money off of
GPL covered software you weren't allowed to do much more than charge a fee to
cover distribution costs. (And it was the GPLv2 that led me to that
understanding. (Though looking at the GPLv2 again I can't quite figure out
why I had this belief.)
Anyway...
Which of their three Licenses is the SSCLI2.0 released under? The "Permissive
License" (which seems the most likely) does not have the stated
anti-commercial restriction. The "Community License" also lacks that
restriction. In fact, the only license that MS is using for their "Share
Source Initiative" that doesn't explicitly permit commercial-sale is
the "Reference License" - and that one only lets you have access to the
source for *reference* purposes. (Oh, nevermind. I just downloaded SSCLI2.0
and it has a completely standalone license, separate from the three listed)
Okay, I can't see where the license shipped with the SSCLI2.0 source allows
for conversion of any part to the GPL. Time to check the code as well - looks
to me like this might all be a red-herring. And yes, it appears to be exactly
that. The SSCLI2.0 code shows that, for "common floating point functions",
there is a bare-bones wrapper around a call into the standard C runtime.
Example:
(clr/src/classlibnative/float/comfloat.cpp)
FCIMPL1_V(double, COMDouble::Sqrt, double d)
WRAPPER_CONTRACT;
STATIC_CONTRACT_SO_TOLERANT;
return (double) sqrt(d);
FCIMPLEND
AAMOF, thats the only occurrence of sqrt() being defined - anywhere in the
source. So it looks like the whole thing - even the existence of the same (or
similar) assembler appearing somewhere - is just a red herring.
DRH
--
Dialup is like pissing through a pipette. Slow and excruciatingly painful.