Re: F36 Change: Package information on ELF objects (System-Wide Change proposal)

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

 



Zbigniew Jędrzejewski-Szmek wrote:
> How so? It was rejected with the request to enhance the motivation section
> and to answer some specific questions about upgrades. This has been done.
> Why do you say an update to a proposal that answers the issues that were
> raised should not be resubmitted?

Sorry, I was under the (apparently mistaken) impression that the change was 
rejected for its whole idea, which IMHO it should have been.

> 1. The strong copyleft licenses allow an offer for the source code
> OR the source code, and most people pick the first.

That statement does not match my experience at all. The GNU GPL "written 
offer" clause is in practice very hard to comply with. (Especially for 
GPLv2-only projects. The GPLv3 has made it slightly more practical, 
admittedly.) In my experience, most projects actually choose to just upload 
the source code next to the binaries. And those that do pick the "written 
offer" solution do not actually do so in a fully compliant way.

I have actually encountered more projects just redistributing the binaries 
with no pointer to the source code at all (which is a violation of the GPL 
and even the LGPL) than valid "written offers". (And you may also be in for 
a surprise if you attempt to take advantage of such a "written offer", 
because the source code may have been lost or never properly saved to begin 
with, or the responsible entity may not even exist anymore.)

> 2. A lot of software is under permissive licenses, which don't require
> this.

In practice, it is going to be almost impossible to build a container with 
only software under such licenses. Even glibc is LGPL. As are a lot of other 
"plumbing layer" libraries that cannot simply be replaced by something else 
(the way, e.g., musl could be used instead of glibc). (E.g., anything 
outputting sound is usually linked to LGPL PulseAudio libraries.)

> 3. And actually if the software is not *distributed*, i.e. stays within
> one organization, all of this doesn't even apply.

Then that organization should have to deal with how to track what software 
is installed on their machines. It is not our business.

> 4. And even when distributing software, you can have a proposal or a link
> to a download at the place where the software is distributed, nothing
> obliges *the user* to always download and install both.

But for that, the user needs to actually know what binaries they are 
downloading to begin with. So just redistributing binaries from a random 
distribution is a bad plan. And I have also not seen any project actually 
fetching the SRPMs (or the dpkg equivalent, i.e., .orig.tar.gz + 
-debian.patch.gz) and offering those for download in practice.

> 5. This proposal is not about licensing, but if it is adopted, it'll only
> make figuring out potential licensing violations easier (in some cases,
> primarily when distributing without recompilation).

True, but is that worth bloating the entire distribution for all users, even 
those who are not violating the licenses?

> "bloat" == couple hundred of bytes. Note that this is only for *compiled*
> objects, which have a few kilobytes of ELF header even in the simplest
> cases. Please see the original proposal for a discussion of various
> circumstances where this additional information is useful.

"couple hundred of bytes" for *every single* ELF binary (executable or 
library) in the distribution. A typical installation has thousands of them. 
The product (say as an estimate, 1 kB / file * 10 000 files = 10 MB) is an 
order of magnitude comparable to the one of the RPM database in containers 
that you are complaining about.

>> And those Dockerfiles are broken, any bug reports from them (i.e., where
>> the package information is missing in the report) should be closed as
>> INSUFFICIENT_DATA immediately.
> 
> The fact that you don't like what somebody else is doing doesn't make it
> "broken" or a "blatant violation of ... license". As discussed in the
> other part of my reply, you're just making very general far-fetched
> statements that may be true in some cases, but are trivially shown to be
> groundless in many other cases.

Deleting the RPM database turns a working Fedora image into a corrupt one 
that can be neither updated nor queried for metadata, how can this not be 
broken?

>> As explained above, those upstreams are illegally redistributing the
>> library binaries.
> 
> No. Not (in general) "illegally", not "redistributing", and not "the
> library binaries".

Have you even read your link:
https://hpc.guix.info/blog/2021/09/whats-in-a-package/
? They are complaining about redistributed library binaries in the PIP 
package.

You can also build the module yourself from bundled library source code, but 
then you are in the self-built binary case, i.e., whether the result has 
annotations is entirely unrelated to whether our RPM binaries have them.

Even if the PIP package switches to doing that, it will be their decision 
whether their build output has annotations, entirely independently of 
whether we enable them for our binaries or not.

So "redistributing the library binaries" is exactly the issue. And I have 
strong doubts that their redistribution method complies to the licenses of 
everything they are redistributing that way, though it would have to be 
checked on a case-by-case basis. (E.g., libgomp is apparently "GPLv3+ and 
GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD", so 
that is several licenses to analyze. In particular, I know the GCC Runtime 
Exception allows statically linking the libraries without shipping their 
source code, but they are shipping shared libraries, so one needs to check 
what exactly the exact version of the GCC Runtime Exception relevant in this 
case allows.)

>> Incidentally, this is also why we need to package software properly in
>> Fedora instead of pointing users to distro-within-the-distro tools such
>> as pip that reinvent the packaging wheel and have no good way to deliver
>> compiled C/C++ dependencies.
> 
> This is a completely unrelated subject. Let's not go there.

This is very much related, because your change proposal makes it so by 
bringing up those use cases.

> It seems to me that you dislike how some people are distributing
> software, and on this dislike you want to build technical and legal
> discussion. Sorry, but your analysis of what licensing implies is just
> baseless, and I don't think we're going to force people to stop using
> docker and pip and curl by not adding metadata to rpms.

Sorry, but I do not see what is "baseless" about the licensing issue (see 
also the further details I added above). And the idea is not to "force 
people to stop using" stuff, but to not spend time making it easier to do 
inherently bad things such as redistributing binaries ripped from a package 
or deleting the RPM database, at the expense of added bloat for everyone.

See also the "Fedora minimum hardware requirements" thread where the 
evergrowing bloat that keeps getting accumulated with every release is being 
discussed. Changes such as this one are one of the problems.

        Kevin Kofler
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux