Re: argp: Correct documentation
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
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
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
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
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
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
>+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
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
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
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