bug-gnulib
[Top][All Lists]
Advanced

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

Re: Typo/oddity in realpath.texi


From: Reuben Thomas
Subject: Re: Typo/oddity in realpath.texi
Date: Sat, 21 Feb 2009 18:28:41 +0000 (GMT)
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)

On Fri, 20 Feb 2009, Bruno Haible wrote:

Reuben Thomas wrote:
"Gnulib provides a module @samp{canonicalize-lgpl}"

since there's a canonicalize and a canonicalize-lgpl module, shouldn't it
just say "a module @samp{canonicalize}", and users can make the usual guess
that there might be an LGPL version?

The 'canonicalize' module is farther away from the realpath() function:
Different API, and not usable in libraries due to xalloc(). I think mentioning
'canonicalize-lgpl' is therefore more adequate here.

How is the API different for canonicalize-lgpl, other than only declaring one function? It seems to use the same header file as canonicalize, which declares the GNU API canonicalize_file_name, which is documented as equivalent to realpath (foo, NULL).

The other differences are also a bit of a surprise, and to my mind are worth documenting. From reading the gnulib documentation, I generally expect, if I choose an LGPL version, simply to get the same code under a different license. Did I miss something? Or is canonicalize unusual in this respect?

In any case, it would seem worth documenting this, mainly because of the point about libraries. The obvious place would be in the canonicalize-lgpl module.

This seems a rather odd way to divide the code up, where a technical difference (xalloc) is hidden behind a license difference.

Would it make more sense to have a canonicalize module coming in two flavours, GPL and LGPL, and a GPL-only module canonicalize_mode which implements the extra APIs?

Forgive me if I've misunderstood something, but I hope it's at least obvious that there is a lack of clarity here, and I'm keen to help.

--
http://rrt.sc3d.org/ | wit, n.  educated insolence (Aristotle)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]