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

Re: transformations of 'source code'

On Thu, Mar 06, 2003 at 06:06:23PM -0500, Branden Robinson wrote:

> > The tr example (tr A-Z a-z source.c > newsource.c) is irreversible
> > (lossy), but (assuming the source names don't collide under this
> > transformation) produces the same binary, and is (probably) just as
> > readable/editable as the original.  (MyVariable -> myvariable)
> I suggest actually trying this on some real-world code.  A
> garden-variety X client, for example.  It likely won't even compile.
> If it's lossy, it can't be transformation; instead it is modfication.

I'd just like to point you at what I said elsewhere:
<[🔎] 20030306042754.GE1757@hoiho.nz.lemon-computing.com>

Basically the forms can be judged according to their purpose. The source
form is the preferred form for making modifications. The object form is
the form suitable for use in the intended function of the work, and an
"encoded or translated" form which retains the meaning of the original
source (i.e. it is still sufficient to achieve the object of the original
source) should be OK to distribute, provided that the translation or encoding
is reversible.

Non-reversible (i.e. obfuscated or encrypted in such a way that the recipient
cannot recover useful source) should not be allowed.

I'm just slightly stuck on defining exactly why obfuscation (which does retain
meaning) is not OK but (in my view at least) translation into a foreign
language (which retains meaning but, whilst reversible, is not quite
losslessly so) is OK.

I don't think that losslessness is the right criterion, rather something
connected to the meaning of the source and the achievability of the source's


Nick Phillips -- nwp@lemon-computing.com
Try to value useful qualities in one who loves you.

Reply to: