lists.zerezo.com



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

***BOGO*** Re: [Mingw-users] strtod is not C99-compatible



Charles Wilson wrote:

> Only if you're happy with the licensing terms of gnulib, which often are
> GPL -- or possibly LGPL (the gnulib strtod module is LGPL).  Depending
> on legal advice, sometimes not even LGPL is acceptable (my employer bans
> the use of LGPL libraries, unless dynamically linked.  For gnulib, it's
> always a static link, so no-go).
> 
> Mingw(-runtime) provides viral free implementations of (certain)
> functions in libmingwex, for precisely these reasons.  And the purpose
> of libmingwex itself is to improve C99 compliance of the mingw compile
> system -- not tell users "go use this [L]GPL module from this other
> library".
> 
> Don't get me wrong, I'm a fan of copyleft. But avoiding copyleft seems
> to be a theme for mingw and the related runtimes, for several good reasons.

Yes, gnulib's strtod is LGPL.  Yes, that doesn't jive with every
project.  But where do you draw the line?  There are countless areas
where the Microsoft runtime's conformity to standards could be improved.

As I understand it the reason for allowing a sprintf replacement was a
tradeoff: adding long double support in that one place made it much
easier to enable working long double support in gcc and libgfortran. 
And there was already a precendent for adding code to support long
double in the form of libmingwex.

Is strtod() really the same tradeoff, or is this going to open the door
to rewriting substantial parts of MSVCRT?  If the precedent becomes
"it's fine to reimplement things in libmingw as long as it's an
unrestrictive license and it improves standards conformity" then I don't
see how you aren't going to eventually end up with a big bloated library
that gets statically linked to every single app, which is really not
along the lines of a project that calls itself Minimalistic.

On the other hand, you have gnulib, which has a similar philosophy
(write replacements that are enabled only on systems where the provided
implementations are broken such that users can simply write code that
assumes a conformant implementation) but instead of only fixing one
function on one platform, you fix numerous functions on countless
platforms.  And since it's a separate project, people that don't want or
need the bloat don't get it.  That is why I suggested gnulib, because
philosopically it just seems to be a better solution to the problem,
modulo issues of licensing and m4-foo.

Brian

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
MinGW-users mailing list
MinGW-users@xxxxxxxxxxxxxxxxxxxxx

You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users