[ros-dev] CRT source code issue
Daniel Hazelton
dhazelton at enter.net
Sat Aug 4 17:52:24 CEST 2007
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.
More information about the Ros-dev
mailing list