[This was just a convenient point in the thread to which to reply; it's
not really a reply to Sean's specific message.]

I think, instead of pedantically applying the wording of the DFSG, we
should be pedantically applying the intended purpose of the DFSG.  The
legal profession has proven, time and time again, that no written
language can perfectly express any sufficiently complex idea (nor can it
express perfectly many very simple ideas).

The intended purpose is to ensure that the recipient has every
reasonable opportunity to modify the software in any reasonable way the
recipient desires.  The sole purpose of the requirement for source is to
protect this freedom, and the requirement should not be applied
independently from this purpose.

So the question becomes how does the inclusion or exclusion of the
binary blob, without inclusion of the full source and build process of
the broken version of the software used to produce the binary blob,
enhance or detract from the recipient's ability to produce a modified
version of the current, good, distributed software.

First, recognize that in this case, the software may be built with or
without the binary blob present, and the resulting software will be the
same.  The blob is only used to allow the person modifying the software
to check for mistakes made during modification.  My opinion would very
likely be different if this were not the case.

In what way does the absence of the blob's source limit the recipient's
ability to modify the current version of the software?  What real,
reasonable (as opposed to hypothetical and unreasonable) kind of
brokenness of the _current_ version of the software would you want to
produce a test for, that not having the old broken version of the source
code would hinder?  The real answer is that the programmer is much more
likely to base such tests on slight modifications of the _current_ code
rather than the _old_ code that had one specific bug that was the
impetus for producing the blob as a test case.

So the reduction of freedom by including the blob without its original
source is infinitesimally small (if not zero).  It is made even smaller
in this specific case by the fact that the source is available from an
older Debian distribution, though this is really beside the point, as
the current application of the DFSG treats one version of Debian as a
stand-alone entity that cannot depend on software in other versions of
Debian.

On the other hand, by including the blob, the test suite used to prevent
regressions due to modifications is significantly more robust, which is
a huge increase in the recipient's ability to modify the software
without unintended consequences.

So, in my opinion, the inclusion of the blob provides a significant
increase in the freedoms that the DFSG is intended to protect, without
any real decrease.

...Marvin

Reply via email to