I'm going to try to ramp down my involvement in this subthread about
the philosophical question of whether and when the git history is a
necessary part of "the source code".  Just one more message...

Gerardo Ballabio writes ("Re: What is the source code (was: [RFC] General 
Resolution to deploy tag2upload)"):
> Il giorno mer 19 giu 2024 alle ore 19:03 Ian Jackson
> <ijack...@chiark.greenend.org.uk> ha scritto:
> > [the rest of your message]
> 
> Overall, you make some very valid points. But if the concept that "the
> history is the source" were really upheld and taken to its
> consequences, it might disrupt the whole free software ecosystem.

I agree that there are implications for the way we share software.
(I prefer to think of this from an ethical and ideological point of
view, rather than a legal one.)

> Because, then, every upstream of a GPL project who develops on a
> private VCS (or without using a VCS) and only releases tarballs would
> be violating the GPL, and nobody could distribute binary packages
> because they couldn't provide the "complete corresponding source
> code".

I think a downstream who is using git, and distributing binaries,
should indeed publish their git history.  (In the cases where git is
the source, but I think this is common.)

I don't know if it'sa still true, but a high-profile Linux distro were
in the habit of providing their Linux kernel sources to their users
only as an upstream source tarball plus a single giant diff - but,
internally they're using git.  Keeping the git to themselves in this
situation seems like a fairly blatant trick to stop people from
exercising their (moral and legal) rights.

> And since Debian currently distributes only the current version in its
> source packages, Debian would be in violation too.

For these packages, I don't view the source packages as discharging
our (moral and legal) obligations, indeed.  We *do* sort-of discharge
those obligations because typically the maintainer publishes the git
history on salsa, somewhere, in some form or other.

If you're a Debian expert, salsa is often where you get the source
code to a program if you want to seriously work on it.  (It seems to
me that this is another strong signal that we *do*, in practice,
consider the salsa git repos to be the preferred form for
modification.)

> And tag2upload isn't a step towards fixing that, because (as I
> understand, correct me if I'm wrong) it too builds packages that only
> contain the current version.

Yes, tag2upload doesn't make source packages significantly better at
discharging our (moral and legal) obligations.  It may have integrity
and convenience benefits, and fix a few anomalies, but it doesn't
improve the actual source packages very much.

But tag2upload *does* arrange the publication of the git history, in a
standardised and official and machine-useable place - the dgit-repos
git server.

So I think it does address this problem.

> Furthermore, there's another issue regarding the freeness of the
> package: if the source must include the history, then you aren't
> actually completely free to modify the source, because you can't
> delete the history.

I'm not sure if you mean a barrier that is practical, or legal/moral.
You certainly can rewrite the history.  Whether you *should* is
another matter.  (Sometimes you might be legally *required* to, as has
been discussed in elsewhere in this megathread.)  I think this is
related to, for example the GPL's clause requiring notice of
modification (5(a)).  Those notices are a bit like an invariant
section, too.  I don't see the problem here that you do.

Ian.

-- 
Ian Jackson <ijack...@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to