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]