Ansgar 🙀 <[email protected]> writes:

> Hi,
>
>> I think we should be clear that this wasn't a decision that the
>> tag2upload Delegates took.  It was taken by the FTP team, when
>> dgit-repos was first started.  We explicitly got them to okay storing
>> potentially non-free stuff in git histories there.
>
> There is a difference between some parts of Debian distributing non-
> free artifacts and making non-free artifacts parts of what Debian
> considers source.

+1

> The Dgit folks want to make the complete Git repository, including the
> non-free artifacts, the "source", thus disregarding the social contract
> in its current form. And it is not possible to clean this up even with
> rewriting commit history as that would require resetting branch
> history[1].
>
> They go so far as to claim that including, for example, the Dgit
> software within the Debian archive as-is would actually be a license
> violation as it does not include the Git history (but if development
> history data is such an inherent part of the "preferred form of
> modification", then I wonder whether issue tracker data and mailing
> list data should also be considered part of the complete "preferred
> form of modification").

I think that is a fairly opinionated and non-mainstream interpretation
of what the preferred form of modication means.  It isn't unreasonable,
but it leads to some interesting consequences (see below).

> The "outdated" source model allows excluding artifacts as it doesn't
> require shipping (incomplete) historic baggage associated with the
> development which might contain non-free artifacts.

Indeed.  That's actually a quite powerful and nice property of our
tarball-centric approach.

However, I think there is some potential to find a middle ground here.

Debian already distribute non-free artifacts in main from
snapshot.debian.org, for DFSG violations we weren't aware of but has
since fixed (or where things are "work in progress" and we look at it
with a blind eye).

Distributing non-DFSG content in the historic part of a git repository
for a package in main could equally be seen as the same practice.

I think there is no clear right obvious simple interpretation here, and
this is a space that is evolving and has legal/social aspects.

Compare what the Linux-libre folks consider: they rewrite Linux kernel
git history so that non-free blobs were never introduced into the git
history.  That is the only reasonable approach if you consider the
entire git history the "preferred form of making modifications" and care
about license hygiene.

I think we will see more of the git history rewrite approach: if indeed
the entire git repository is considered a "preferred form of
modification", there is no longer anything immutable about it.  Just
rewrite it when you want to make a change for something in the past
which were a mistake.  Either something is up for modification, or it
isn't.

You can't reasonably claim that an entire git repository is the
preferred form of making modifications to and say that modifications of
it is not permitted.  That would be contrary to GPL intentions.

If only the latest git HEAD is the "preferred form of modication", then
only that counts for license review (and thus MUST be DFSG acceptable),
and older content can be considered similar to snapshot.debian.org
preserving factual history.

The transition to Git SHA256 may make git history rewrites more socially
common than it is now.  I don't think there is anything inherently
problematic with git history rewrites as long as there is some
PGP/SSH/etc signature on resulting work.

People's notion that Git history is immutable is as false as trusting
SHA1 for integrity protection, and the notions are somewhat linked.

Git history rewrites may also improve security by re-signing old commits
using current-maintainer's private keys.

/Simon

Attachment: signature.asc
Description: PGP signature

Reply via email to