Re: argp: Correct documentation

2022-12-07 Thread Alfred M. Szmidt
   You can do advocacy of GNU and the GNU system in many places. But lists of
   platforms in *technical documentation* are not the proper place to do so.

That is incorrect, it is an excellent place to do so.  Our guidelines
also do not differentiate between technical documentation, and other
places.

   > We avoid
   > mentioning them out of principle, since we do not want to promote
   > them.

   Are you saying that it *promotes* HP-UX, to state that HP-UX 11 lacks
   a certain variable?

Mentioning irrelevant, or obsolete platforms, does proomote them.
Please refer to the GNU Coding Standards, and GNU Maintainer guide.

I think it is best that this is brought up with RMS directly, since
that you're being antagonistic as per usual.



Re: argp: Correct documentation

2022-12-07 Thread Alfred M. Szmidt
The gnulib documentation calls the GNU based systems for "glibc
platform"; I suggested that this was changed but only got unfriendly
pushback from Bruno.

The gnulib manual uses the phrase to detonate a list of operating
systems, for example

  Portability problems fixed by Gnulib:
  @itemize
  @item
  This variable is missing on all non-glibc platforms:
  macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, 
HP-UX 11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
  @end itemize

  Portability problems not fixed by Gnulib:
  @itemize
  @end itemize

The suggestion was to use "GNU systems" or similar wording.

   Alfred M. Szmidt wrote:
   > 
   >Alfred M. Szmidt wrote:
   >> Does a system become a `glibc platform' if one uses gnulib?
   > 
   >No, it doesn't, because
   >  - the term 'platform' or 'system' denotes the basic OS + base 
libraries,
   >  - Gnulib does not emcompass glibc.
   > 
   > Ok, so you agree that there is no such thing as a "glibc platform",
   > seeing that glibc is not "basic OS + base libraries".  So it makes
   > sense to not use that term.

   It's pointless to do hairsplitting like this. We use the term "platform"
   extensively in the Gnulib documentation for 15 years:
 https://www.gnu.org/software/gnulib/manual/html_node/Target-Platforms.html
   and no one has ever asked for a definition, nor reported that this 
documentation
   was ambiguous.

   >> I could not find this decision in those two references, both are pages
   >> from Debian, and nothing from RMS on the topic.
   > 
   >You can trust my memory on this statement, even though I can't find
   >the precise mail where RMS announced this decision. It was probably
   >in 2001.
   > 
   > It has little to do with trust, if there is such an "announcment" it
   > would be useful to put it up on gnu.org.

   There is at least this FAQ on gnu.org: https://www.gnu.org/non-gnu/glibc-bsd/

   > What matters is the GNU project, and what we say.

   You can do advocacy of GNU and the GNU system in many places. But lists of
   platforms in *technical documentation* are not the proper place to do so.

   > The text over all is messy on other points as well:
   > 
   >Portability problems fixed by Gnulib:
   >@itemize
   >   +@item
   >   +This variable is missing on all non-glibc platforms:
   >   +macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 
5.1, HP-UX 11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
   >   
   >   ...
   > 
   > Does this mean that FreeBSD 12 supports it?  What amount Minix 2?

   These questions are irrelevant. Any Gnulib user will want portability
   to FreeBSD versions ≥ X, where X depends. Therefore, if they want
   portability to FreeBSD 12, they will also want portability to FreeBSD 13.
   If a feature is not available on FreeBSD 13, it therefore does not
   matter whether it is present on FreeBSD 12, 11, 6.4, or 1.0.

   > Are
   > these "all" the platforms, seeing that it is an exhaustive list in
   > detail.

   See 
https://www.gnu.org/software/gnulib/manual/html_node/Target-Platforms.html

   > We avoid
   > mentioning them out of principle, since we do not want to promote
   > them.

   Are you saying that it *promotes* HP-UX, to state that HP-UX 11 lacks
   a certain variable?

   > Why isn't freedos listed?

   See 
https://www.gnu.org/software/gnulib/manual/html_node/Target-Platforms.html

   > Is this list manually updated each,
   > and every time those companies or projects make a release? That seems
   > like useless churn.

   Please leave it up to me, to decide on what tasks/patches I spend or waste
   my time. I don't comment publicly on the cost/benefit ratio of your tasks/
   patches either.

   Bruno








Re: argp: Correct documentation

2022-12-07 Thread Paul Eggert

On 12/7/22 06:53, Bruno Haible wrote:

It's pointless to do hairsplitting like this.


I tend to agree.

In situations like this, I sometimes use a handwavy phrase like "GNUish 
system" or "GNU-like system". I suppose we could say something like 
"present only on glibc-like platforms" but to be honest the current 
wording looks OK to me.




Re: argp: Correct documentation

2022-12-07 Thread Bruno Haible
Alfred M. Szmidt wrote:
> 
>Alfred M. Szmidt wrote:
>> Does a system become a `glibc platform' if one uses gnulib?
> 
>No, it doesn't, because
>  - the term 'platform' or 'system' denotes the basic OS + base libraries,
>  - Gnulib does not emcompass glibc.
> 
> Ok, so you agree that there is no such thing as a "glibc platform",
> seeing that glibc is not "basic OS + base libraries".  So it makes
> sense to not use that term.

It's pointless to do hairsplitting like this. We use the term "platform"
extensively in the Gnulib documentation for 15 years:
  https://www.gnu.org/software/gnulib/manual/html_node/Target-Platforms.html
and no one has ever asked for a definition, nor reported that this documentation
was ambiguous.

>> I could not find this decision in those two references, both are pages
>> from Debian, and nothing from RMS on the topic.
> 
>You can trust my memory on this statement, even though I can't find
>the precise mail where RMS announced this decision. It was probably
>in 2001.
> 
> It has little to do with trust, if there is such an "announcment" it
> would be useful to put it up on gnu.org.

There is at least this FAQ on gnu.org: https://www.gnu.org/non-gnu/glibc-bsd/

> What matters is the GNU project, and what we say.

You can do advocacy of GNU and the GNU system in many places. But lists of
platforms in *technical documentation* are not the proper place to do so.

> The text over all is messy on other points as well:
> 
>Portability problems fixed by Gnulib:
>@itemize
>   +@item
>   +This variable is missing on all non-glibc platforms:
>   +macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, 
> HP-UX 11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
>   
>   ...
> 
> Does this mean that FreeBSD 12 supports it?  What amount Minix 2?

These questions are irrelevant. Any Gnulib user will want portability
to FreeBSD versions ≥ X, where X depends. Therefore, if they want
portability to FreeBSD 12, they will also want portability to FreeBSD 13.
If a feature is not available on FreeBSD 13, it therefore does not
matter whether it is present on FreeBSD 12, 11, 6.4, or 1.0.

> Are
> these "all" the platforms, seeing that it is an exhaustive list in
> detail.

See https://www.gnu.org/software/gnulib/manual/html_node/Target-Platforms.html

> We avoid
> mentioning them out of principle, since we do not want to promote
> them.

Are you saying that it *promotes* HP-UX, to state that HP-UX 11 lacks
a certain variable?

> Why isn't freedos listed?

See https://www.gnu.org/software/gnulib/manual/html_node/Target-Platforms.html

> Is this list manually updated each,
> and every time those companies or projects make a release? That seems
> like useless churn.

Please leave it up to me, to decide on what tasks/patches I spend or waste
my time. I don't comment publicly on the cost/benefit ratio of your tasks/
patches either.

Bruno






Re: argp: Correct documentation

2022-12-07 Thread Alfred M. Szmidt


   Alfred M. Szmidt wrote:
   > Does a system become a `glibc platform' if one uses gnulib?

   No, it doesn't, because
 - the term 'platform' or 'system' denotes the basic OS + base libraries,
 - Gnulib does not emcompass glibc.

Ok, so you agree that there is no such thing as a "glibc platform",
seeing that glibc is not "basic OS + base libraries".  So it makes
sense to not use that term.  I suspect that you find it clear since
you came up with it, to others it is not as clear.

   > I could not find this decision in those two references, both are pages
   > from Debian, and nothing from RMS on the topic.

   You can trust my memory on this statement, even though I can't find
   the precise mail where RMS announced this decision. It was probably
   in 2001.

It has little to do with trust, if there is such an "announcment" it
would be useful to put it up on gnu.org.  I do not recall any such
thing from RMS having been announced around that time, or at all.

   >  - Is Alpine Linux a GNU system? (It uses musl libc instead of glibc.) 
[4]
   > 
   > No, Alpine is not based on the GNU system ...
   > 
   >  - Is Windows with WSL and a GNU distro a GNU system? [5][6]
   > 
   > Windows is the operating system here, that is what your computer is
   > running.  Just becaues you run another operating system inside an
   > existing one, doesn't mean that one becomes the other.  

   While you can answer these questions (and I agree with the answers), the mere
   fact that these questions appear on reddit shows that the term "GNU system"
   is not as unambiguous as one might wish.

What reddit, or some other nasty fourm shows does not make something
ambiguous.  What matters is the GNU project, and what we say.  Seeing
that you yourself could answer these two questions, we can agree that
there is little ambigiousity in what constitutes the GNU system.

Overall, the GNU system is not "based on the 'glibc platfrom'", and
lets avoid using that term.  We have far clearer ones, like the 'GNU
system' to use that has wide acceptance in the GNU project, but also
outside.


The text over all is messy on other points as well:

   Portability problems fixed by Gnulib:
   @itemize
  +@item
  +This variable is missing on all non-glibc platforms:
  +macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, 
HP-UX 11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
  
  ...

Does this mean that FreeBSD 12 supports it?  What amount Minix 2?  Are
these "all" the platforms, seeing that it is an exhaustive list in
detail.  Will one list other obscure non-free platforms?  We avoid
mentioning them out of principle, since we do not want to promote
them.  Why isn't freedos listed?  Is this list manually updated each,
and every time those companies or projects make a release? That seems
like useless churn.  Etc 



Re: argp: Correct documentation

2022-12-06 Thread Bruno Haible
Alfred M. Szmidt wrote:
> Does a system become a `glibc platform' if one uses gnulib?

No, it doesn't, because
  - the term 'platform' or 'system' denotes the basic OS + base libraries,
  - Gnulib does not emcompass glibc.

> Seeing
> that all or most of the things glibc provides, so does gnulib.

Gnulib is far away from providing all that glibc provides. See
https://www.gnu.org/software/gnulib/manual/html_node/Glibc-Header-File-Substitutes.html
and
https://www.gnu.org/software/gnulib/manual/html_node/Glibc-Function-Substitutes.html

>  * RMS decided that the NetBSD kernel, plus the NetBSD libc, plus GNU
>userland is a GNU system and to be called "GNU/NetBSD". [1]
>Whereas the NetBSD kernel, plus glibc, plus GNU userland is to be
>called "GNU/kNetBSD". [2]
> 
> I could not find this decision in those two references, both are pages
> from Debian, and nothing from RMS on the topic.

You can trust my memory on this statement, even though I can't find the precise
mail where RMS announced this decision. It was probably in 2001.

>  - Is Alpine Linux a GNU system? (It uses musl libc instead of glibc.) [4]
> 
> No, Alpine is not based on the GNU system ...
> 
>  - Is Windows with WSL and a GNU distro a GNU system? [5][6]
> 
> Windows is the operating system here, that is what your computer is
> running.  Just becaues you run another operating system inside an
> existing one, doesn't mean that one becomes the other.  

While you can answer these questions (and I agree with the answers), the mere
fact that these questions appear on reddit shows that the term "GNU system"
is not as unambiguous as one might wish.

Bruno






Re: argp: Correct documentation

2022-12-06 Thread Alfred M. Szmidt
   >+This variable is missing on all non-glibc platforms:
   > 
   > How about we just say "non-GNU systems" -- the majority of operating
   > systems in the world are 'non-glibc platforms', and there is no
   > platform that is called 'glibc'.  Our system is called GNU after
   > all...

   First, "glibc platforms" and "GNU systems" are not the same thing.

True, since there is nothing like a "glibc platform", it is a bad term
that has no good meaning.  

The text reads strangley anyway, if you use gnulib (or via some other
means, in the case of argp there used to be a libargp that was
portable across many systems) on a operating system that does not use
the GNU C Library, then .. it does exist.  But the text claims that it
does not.

Does a system become a `glibc platform' if one uses gnulib? Seeing
that all or most of the things glibc provides, so does gnulib.

 * RMS decided that the NetBSD kernel, plus the NetBSD libc, plus GNU
   userland is a GNU system and to be called "GNU/NetBSD". [1]
   Whereas the NetBSD kernel, plus glibc, plus GNU userland is to be
   called "GNU/kNetBSD". [2]

I could not find this decision in those two references, both are pages
from Debian, and nothing from RMS on the topic.

 * According to the definition of GNU system [3], it looks like a
   distro based on Linux, glibc, and lots of proprietary software
   would not be a GNU system.

   Second, in technical documentation, I prefer to have unambiguous terms,
   and there is ambiguity in the term "GNU system":

We have plenty of texts that clear up any ambiguity, where as there is
nothing on 'glibc platform'.  There is little ambiguity about what it
means, and even if it did the little extra is worth to mention our own
operating system in a list of other operating systems.

 - Is Alpine Linux a GNU system? (It uses musl libc instead of glibc.) [4]

No, Alpine is not based on the GNU system, much like Android. See
https://www.gnu.org/philosophy/android-and-users-freedom.en.html

 - Is Windows with WSL and a GNU distro a GNU system? [5][6]

Windows is the operating system here, that is what your computer is
running.  Just becaues you run another operating system inside an
existing one, doesn't mean that one becomes the other.  




Re: argp: Correct documentation

2022-12-06 Thread Bruno Haible
Hi Alfred,

>+This variable is missing on all non-glibc platforms:
> 
> How about we just say "non-GNU systems" -- the majority of operating
> systems in the world are 'non-glibc platforms', and there is no
> platform that is called 'glibc'.  Our system is called GNU after
> all...

First, "glibc platforms" and "GNU systems" are not the same thing.

  * RMS decided that the NetBSD kernel, plus the NetBSD libc, plus GNU
userland is a GNU system and to be called "GNU/NetBSD". [1]
Whereas the NetBSD kernel, plus glibc, plus GNU userland is to be
called "GNU/kNetBSD". [2]

  * According to the definition of GNU system [3], it looks like a
distro based on Linux, glibc, and lots of proprietary software
would not be a GNU system.

Second, in technical documentation, I prefer to have unambiguous terms,
and there is ambiguity in the term "GNU system":

  - Is Alpine Linux a GNU system? (It uses musl libc instead of glibc.) [4]

  - Is Windows with WSL and a GNU distro a GNU system? [5][6]

Bruno

[1] https://www.debian.org/ports/netbsd/index.en.html
[2] https://www.debian.org/ports/kfreebsd-gnu/index.en.html
[3] https://www.gnu.org/home.en.html
[4] https://www.reddit.com/r/gnu/comments/bqszff/is_alpine_gnulinux/
[5] https://news.ycombinator.com/item?id=14095643
[6] https://emacs.stackexchange.com/questions/47782/






Re: argp: Correct documentation

2022-12-06 Thread Alfred M. Szmidt
Portability problems fixed by Gnulib:
@itemize
   +@item
   +This variable is missing on all non-glibc platforms:

How about we just say "non-GNU systems" -- the majority of operating
systems in the world are 'non-glibc platforms', and there is no
platform that is called 'glibc'.  Our system is called GNU after
all...



argp: Correct documentation

2022-12-05 Thread Bruno Haible
José Marchesi noticed that the Gnulib documentation of the 'argp' module
does not mention that it actually implements the various argp_* functions.

This patch fixes it.


2022-12-05  Bruno Haible  

argp: Correct documentation.
Reported by José E. Marchesi .
* doc/glibc-functions/argp_*.texi: Mention the 'argp' module.

diff --git a/doc/glibc-functions/argp_err_exit_status.texi 
b/doc/glibc-functions/argp_err_exit_status.texi
index a443bbc731..3d68d94334 100644
--- a/doc/glibc-functions/argp_err_exit_status.texi
+++ b/doc/glibc-functions/argp_err_exit_status.texi
@@ -10,15 +10,15 @@ Documentation:@*
 
@url{https://www.gnu.org/software/libc/manual/html_node/Argp-Global-Variables.html}.
 @end ifnotinfo
 
-Gnulib module: ---
+Gnulib module: argp
 
 Portability problems fixed by Gnulib:
 @itemize
+@item
+This variable is missing on all non-glibc platforms:
+macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
-@item
-This variable is missing on all non-glibc platforms:
-macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
diff --git a/doc/glibc-functions/argp_error.texi 
b/doc/glibc-functions/argp_error.texi
index e7b448a202..e43fa94028 100644
--- a/doc/glibc-functions/argp_error.texi
+++ b/doc/glibc-functions/argp_error.texi
@@ -10,15 +10,15 @@ Documentation:@*
 
@url{https://www.gnu.org/software/libc/manual/html_node/Argp-Helper-Functions.html}.
 @end ifnotinfo
 
-Gnulib module: ---
+Gnulib module: argp
 
 Portability problems fixed by Gnulib:
 @itemize
+@item
+This function is missing on all non-glibc platforms:
+macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
-@item
-This function is missing on all non-glibc platforms:
-macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
diff --git a/doc/glibc-functions/argp_failure.texi 
b/doc/glibc-functions/argp_failure.texi
index bb579b7245..176fdf2882 100644
--- a/doc/glibc-functions/argp_failure.texi
+++ b/doc/glibc-functions/argp_failure.texi
@@ -10,15 +10,15 @@ Documentation:@*
 
@url{https://www.gnu.org/software/libc/manual/html_node/Argp-Helper-Functions.html}.
 @end ifnotinfo
 
-Gnulib module: ---
+Gnulib module: argp
 
 Portability problems fixed by Gnulib:
 @itemize
+@item
+This function is missing on all non-glibc platforms:
+macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
-@item
-This function is missing on all non-glibc platforms:
-macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
diff --git a/doc/glibc-functions/argp_help.texi 
b/doc/glibc-functions/argp_help.texi
index 421962a529..37344fb7de 100644
--- a/doc/glibc-functions/argp_help.texi
+++ b/doc/glibc-functions/argp_help.texi
@@ -10,15 +10,15 @@ Documentation:@*
 @url{https://www.gnu.org/software/libc/manual/html_node/Argp-Help.html}.
 @end ifnotinfo
 
-Gnulib module: ---
+Gnulib module: argp
 
 Portability problems fixed by Gnulib:
 @itemize
+@item
+This function is missing on all non-glibc platforms:
+macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
-@item
-This function is missing on all non-glibc platforms:
-macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
diff --git a/doc/glibc-functions/argp_parse.texi 
b/doc/glibc-functions/argp_parse.texi
index 0ccfe0bbb1..01590b0698 100644
--- a/doc/glibc-functions/argp_parse.texi
+++ b/doc/glibc-functions/argp_parse.texi
@@ -10,15 +10,15 @@ Documentation:@*
 @url{https://www.gnu.org/software/libc/manual/html_node/Argp.html}.
 @end ifnotinfo
 
-Gnulib module: ---
+Gnulib module: argp
 
 Portability problems fixed by Gnulib:
 @itemize
+@item
+This function is missing on all non-glibc platforms:
+macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 
11, IRIX 6.5, Solaris 11.4, Cygwin 2.9, mingw, MSVC 14, Android 9.0.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
-@item
-This function is missing on all non-glibc platforms:
-macOS 11.1, FreeBSD 13.0, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8