Paul Eggert wrote:
> > +#if defined __ELF__ && (defined __GNUC__ || defined __clang__) \
> > + && defined HAVE_ASM_IFNDEF_ENDIF_BALIGN &&
> > HAVE_ASM_IFNDEF_ENDIF_BALIGN
>
> This checks HAVE_ASM_IFNDEF_ENDIF_BALIGN twice; once should suffice. Or
> did you mean to check HAVE_DLOPEN instead?
This idiom is used to avoid -Wundef warnings. (-Wundef is not
generally useful with Gnulib, but if specific modules want to be
particularly careful about it, why not.)
> > +License:
> > +LGPLv2+
>
> This module is a little unusual in that the main source code is MIT-0
> rather than LGPLv2+. Although it's not incorrect to mark it as LGPLv2+
> here since MIT-0 is compatible, perhaps we should instead add support
> for a new license category 'MIT-0'? (Though that'd be some work.)
Indeed, it would be possible to add support for 'License: MIT-0' in the
module descriptions.
But I would vote against it, because
- For all practical purposes, it would be equivalent to LGPLv2+.
(Since we are not in an ecosystem, like Rust, where the MIT license
is the norm.)
- The FSF does not list "MIT-0" as a license [1], but instead says that
both the Expat license and the X11 license are sometimes referred to
as "the MIT license" [1].
- We should encourage the use of the GPL and its variants, because
the MIT license is a gift to companies like Apple and Microsoft [2].
> Also, is this module intended to be used only within Gnulib, as a
> modules that other Gnulib modules depend on? Or can it be used directly
> by an application? For example, can coreutils use it for how GNU 'sort'
> uses dlopen?
The intent is that it can be used in coreutils,
- for 'sort' → libcrypto,
- for coreutils → openssl (although this part may be done in Gnulib).
Bruno
[1] https://www.gnu.org/licenses/license-list.html
[2]
https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1646353-freebsd-16-retires-the-last-of-its-gpl-code-from-its-base-system?p=1646368#post1646368