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

Re: generated source files, GPL and DFSG

shevek@fmf.nl wrote:
> However, when I found that (some of) the graphics had a source from which 
> could be compiled, I concluded two things:
> - To satisfy the GPL, the source for those graphics needs to be distributed 
>   well, so it must be in the source package.
Probably correct.  Also necessary for the DFSG.

Possible exception:
The required *source* is the "preferred form for *modification*".  If you 
would normally want to modify the .xpm files directly, then there is no need 
to include the povray files.  If you would normally want to modify the povray 
files, you need to include them.

> - I don't know if it's actually written anywhere, but I thought everything
>   that has source and can be compiled should be compiled at package build
>   time.  This means the .h-files have to be regenerated (with pov-ray, in 
>   case).
Well, this is considered nice, but is not totally mandatory.  Consider the 
case of autoconf-generated "configure" scripts.  They do not have to be 
rebuilt at package build time.  It's considered "nice", but if technical 
reasons discourage it, you don't have to.

> Now that's where the problem starts: pov-ray is in non-free, so any package
> with a Build-depends: on it must be in contrib (if it is itself free).  
True... but you don't need to Build-depends:, as noted above.

The sole question is in the interpretation of the following clause of the 
Social Contract:
"We will never make the system require the use of a non-free component."

The package itself is free as long as the source is included, even if the 
compiler is unavailable, so it satisfies all the *other* requirements of the 
Social Contract.

Does including this package in "main", although certain parts of it cannot be 
recompiled without non-free software, violate that clause of the Social 
Contract?  I guess it depends on what it means by "make the system require".  
My gut instinct is "no, it's fine, put it in main," because the compiler is 
not "required" by the system, since the system functions fine without 
recompiling the graphics (and will continue to).  I may be wrong, though!

The main/contrib distinction is tricky to say the least.

Reply to: