Subject: Re: bug#48342: native-comp emacs gets into an infinite loop at startup if no .el files are available

From: Dima Kogan <[email-masked]>
Date: Tue, 11 May 2021 10:57:03 -0700

Eli Zaretskii <[email-masked]> writes:

>> > Note that if you will be distributing the *.eln files, I think the GPL
>> > requires you to make the *.el files available. In fact, this is so
>> > even with the *.elc files. So I'm not sure I understand how you could
>> > distribute only the *.elc files until now: isn't that contrary to GPL?
>> 
>> The .el files are available, but the user doesn't have to install them.
>> Just like the .c sources are available, but the user can install just
>> the pre-built binaries if they want to.
>
> That's a problematic interpretation of the GPL, IME: this way, how can
> the user be sure he/she will be able to obtain at a later date the
> sources of the exact binary he/she is running?  And the same question
> for Lisp files and the corresponding *.elc/*.eln.  The only way to
> make sure is to have them together.

Debian (an every other distro I'm guessing) has been doing it like this
for a really long time. Everything is versioned. When the distributor
makes packages, they build and ship all the packages together: sources,
binaries, .el, .elc, and so on.

When a user installs the packages at a later time, they don't have to
download and install the whole set. A user installs "emacs" version
"abc". The version string includes the upstream version that select a
specific emacs release AND the packaging version. At any later point in
time the user can install "emacs-el" version "abc" or get the sources
for emacs, again at version "abc". The identical version numbers
guarantee that they're downloading packages the distributor built at the
same time as the "emacs" package the user has already. It works.