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

Re: main vs. contrib and their purposes



On Sat, Feb 22, 2014 at 12:02:17AM +0100, Markus Koschany wrote:
> On 20.02.2014 17:12, Simon McVittie wrote:
> [...}
> > Free software that requires non-free software is exactly what contrib is
> > there for. I think the original statement on this is SC §1, "We will
> > never make the system require the use of a non-free component".
> 
> Right, but residualvm doesn't require non-free software, neither for
> compilation nor for execution.

Policy 2.2.2 doesn't use the technical term "execution", but the more
subjective "which require software outside of the distribution to either
build or function".  I don't think this is a mistake.

An interpreter is useless without a script.  If there are only non-free
scripts, and it doesn't look like that is going to change any time soon,
and the purpose does not seem to be that the user writes their own
scripts (for example, because there is no usable editor for the script
format), then that means the interpreter is useless without "software
outside of the distribution".  If it is useless, that means it does not
function.

> It is an interpreter and interprets game data files from an old
> adventure game like Grim Fandango. The software, the game engine of
> GF, was reimplemented in residualvm. The program works without
> non-free software and replaces the old executable in its entirety.

Yes, and for classifying it, that means it does not have to go into
non-free.  It doesn't rule out contrib though, and in fact 2.2.2 does
rule out main, IMO.

> >> The affiliation of a package to main or contrib is often not decided
> >> by its license or if it can be compiled or executed without non-free
> >> software

It should be, although not just "executed".  The purpose of Debian main
is to be a free operating system, which does not require anything that
is non-free (nor even recommend it).

The idea is that if the user cares a lot about freedom, they can install
things from main, and they know (my words):
- They are allowed to do what they want with the program and code.
- They are able to do it (so they have access to the code and
  compiler(s), which in turn are as free as the code itself).
- There is no "stripped demo version" nonsense that will tell them to go
  buy the "full" version.  (Note that there may be some of that in main,
  and I think they are bugs; these may be fixed by patching the package
  to remove the notice.  If that is not an option, the package should
  not be in main.)

Putting an interpreter in main that will effectively tell the user "if
you want to use this program, you need this non-free data" is much worse
than the third point, and clearly outside the acceptable domain for
main.

> >> but it is often a matter of subjective and arbitrary beliefs
> >> of single individuals and those are error-prone.

Sure.  But there's nothing wrong with that (well, with the subjective
part anyway).  These are subjective decisions, and packagers will have
to apply common sense.  But while we may make mistakes, we should try to
follow the rules (and sometimes it isn't easy to decide what that
means).

> > If what you want to do is, for instance,
> > 
> > * get inspiration from source code
> > * copy nice algorithms into your Free project (which you intend to
> >   be in main)
> > * develop alternative assets that can replace the non-free ones
> > 
> > then yes, it is completely valid to not care about the distinction
> > between main and contrib: everything in contrib is Free. You might not
> > be able to compile it without installing anything non-DFSG (or modifying
> > it to use a Free library/compiler/whatever), but if you can, the
> > resulting binaries are equally Free. Similarly, you might not be able to
> > use it without installing something non-DFSG (or developing a free
> > replacement).
> 
> You seem to ignore the fact that software in main is not allowed to
> depend on software in contrib or non-free. Neither are you allowed to
> build-depend on software in contrib. That's a grave restriction. You
> always argue from the point of view of someone who is not bound to this
> rules.

I don't understand this response.  The text you quote explains that
things that are unusable without non-free stuff can still be free itself
and fit in contrib.  It is not about software in main, so how is it
ignoring things about it?

> Thanks for sharing your views on the Debian project. However I always
> was under the impression that Debian's goal was to create a free
> operating system that was composed entirely of components in the main
> distribution. My point is that the main section is the free operating
> system and everything outside of it is the maintainers personal pet
> project. I think it's bad to have non-free software in main but to
> exclude free software from main isn't good either.

Exactly for that reason, contrib was created.  Because there are people
(like Linus) who say "I believe that free software is good for me", but
do not care about the ability to compile their software, and don't care
about being pushed towards non-free software.  But others (like RMS)
want to "live in a free world"; they want to be able to do things with
their software, and they never want to hear "you need non-free software
to do that".  They prefer not seeing that software at all.

The first group of people should have contrib (and possibly non-free) in
their sources.list.  The second group shouldn't.  Then everybody is
happy.  Well, they should be.  There are always some people that keep
complaining. :-)

Thanks,
Bas

Attachment: signature.asc
Description: Digital signature


Reply to: