[Gllug] Hypothetical GPL question

Mike Brodbelt mike at coruscant.demon.co.uk
Mon Oct 8 19:13:04 UTC 2001


jim wrote:
> 
> It's an interesting question, and pretty much exactly what Dave Touretzky
> has been going on about in the CSS case ... just type `touretzky' into
> Google and you'll find all sorts of stuff. The line between human-readable
> and non-human-readable depends almost entirely on the human; seeing as you
> mention the 6502, there are people out there to whom a hex dump of a 6502
> program is readable, at least to an extent (I am one of them). I would say
> that most programmers in compiled languages glance at the disassembled
> object code in a debugger or disassembler from time to time to see what
> the compiler is doing to their code.

Most *good* programmers perhaps. I find that a frightening percentage of
"programmers" wouldn't have a clue, don't want to know, and have never
touched an assembly language.

I had one friend who learnt assembly first, knew the Intel opcode map
like the back of his hand, and whose approach to C was "what can I write
that this compiler will assemble to the machine code I want". He used to
ask his C compiler to produce an assmebly language listing, and used
that exclusively to debug...
 
> As an aside, there are also people out there who can read Rot-13 directly,
> does the DMCA make it illegal for them to look at certain bits of
> ciphertext? I'm fairly sure it makes it illegal to "traffic in" a piece of
> paper with
>   ABCDEFGHIJKLM
>   NOPQRSTUVWXYZ
> written on it. Or, seeing as machine translation is beginning to become,
> if not good at least comprehensible, could I claim that translating a
> document into French, for example, was a "technological protection
> measure" if I used a computer to do it? Not strictly relevant, but it
> touches on the "what is readable" issue.
> 
> > To a non-programmer, access to C source code would be just as helpful as
> > access to the "machine source code" i.e. the binary.
> 
> And to, say, a chip designer or an assembler writer the same would be
> true, but in the opposite sense.
> 
> > Perhaps there are already GPL binaries-only out there?
> 
> It's an interesting way to abuse the GPL, if it is possible. Don't tell
> rms ;)

I think it would be hard to argue that you wrote a program in machine
code. Assembler is easy to code in if you know the language, and, is
readble to any other assembly programmer. 

Machine code, OTOH is a different kettle of fish. You would have to
compute all the jumps by hand, and every time you added an instruction
to your program, the whole lot would be thrown again. I've written
things in machine code in the past, by using debug under DOS to enter
hex directly (mostly as an exercise to demonstrate to people that binary
was not magic!). For a 20 byte program, OK - for 200 Kbyte, no. Before I
could afford a copy of MASM, I used to write small asm progs into text
files, and use debug to assemble them. Better than writing raw hex by
far, but debug couldn't deal with comments in the files, or sensible use
of whitespace, and I had to recompute the jumps manually - I'd make
everything jump a fixed amount, assemble, then look at the generated
code to work out the proper jump sizes, change the source, then
re-assemble. Being DOS, if you made a typo, the machine crashed, and you
had to reboot.... 

I was a very poor student, MASM was 110ukp, no one I knew had a copy,
and I still only suffered with debug for a brief period before I scraped
the cash together for a copy. It's not a sensible way to program, and if
you presented me with a dynamically linked 600 kilobyte executable, and
claimed you'd written it in machine code, frankly, I'd call you a liar.
Add to that the fact that assembly programs must be commented. I've
written things without comments before - you come back to them 2 days
later, and *you* don't know how they work any more, let alone anyone
else....

Mike.

-- 
Gllug mailing list  -  Gllug at linux.co.uk
http://list.ftech.net/mailman/listinfo/gllug




More information about the GLLUG mailing list