Code Protection Considered Harmful

This was originally posted to the PICLIST on 28-May-1998, in response to numerous complaints about an advertisement of a service to extract code from code-protected microcontrollers.
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 code.

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 good idea.

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 The base article was

Back to my home page

Last updated May 28, 1998

Copyright 1998 Eric Smith

HTML 3.2 Checked! check now