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

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

Since there's one GPL question left, I am still posting to debian-legal.
The legal question is marked ********** for those who want to skip the rest.

On Mon, Oct 18, 2004 at 11:49:56AM -0700, Josh Triplett wrote:
> Whether your university owns a license or not does not really affect
> Debian.  icc cannot be included in Debian main.

No, but debian can distribute precompiled object files (legally).
The binaries I meant were the object files.

> Keep in mind that if your algorithm is as good as it sounds, it will be
> around for a long time.  Even if a GCC-compiled version can't achieve
> line-speed right now, if all it needs is a 2x speedup, normal increases
> in computer technology will provide that soon enough.

True enough, but as processors get faster, so does bandwidth.
I expect that ultimately, it will always need to be as fast as possible.

> Consider this: any package with non-free Build-Depends that aren't
> strictly required at runtime could take this approach, by shipping
> precompiled files.  For example, this has come up several times with
> Java packages that tried to just ship a (Sun/Blackdown-compiled) .jar
> file in the source package.  The answer here is the same: you can't ship
> compiled files to avoid having a non-free build-depends (and shouldn't
> ship compiled files at all, even if they were compiled with a Free
> compiler); the package should always be built from source.

That is a good argument; thank you.

> * Upload a package to main which builds using GCC.  (As a side note, you
> might check to see if GCC 3.4/3.5 produces significantly better code.)

gcc-3.3 is not an issue; it ICEs.
gcc-3.4.2 is the version I was referring to.

> * Make it easy for people to rebuild using icc.  See the openoffice.org
> packages for an example; they contain support for rebuilding using a
> non-free JDK based on a flag in DEB_BUILD_OPTIONS.

That's a good idea.

> * Supply icc-built packages either on your people.debian.org site or in
> contrib; if the latter, you need to use a different package name and
> conflict with the gcc-built package in main.

Josselin Mouette <joss@debian.org> said:
> If you really want to distribute a package built with icc, you should
> make a separate package in the contrib section, and have it conflict
> with the package in main.

Yes, this sounds like a good plan.

Put the normal gcc version rsgt in main where the i386 deb has:
Recommends: rsgt-icc

rsgt-icc sits in contrib, completely built by icc (not just some .o s)
Conflicts: rsgt
Provides: rsgt
Replaces: rsgt

If an i386 user (with contrib sourced) runs 'apt-get install rsgt'
will that make apt install rsgt-icc? That's what I hope to accomplish.

(PS. rsgt is not the final name)

For it to sit in contrib, would I have to include the source code in contrib
as well? Or would the fact that the source code was in main already satisfy
the GPL requirement of source availability?

Clearly, it could still sit in non-free without the source, but contrib is
more accurate imo. If there's no reason to include 2* the source, I see no
reason to present 2* the load to the ftp-servers.

> it is acceptable *under the GPL* to provide binaries compiled with
> non-free compilers, unless the resulting compiled binary is somehow
> derivative of a non-free work that is not an OS component. In the end, if
> people want to exercise their rights under the GPL, they will want the
> source, not the binaries, and you are supplying that source alongside the
> binaries, which satisfies the GPL.

Then I suppose it makes sense to just supply a precompiled version (with
icc) and a source tarball as upstream. The debian version would work as
covered already above.

> > PS. I will provide the source code to anyone who requests it, but not yet
> > under the GPL. Only after I publish a paper about the algorithm will the 
> > code be released under the GPL.
> Keep in mind that FFTW is GPLed, so unless you have made other
> arrangements with its copyright holders, you need to refrain from
> supplying the code or binaries to anyone unless under the GPL.

Oh, that's a good point. 
I withdrawl my offer of private pre-release.
You can only have a copy after I publish. ;)

Thank you for your detailed explanation and answer.

Wesley W. Terpstra

Reply to: