Matthew Garrett <[EMAIL PROTECTED]> writes:

> Brian Thomas Sniffen <[EMAIL PROTECTED]> wrote:
>> Matthew Garrett <[EMAIL PROTECTED]> writes:
>>
>>> I find badly written perl approximately as hard to deal with as
>>> brainfuck. Do you believe that poor quality perl is non-free, or is the
>>> motive of the author important?
>> 
>> I think it really depends on situation and context, and it is unlikely
>> that accidental obfuscation -- like badly written Perl -- will or
>> should ever keep something out of Debian.
>
> So freedom is more based on motivation than practicalities?

Only you have spoken about motivation.  I said that it depends on
situation and context, and that this issue is unlikely to ever matter
in practice.  To be specific, I don't think anybody's ever going to
point at badly written Perl and claim it's non-free, or point at
intentionally obfuscated code in any language and claim it's free.

There's a related issue that we see all the time (about once a year,
I'd guess), regarding whether "preferred form for modification" takes
non-existence into account.  The general, but weak, consensus seems to
be that it does not.  That is, if I write a program, compile it, and
destroy the source, I have in fact destroyed the source -- not merely
transfered the property of being source to the binary.  This cannot be
free software.  There is no way to get at the preferred form for
modification, because I've nuked it.

Similarly, if company A writes some software and gives it and
obfuscated source to company B, company B can't then link that with
the GPL and distribute, claiming that it prefers the obfuscated source
it *does* have to the binary it has, without regard to the source that
it does not.  Similarly, arguing that the plain source is expensive
and so the obfuscated source is preferred to paying for the plain code
doesn't work.

But you want this in terms of intention and practicality:

Brainfuck is intended by its designers to be write-only.  Nearly
anybody intentionally writing in Brainfuck is intending to produce
non-modifiable code.  Anybody feeding code through an obfuscator is
certainly so intending.

Brainfuck code is not practicably modifiable -- not even by people who
know Brainfuck.  Obfuscated code is similar -- even if I know how to
write obfuscated C, I can't modify sufficiently obfuscated code.

So in both of those cases (Brainfuck and ObfC), intention and
practicality align.  Perhaps you would be able to find a difference
between them, or differentiate my opinions on the subject, if you came
up with a different example -- but I can't think of one.

-Brian

-- 
Brian Sniffen                                       [EMAIL PROTECTED]

Reply via email to