|I'll have to side with Bob Blick and David VanHorn on this one. There are
many legitimate reasons to reverse-engineer things, without stealing the
In my youth I learned a great many programming tricks by studying other
people's code, including object code when source was not available. But
I have not stolen a single line of code from anyone else.
While the prices that were advertised were generally too high for casual use,
there are several devices I currently own that I would actually consider
paying that kind of money just so that I would have the capability of making
some small improvements.
Keep in mind that (in the US) intellectual property law was established with
the objective of promoting progress in the arts and sciences. There does not
exist any natural right of ownership to ideas, but such a right was legally
established with limited duration. The intent is that copyrighted works and
patented apparatuses would eventually become public domain, increasing the
wealth of information available to everyone. The time-limited right of
ownership is intended to provide the carrot to the writer or inventor, when
the alternative might be that works not be created, or be kept secret.
However, by law I am allowed to study copyrighted works and patented devices,
and create derivative works by making improvements or changes in order to
better suit my needs. By doing so, I don't gain any additional rights to the
underlying work. However, I am allowed (for instance) to buy a licensed
copy, modify it, and resell it.
The reason that I bring all this up is to point out that while code protection
bits are obviously attractive to developers, they are actually contrary to
the intent of intellectual property law, and to the benefits of society as a
whole. When a device is created containing embedded firmware that is
code-protected, the consumer is denied the opportunity to make changes or
improvements. Also, while the copyright will eventually expire, the code
will never be made available in a usable form, so for all practical intents,
it will not actually enter the public domain.
Given the duration of copyrights, and the rapid evolution of computers, this
may seem rather pointless. But think about how it relates to other fields.
Would you like to live in a world that had no classic literature or musical
works in the public domain? And what if techniques similar to code protection
could be used on other kinds of devices, such as automobiles? How would you
like to buy a car with components that were impenetrable black boxes, that
you couldn't open up, study, or replace (except with identical replacements
from the original manufacturer)? That's exactly what code protection does
to firmware, and yet most people automatically seem to think that it is a
Note that the US Congress is currently working on legislation that will
effectively make reverse engineering of software (and even some hardware)
illegal. The Digital Millenium Copyright Act would criminalize any effort
to defeat or even just study a "technological copyright protection system",
and yet has only the most vague definition of what that is. Vendors will be
free to implement nearly anything they want and call it a protection system.
In case anyone is interested in this subject, and willing to contact your
representatives about it, I've attached below a copy of some of my comments
on this issue which were previously posted to slashdot.org. The base article
Subject: more rights for copyright owners, less for users
by Eric Smith (brouhaha.com) on Sunday May 17, @03:03 eric
What this bill really does is to give copyright owners new, almost unlimited
rights to control the ways in which their works are used, while at the same
time taking away many of the rights that consumers used to have.
In the past, if I bought a software package, I didn't own the actual program,
but I had fairly clear rights to use it on one computer at any time and in any
way I wanted. If I bought an audio CD, I didn't own the music, but I could
listen to it whenever I wanted (with only some small exceptions for public
performance). If I wanted to modfiy the software (or the music), I was free
to do so.
For instance, if I was ambitious I could add a new feature to the software, or
fix a bug myself. I could run the music through filtering software to clean
up noise, or just to make it sound different. As long as I didn't infringe
the copyright by offering copies to others, I could basically do whatever I
wanted to it.
But this new bill will allow the copyright owners to make any arbitrary
restrictions they want on the software (or music, or video, or whatever), and
call it a copyright protection device. I will not be allowed to even attempt
to circumvent these restrictions, no matter how arbitrary or silly they are.
For example, a software publisher could supply a program with a dongle. It so
happens that my Libretto portable computer does not have any built-in serial
or parallel ports for a dongle, unless I plug it into a docking station.
There is a program I use now that requires a dongle, and I have a third party
program that eliminates the need for the dongle. I don't use this to defraud
the publisher; I use it because the software would not be usable on my
computer without it. But under the new bill, it would be illegal for the
third party to sell me their program, or even to reverse engineer the dongle
and write the program in the first place.
Now let's suppose that the publisher doesn't want me to use the software on
Tuesdays. Under current law, the only way he can do that is to make me sign a
license agreement. Under the new law, he can simply make that part of his
copyright protection system (be it a dongle or whatever), and he now has the
force of law on his arbitary and silly restriction.
Of course, nothing prevents the publisher from attempting to impose such a
restriction today. He can build a dongle that does exactly that. But the key
difference is that unless he gets me to sign a license agreement, it is
entirely lawful for me to figure out how to circumvent the restriction.
In essence, this bill gives vast new powers to copyright owners (and takes
them away from consumers), far beyond what the Constitution authorized in
Article I Section 8 Clause 8: "to promote the Progress of Science and useful
Arts, by securing for limited Times to Authors and Inventors the exclusive
Right to their respective Writings and Discoveries;"
Bear in mind that this clause of the Constitution and ratified treaties
(including WIPO) are the only authorization that the government has for
implementing copyrights at all. But this bill goes way beyond what WIPO
The copyright law as it exists today (before this bill is signed into law)
does an adequate job of protecting copyrights. While it is reasonable to
make some minor changes to bring the US into compliance with WIPO, the real
point of the bill is greed. If you'll notice, the Constitution didn't say
"to guarantee that Authors and Inventors squeeze every possible dollar out
of consumers," yet that is basically what this bill is about. It follows
the Golden Rule of Arts and Sciences: He Who Has the Gold, Makes the Rules.
It's too late to call your senators on this one, but please let
your representatives know what you think about it.
William Chops Westfield
In my youth I learned a great many programming tricks by studying other
people's code, including object code when source was not available.
While this more legal and perhaps more moral than stealing code, it's not
really any more ethical. You have not paid to be taught, even if only by
studying the internals that you were not meant to see. This is essentially
the difference between patent, copyright, and trade secret, right? If my
device contains an algorithm that can't be patented or copyright due to the
funny ways that those laws work (ie can't patent algorithms!), then my only
alternative is to make the algorithm a trade secret and protect it by the
means available - any facility for getting around "standard means of
protection" is a threat to my business, requiring cost increases and such if
I want to start potting everything in epoxy or something.
That said, I think perhaps "most" programmers won't mind people learning
from their code, as long as you stay short of assorted forms of theft. But
also I doubt that many people will spend $1000+ just to "learn some
I've always felt that this is the differenece between artists and craftsmen.
A true artist will happilly try to tell you how he creates his art, in hopes
that you will be able to do so as well. A great artist will be saddened
when no matter how much he helps, you just can't do it (since after all,
you're not a great artist.) A craftsman, on the other hand, jealously
guards rather petty techniques he regards as his, and a base craftsman will
get pissed off when you manage to duplicate his feats, even if you did it on
> In my youth I learned a great many programming tricks by studying other
> people's code, including object code when source was not available.
William Chops Westfield <CISCO.COM> replied: billw
> While this more legal and perhaps more moral than stealing code, it's not
> really any more ethical. You have not paid to be taught, even if only by
> studying the internals that you were not meant to see.
I beg to differ about the ethics. If I want to build toasters I can borrow
a friend's book on toasters. Or I can take apart his toaster and examine how
it works. I haven't paid to be taught in either case, nor have I invested
the engineering effort necessary to build a toaster from scratch. In the
first case, the writer of the book didn't make any money teaching me about
toasters. In the second, the manufacturer of the toaster wasn't paid to
teach me about it. I doubt that you will claim that either approach is
unethical (assuming I have my friend's permission), yet that seems to be the
standard you are applying to software.
Historically in the US, it has been considered lawful (and presumably ethical)
to study other manufacturers devices. This encourages progress, and is
precisely the point of the patent system.
|At 12:49 AM 29/05/98 -0000, you wrote:
Eric analogy is a bit flawed in the Toaster department, the written of the
book would have been paid, in any which case there is nothing wrong. On the
other had pulling apart the friends Toaster (Bad move, I would get angry if
I could not have my Toast and Vegimite in the mornings), will only show you
one possible solution on how to build a Toaster, it can not be guaranteed
that this Toaster is not free from defects, nor is the best possible
solution. We as engineers will quite often look at how someone else has
solved the problem, or what possible design errors have been introduced, its
called Learning or Information Gathering. This then brings up the question
of ethics and Law (This I will not enter into).
But to give you an idea of what does go on in the Learning or Information
Gathering process: The first few new models of any car made are often
brought by other car makers.
One goes to the test track (Handling, performance, endurance reliability and
One goes to the sales / marketing / aesthetic group (How does it look, why
would people buy it, what options safety features does it have etc.)
Two go to the engineering department (Now what do those blokes / girls do
If the fellas at the test track crash the car, then the sales / marketing /
aesthetic group loose out!
PS. Why would there not be a PIC in a Nuclear weapon? These devices where
around before they where owned by Microchip, you never know what might be
inside a squirrel!!
Dennis Plunkett: Embedded Hardware, Software design
NEC Australia DRMASS
Line Interface cards
ISDN interface card
ph 03 9264-3867
|Dennis Plunkett <RDD.NECA.NEC.COM.AU> wrote: dennis
> Eric analogy is a bit flawed in the Toaster department, the written of the
> book would have been paid, in any which case there is nothing wrong. On the
Ah, but I deliberately stated that I borrowed the book from my friend. The
line of reasoning that BillW proposed was that if I took apart something and
studied it, I hadn't paid to be educated. Well, if I borrow the book I haven't
paid to be educated either. The author sold one book to my friend, but he
hasn't sold one to me. Therefore, by BillW's reasoning I don't have the
right to learn from the book and build my own toaster.
This is, of course, exactly the sort of reasoning that publishers have tried
to advance on multiple occassions in the past in attempt to ban libraries or
at least put serious restrictions on them. Congress hasn't been dumb enough
to fall for it, at least in the case of books. In the case of software,
Congress did make lending and rental illegal, except in the case of game
cartridges. Quite ironic, since Nintendo was one of the companies trying to
get the law passed. I have no idea why game cartridges should be treated
differently than any other software. However, I also don't understand why
software should be treated differently than books. If I'm allowed to lend
or rent you a book I've purchased, why shouldn't I be allowed to lend or rent
you a software package I've purchased? Of course, I'm not allowed to keep
a photocopy of the book while I lend it to you, and neither should I be
allowed to keep a copy of the software (in memory, on my hard disk, on
CD-ROM, or whereever) while I lend it out.
I probably could find a use for a PIC in a toaster. I wouldn't want to make
the toaster too smart, however. Red Dwarf fans have seen the result of that
More... (looser matching)
- Last day of these posts
- In 1998
, 1999 only
- New search...