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

Re: Reproducible, precompiled .o files: what say policy+gpl?



On Mon, Oct 18, 2004 at 06:55:30PM -0400, Raul Miller wrote:
> > On Mon, Oct 18, 2004 at 07:51:00PM +0200, Josselin Mouette wrote:
> > > Main must be built with only packages from main.
> 
> On Tue, Oct 19, 2004 at 12:37:45AM +0200, Wouter Verhelst wrote:
> > No, that's not true.
> 
> It seems to me -- at least in the context of what Debian distributes and
> calls "Main" -- that this assertion conflicts with the first section of
> the social contract.

No, I don't believe so.

The first section of the SC says that Debian will remain 100% Free
Software. It does not say that the binary bits of Debian can be restored
to something which will produce the exact same MD5 sum using only Free
Software[1]. Since Wesley's software will be released under the GPL, it
will clearly be Free Software, so there is no problem.

The fact that Wesley wanted to build his package using non-free software
does not really matter -- as long as it does build using Free software.
Heck, some developers might have installed icc and might be compiling
their packages using that compiler instead of gcc; as long as their
software does not use too many gcc-isms, you should not even notice so
in the source. How would you tell that such a package is built using icc
instead of gcc, other than by benchmarking?

If you still insist, consider this: If I would know i386 assembler
(which I don't), I could theoretically hand-optimize software before I
upload it. Since I did hand-optimization, the resulting binary would no
longer be built using only Free Software; it would also incorporate the
fruit of my labour. Is the resulting binary now suddenly non-free -- or,
at least, should it go to contrib instead of main? If so, why? If not,
what's the difference between this example, and the question of
icc-built software?

As a side note, I think the comparison to Java-software someone made was
a flawed one. There is a major difference between "it can be compiled,
but it won't be as fast" and "it can be ran by free software, but not
compiled". Some java software is in the latter category; what we are
discussing is in the former.

[1] Which is the case even if there would be no icc-compiled software in
    Debian, simply because it's often impossible to determine what the
    exact used toolchain mix was to build a specific package.

> I'm interested in your reasons for making this assertion.
> 
> If your point is that it's possible build software whose source is
> in main using compilers which are not in Main, I'd agree with you.
> However, I don't see any reason to consider the resulting builds to be
> a part of main.

I don't see any reason why we should not consider the resulting builds
to be part of main.

I am fully aware that there are people who think that all non-free
software should be banned from the face of the earth (Hi Richard!).
However, the fact that some Free Software package is built using
non-free Software, even though it could be built using only Free
compilers, does not suddenly make the Free Software package non-free.

What is 'Free Software' is defined differently by both Debian and the
Free Software Foundation; however, GPL'ed source code which is built
using a non-free compiler does not, in my view, fail any test of either
of those definitions.

> > Wesley's software can be built using software in main. It will not be as
> > fast, but it will still do its job, flawlessly, without loss of
> > features, with the ability to modify the software to better meet one's
> > needs if so required.
> 
> I have no disagreement with this statement.
> 
> > > The GPL doesn't restrict anything you are describing, as long as the
> > > source is available alongside.
> > 
> > Nor does Policy.
> 
> Are you ignoring the social contract?

Of course not. Policy and the Social Contract may not, and IMO do not,
conflict. What's generally allowed in Debian is defined in the Social
Contract. What 'Debian' exactly is, and the exact ugly bits of what is,
and what is not, allowed in that, are defined in Policy. Hence, in some
cases, including this one, Policy is an appropriate tool to determine
whether something is appropriate (provided no conflicts between Policy
and the SC can be found, which I don't think is the case).

> Or, when you talk about "Main", are you talking about something other
> than the packages we distribute in the "Main" section of our archives?

Of course not. On the contrary; the clearest definition of what packages
we distribute in the 'main' section of our archives is in Policy (which
is why I chose to quote that, instead of the SC).

-- 
         EARTH
     smog  |   bricks
 AIR  --  mud  -- FIRE
soda water |   tequila
         WATER
 -- with thanks to fortune

Attachment: signature.asc
Description: Digital signature


Reply to: