-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GPLv3 licensing issues #42
Comments
Fixed in commit 94f96cb; thanks for the report. |
I commend you on addressing this so quickly. Thank you for the prompt attention and resolution to this issue. |
why is gnulib there in the first place ? |
From this maintainer's point of view, gnulib is an excellent aid to portability: with it, I can write to standards, not systems, and gnulib takes care of the rest. If you find bugs in it, report them: the developers are highly active. |
there is a standard, it's called POSIX gnulib is horrible, it basically duplicates half the libc, is interdependant (so if you use one function it will pull in others) and its "in-tree" philosophy prevents fixing it once and be done with it. |
Unfortunately few implementations of POSIX are perfect; this includes Darwin (Mac OS X) and GNU/Linux. gnulib does not duplicate anything, it provides implementations only for platforms which don't implement POSIX properly or fully. (For example, if you compile against glibc, very little gnulib code will be built.) It also adds a number of extra very useful APIs, from GNU and of its own. But as I say, please report problems to bug-gnulib@gnu.org, as talking about them in a luaposix bug report won't get anything fixed. |
why does it build and link the entire printf suite then, when a perfectly conformant implementation is provided? it only happens to work well with glibc because it accesses internal members (!) of glibc's FILE struct. |
I don't have gnulib C code in my tree. gnulib is not available under an MIT-compatible license, so luaposix uses no gnulib code (at least, not intentionally). |
(I have written to bug-gnulib about the problems with musl; I suggest you file additional problem or bug reports as you see fit.) |
I got the following reply from a gnulib maintainer about the particular problem you mention: "IIRC, gnulib's freadahead use is caused by musl's printf not being posix I'll raise that on the musl mailing list. |
FYI -
Although the license states that this module is licensed under a flexible MIT/BSD license, as built, it include GPLv3 sources. This is a direct result of using the autoolize 'bootstrap' script to generate the configure script. The 'bootstrap' script creates a file in "lib" called dummy.c that includes the GPLv3 license and is summarily compiled and linked to the module. As a result, this module is now GPLv3 for all intensive purposes. This is very unfortunate and I suspect not the intent. The 'dummy.c' file is a bogus file that is only there to make the linker on MacOSX, FreeBSD, and SunOS happy. The contents are either the definition of an unused typedef or the declaration of an unused int:
ifdef __sun
/* This declaration ensures that the library will export at least 1 symbol. */
int gl_dummy_symbol;
else
/* This declaration is solely to ensure that after preprocessing
this file is never empty. */
typedef int dummy;
endif
It's clear that this should be easy to remove and I believe it should be removed so that the commercially friendly MIT/BSD license can be maintained. One fix I would propose is to remove and/or re-write the file after 'bootstrap' runs to eliminate this issue.
Sorry for being picky, but without this change, it's makes it impossible to use this module in commercial projects where I believe many people already use it. Is this something you could fix?
The text was updated successfully, but these errors were encountered: