Shrutarshi Basu

The Right to Reverse Engineer

Introduction

There are currently over a billion personal computers in active use in the world. This number is currently growing at about 12% a year and is projected to double in the next six years {gartner}. The personal computer industry is now worth trillions of dollars and is growing despite economic difficulties in other areas {idc}. Over the past few decades computers have come to play a central part in our day to day lives, greatly boosting personal productivity and forever changing the way we work and communicate. However, all this might never have been had it not been for the right to reverse engineer and the engineers acting on this right.

This paper examines how reverse engineering played a crucial role in the birth of the modern personal comptuer industry. It examines how major corporations tried to limit the reverse engineering in order to preserve their monopolies and discusses whether those actions were legal or ethical. Both the benefits and problems of reverse engineering in the current context are examined with reference to ethical considerations. The paper will apply Utilitarian and Kantian arguments to the above cases and examine them in the light of modern ethical codes published by professional engineering societies. Doing so will show that the right to reverse engineer publicly available products and then to use that information freely is a fundamental right of an engineer. Only if this right is guaranteed can free and fair competition be possible. The absence of this right results in closed monopolies, reduced quality of products and stagnating technological innovation.

The Birth and Growth of a New Technology

Prior to the 1970s, the computing field was dominated by multi-million dollar behemoth mainframes on one end and cheap, do-it-yourself home electronics kits on the other. The Altair 8800 released in 1975 was arguably the first home computer which could be used by more than just electronics hobbyists {fire}. The Apple I released a few months served to further popularize home computing to the general public. 1977 saw the introduction of three computer systems which came fully assembled, further lowering the bar for computer users – the Apple II, the Commodore PET and the TRS-80. Dubbed the “1977 Trinity” by Byte Magazine, these three systems would play a central role in the emerging mass market computer industry and helped spawn sub-industries of software and specialized hardware {byte}. The end of the 1970s saw two parallel trends: an increasing market for home computers driven by a growing variety of easy to use computer systems and in parallel, the fragmentation of the market into mutually incompatible hardware platforms with corresponding software.

IBM had for years dominated the business computing arena, but had made almost no headway into the personal computing field. Its first desktop sized computer was the IBM 5100. It was a robust, complete system, but at $20,000 was clearly made for professional and scientific users rather than for the casual home user or hobbyist. IBM’s PC project was designed from the start to offer a low priced system for home users. Instead of using custom parts as other IBM models had, the PC was made using standard and cheaply available “off-the-shelf” components from a variety of manufacturers around the world. The basic architecture was also opened up so that hardware manufacturers could make compatible peripheral devices {blue}.

The IBM PC was launched on August 12, 1981. Though a newcomer in the home computer market, the IBM PC quickly reached deep market penetration. A crucial factor was the system’s open architecture which allowed software to fully utilize the computer’s processor and memory without having to go through the PC’s operating systems. This spawned a large number of software products that performed extremely well on IBM machines but were incompatible with similar machines from other manufacturers. The PC had been developed in a way that was very different from IBM’s traditional controlled style. But with its growing commercial success, it was brought under the usual controlled IBM management.

One of the results of the PCs open design was that it was easy to copy and so producing clones was much easier than it was for other competing systems. The production of clones would have quickly cut into IBM’s profit margin and undermined its position as the rising leader in the home computing market. The only piece of technology that was pure IBM was the PC’s BIOS. The BIOS – Basic Input Output System – controlled basic hardware functions and decided which peripherals sent and recieved data from the processor. This code was proprietary and copyrighted. Although it would not have been technologically challenging for a competitor to produce an identically working BIOS, this was made very hard by the fact that the entire code was published in the PC Technical Manual {techman}. Thus anyone producing a compatible BIOS would have a difficult time proving that their engineers had not at some point seen some of IBM’s proprietary code. This in turn made it easy for IBM to limit competition by purely legal means.

It was Compaq Computer Corporation that would finally be able to produce a compatible BIOS chip. It took a full time team of 15 senior engineers a year’s time and over a million dollars to produce a working chip. The first 100% IBM compatible machines began shipping in November 1985. Compaq avoided lawsuits by having their engineers sign affidavits prior to beginning work stating that they had not seen the IBM source code. Phoenix technologies would repeat this feat in much the same way a few months later. But instead of building IBM clones they sold compatible BIOS chips to other manufacturers, opening up the PC market to smaller competitors. The final end of IBM’s dominance came in 1985 when a small company called Chips and Technologies designed and sold a set of five chips for $72 that duplicated the functionality of 63 chips in the IBM PC. Suddenly small manufacturers could build computers that were smaller, cheaper, more reliable and even faster than a real IBM. By the late 1980s the only major non-PC machines were special multimedia computers and by 1995 even these had almost disappeared {accemp}.

The final effect of reverse engineering IBM’s BIOS and then making clones easily avilable was to essentially level the playing field. The demise of closed, proprietary hardware configurations meant that the computer industry could standardize around a common platform. Software manufacturers could now focus on improving the software itself rather than worrying about cross platform compatibility. The timing of the reverse engineering (barely a year after the original product launch) meant that IBM could not properly establish itself as a monopoly. Had IBM gained a monopoly advantage, it would have given them control of the emerging home computer industry allowing them to artificially limit computing power to serve their business interests. IBM was known to deliberately limit performance in its low-end business models in order to prevent them from “cannibalizing” profits from higher-end models {blue}. The fact that the raw computing power available in all the IBM PC models from 1981 to 1984 was the same (despite Moore’s Law) shows how IBM could artificially limit its products to the detriment of consumers.

Ethics, Law and Technology

The story of the IBM PC intertwines the concepts of ethics and various legal and technical issues. The essential ethical questions are as follows:

  1. Was IBM justified in building a machine using openly available parts, but then enforcing their own restrictions by purely legal means?

  2. Were they ethical in releasing the source code, an act which would obviously hinder others from honestly creating a competing product?

  3. Were Compaq and Phoenix ethically justified in reverse engineering and cloning IBM technology?

  4. Can openly selling the cloned BIOS chips be justified on similar lines?

  5. Was IBM justified in artificially limiting its products in order to keep its profit margin?

Eye of the Beholder: the Egoists’ argument

While examining these ethical questions, it must be kept in mind that IBM was acting from a business standpoint: its profits and its shareholders’ interests were of primary concern. From a business perspective, IBM’s actions seem justified. They used easily available components to keep their prices down while at the same time creating a platform over which they would have control and thus have almost monopoly power. Limiting the power of their products meant that they did not need to invest regularly in creating a brand new probduct. IBM’s actions viewed from an Egoistic perspective seem justified at first.

But even from a business perspective IBMs actions were not the best. The massive rise in the popularity of the PC and the demise of competing platforms came only after there was widespread cloning. It was the ease with which a 100% IBM compatible system could be created that pushed their market share. IBM followed an old-fashioned business model where they tried to position themselves as the sole suppliers of a technology. However if they had opened up to allow third parties to sell similar technology, they could have actively helped spread the PC platform and so kept control of what would soon become the home computing standard {accemp}. IBM’s decision to choose short term profits over long term control of an emerging market is against Ethical Egoism, which states that it is the actual good of the individual, not a short term peak in enjoymeny, that is important.

The companies that reverse engineered the IBM technology, however acted consistently with the principles of Egoism. Compaq created a competing product using their cloned BIOS chips and then sold them for cheaper than the IBM counterparts thus making themselves the prime competitor for IBM. Phoenix Technologies and Chips & Technologies sold their chips directly to clone manufacturers. This is also consistent with egoism as there is no limitation on helping others as long as one’s own purposes are served. Since what they did was within legal limits there was no chance of being hurt by their own actions, also consistent with Egoism.

However Egoism is unsatisfactory as an ethical theory {rachels}. Thus the actions of parties involved cannot be properly justified based on this theory alone. Let us look at the problems from the perspectives of stronger theories: Utilitarianism and Kantian theories.

For the Greater Good: The Principle of Utility

Utilitarianism is a theory that places the happiness of the general populace as the highest ethical standard. The moral worth of an action can be decided based on whether or not it creates a net increase in the happiness of those involved {mill}. To apply Utilitarian reasoning to the matter at hand, we must look at the parties involved and see if there was a net increase in the happiness for those involved.

Using “off-the-shelf” components rather than internally developed equivalents was certainly utilitarian. By not building their own components, IBM helped component manufacturers by giving them a share in the growing home computing market. It was also a good thing for consumers as repairs could be made cheaply using easily available parts, rather than paying large amounts for company approved repairs (as was the case with most other home computers of the time). Thus it can be said that this action resulted in a net increase in happiness for those involved. The success and of the PC and resulting revenue also created happiness for IBM’s employees and shareholders and their families.

However, IBM’s subsequent actions cannot be justified based on Utilitarianism. IBM published its copyrighted BIOS source code in its PC Technical Manual {techman}. Though this may have made hobbyists happier, the move was designed to “contaminate” the developer pool, as mentioned earlier. There was an active effort on IBM’s part from preventing others from performing an honest activity. If the source code had not been published, it would have been easier for competitors to find engineers who had no prior contact with IBM technologies and they would not have had to go through the lengthy process of finding new programmers and having them sign affidavits testifying to their not having seen the IBM code. Thus IBM’s actions resulted in a net decrease in happiness for the competitor companies who were performing their actions within limits of the law. Their efforts to artificially limit the power of their PCs is also not justified as it limited both consumers and the emerging software market since innovative but resource heavy software could not be developed.

The cloning of the IBM BIOS and it’s subsequent easy availability meant that a lot more smaller companies could break into the emerging home computer market. This increase in smaller players meant that there was a lot more competition and that the PC platform as a whole was being pushed constantly to higher technical standards. This in turn meant that consumers benefitted from better products for lower prices. Thus Compaq and Phoenix’s actions resulted in a better state of affairs for smaller computer companies and for consumers. Even IBM benefitted as the increasing popularity of the PC platform meant that they could safely invest in better technology (the PC-AT and the PC-XT) with the certainty that there would indeed be a market for these machines. Thus the actions of the reverse engineers can be justified on Utilitarian grounds.

Do unto others: Categorical Imperative and Respect for Persons

While Utilitarianism deals with happiness of all concerned, the Kantian theories deal more closely with the duties and rights of the individual. Emmanuel Kant formulated two complementary moral philosophies. Categorical Imperative states that if we perform a certain action, we must allow for all people in similar situations to perform the same action. Respect for persons is the simple idea that in whatever we do, we must respect the rational nature of other people and never use them as a means to an end, no matter how noble.

IBM’s actions fail utterly to satisfy Categorical Imperative. By that theory, IBM should have allowed other companies to limit use of their technology just as they attempted to limit use of their BIOS. However the PC itself was built almost entirely using technology that had been developed by others and was easily available. Since IBM used other’s technology to create a product which they then sold for profit, Categorical Imperative required them to allow their own technology to be used similarly by others. However, IBM’s entire business plan depended on denying this right to others.

By publishing the BIOS code, IBM also made the growing community of developers and programmers means to their ends: they used the programmers and their instinctive thirst for knowledge to prevent other computer companies from developing a competing product. It should be kept in mind at this point that Kantian reasoning did not require IBM to freely give away their BIOS technology. After all, the components use in the PC were bought at a price from original equipment manufacturers (OEMs). Kantian theory only required that IBM not stop others from building their own platforms based on PC technology: a rule that IBM did not follow.

The clone manufacturers are on safer ground with Categorical Imperative. Compaq’s reverse engineering meant that they should allow for others to in turn reverse engineer their own technology and not stop others from making IBM clones. This right was in fact granted when Phoenix brought out their own BIOS technology and other companies began producing IBM clones which competed with both IBM and Compaq. When Chips & Technologies produced its 5 chips which duplicated much of the functionality of the PC, they did to Compaq what Compaq had done to IBM: providing an alternative technology that was cheaper and more easily available. This is the ultimate demonstration that Compaq acted in accordance with Categorical Imperative.

Respect for persons was also guaranteed by the actions of the reverse engineers. They put out their technology openly for others to use. In fact, it can be said that to some extent they rectified the damage caused by IBM. By creating a compatible BIOS engineers and programmers were no longer limited by the legal repercussions that might come from using an IBM compatible BIOS. Thus the right of engineers to act as rational beings and create their own products without being used as pawns for IBM’s profit margin was restored.

Kantian and Utilitarian bounds on Reverse engineering

The above arguments have shown that IBM’s actions cannot be justified by a number of different moral theories. Were it not for the reverse engineering of the BIOS and the subsequent opening up of the PC market, it is questionable whether computer technology would have reached the pervasive state that it currently holds in our lives and in our society. In areas where there have not been substantial competition, stagnation and not innovation has become the norm.

However, it is not right to conclude that every product must be reverse engineered or even that it is an engineer’s duty to reverse engineer products. In accordance with Utilitarianism and Kantian theory, every application of reverse engineering requires judging whether or not there is a net increase in happiness and if the action should be followed by all people in similar circumstances. Reverse engineering only becomes a necessity if it seems that the popularity and closed nature of a certain technology can be used in a manner that contradicts Utilitarian and Kantian ethics. Reverse engineering is a costly process and if there is no resulting tangible benefit to be gained, it cannot result in an increase in happiness and by Kantian reasoning we cannot allow people in all circumstances to perform acts that do not result in genuine benefit. Thus while it is important to safeguard reverse engineering as a right, it is unethical to force reverse engineering as a necessity.

The Right to Reverse Engineer as Part of a Social Contract

The Kantian theory of Respect for Persons requires us to take into consideration the original creators of the technology as well as the reverse engineers. It would be unethical to steal their designs in the name of reverse engineering, as that would be using them simply as a means to an end. They must be given the right to benefit from their work in an honest manner. While they certainly have a right to profit from their creation, they should not prevent others from honestly and independently duplicating and improving on their work. After all, the right to observe and improve upon other’s work is a fundamental part of scientific inquiry and investigation. Without it the progress of science would grind to a halt. It is possible to formulate a social contract based on this reasoning. Social contracts are implied agreements by which people form organizations and accept compromises in order to establish a stable social order {socorder}. This particular contract would grant all people the right to create genuine works and benefit from it (by selling, leasing or otherwise). But it would also grant people the right to independently duplicate the functionality of other people’s products as long as they did not directly copy another’s designs or plans.

This contract preserves the rights of people to benefit from their work and offers protection against theft, but at the same time preserves the right to reverse engineer. Under such a social contract IBM would be held as violating the contract for trying to prevent reverse engineering of the PC. Such a contract would also invalidate most End User License Agreements for software products which specifically ban reverse engineering {mseula}. This would not really hurt software companies as they would still be able to sell their work for a profit. It would simply make it easier for people to make competing products without having to worry about long-drawn legal battles. In fact, it might even be a boon for those making the original products. The Texas Instruments programmable calculators have been the objects of affection for a generation of talented hackers who have created everything from simple games to complex operating systems for the calculators exploiting software and hardware loopholes {ticalc}. These activities have helped increase the image of the TI calculators as being superior products and generated a fair amount of free press. None of this would have happened if Texas Instruments had tried to stop people from reverse engineering the workings of their products.

Set in Silicon: Ethical Codes Applied

Ethical theories are the result of the combined work of many thinkers and philosophers throughout history. Though they serve as good guidelines and frameworks by which to lead our lives, they are still theories, not actual laws which can be enforced. Bridging the gap between moral theories and legal restrictions are the ethical codes formulated by various professional engineering societies. These codes are meant to guide the behavior of engineers in day-to-day activities. While they may not always be legally actionable, violation of these codes can lead to expulsion from the corresponding societies and loss of an engineer’s license {nspe}.

Profile of the engineers

The creation of the IBM PC was an intense effort which required the participation of a large number of people. By 1985, the height of the IBM PC’s popularity, there were over 10,000 people employed in the IBM PC division. Most of these people would have been electrical engineers, including the head of the project (and later IBM Vice President) Philip Don Estridge {accemp}. However it is also worth considering that a significant portion of the people working would not have been engineers.

The early 1980s were a time before the popularity of home computing led to growth of computer science and computer engineering programs across America {discipline}. Many professional computer programmers (the bulk of the team that would have written the BIOS) would have been a mix of mathematicians, electrical engineers and other disciplines who had for the most part taught themselves how to program. In smaller start up companies like Compaq, the percentage of professional engineers present is likely to have been even less. The entry barrier for computer programming and software engineering jobs has always been significantly lower than that for other engineering fields and so there are often, even to this day, people without actual engineering degrees working on important projects {csprog}.

It is important to keep this distribution of the participants in mind as we refer to the Ethical Codes of Conduct for various engineering bodies. Though the general spirit of such codes are mostly the same, there may be technical issues depending on which exact code one refers to.

Ethical Codes to be considered

The most important code of ethics to be considered is the IEEE Code of Ethics as most of the actual engineers at the companies involved would have been electrical and electronics engineers. The IEEE code is quite old, dating from the merger of the Institute of Radio Engineers and the American Institute of Electrical Engineers to form the IEEE in 1963 {ieeehist}. The code is updated with the changing times, the most recent update being in February 2006{ieeecode}.

A significant number of computer and software engineers would also have been involved. The Association of Computing Machiney’s Code of Ethics would be the reference for those engineers. However it should be noted that though the ACM was established in 1948, the Code of Ethics was only adopted in 1992 {acmcode}.

In 1994, a joint task force of the IEEE Computer Society and the ACM proposed a Software Engineering Code of Ethics which was accepted by both organizations in 1998. This code is more detailed than either the ACM or IEEE codes individually {cscode}.

Ethics of Electrical engineering

The IEEE code of ethics is the code which all professional electrical engineers are expected to adhere to {ieeecode}. The IEEE code is compact and far less verbose or descriptive as some of the other codes. The most recent IEEE code lays out 10 guidelines for engineers. In this case, the fifth guideline is most appropriate. It states that engineers have a duty to “to improve the understanding of technology, its appropriate application, and potential consequences”.

In this case, this means that engineers had a right and duty to advance computer technology and spread its accessibility to the public. Keeping this mind, it becomes clear that the IBM did not behave in accordance with the code. Their efforts were geared towards making sure that the control of the PC market stayed in their hands, irrespective of whether or not it helped the growth of computer technology. In fact by artificially limiting the computing power in its machines for the first few years, IBM’s actions were specifically opposed to the directions of the code.

The engineers working at Compaq and Phoenix however acted in a manner that ultimately resulted in more and more people getting access to computer technology and also fueled the growth of hardware and software subindustries which helped to better understand and harness the potential of the new technology. This would make it seem that the engineers acted in accordance with the code. But at the same time, the third rule of the code directs engineers to “to avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist”. It could be claimed that these engineers actively promoted a conflict of interest by promoting a competing product. However, I believe that making this claim would be a very narrow interpretation of the code. Interpreted in this way, the code would seem to denounce all forms of competition. It would be rather ironic if a code of ethics formulated in the context of a free, democratic society explicitly forbade competition. Thus we would be justified in considering this line of argument to be invalid and we can stick to our original conclusion that the engineers acted in accordance with the spirit of the code.

The ACM code: a more detailed approach

The Association of Computing Machinery code of ethics is more detailed than the IEEE code and covers a wider variety of issues{acmcode}. The ACM code instructs computing professionals to “Strive to achieve the highest quality, effectiveness and dignity in both the process and products of professional work”. The IBM engineers were true to this clause when they used commonly available components to build a product that was on par with more expensive similarly capable products of the day. But later on, by releasing the source code and preventing others from honestly duplicating their work, it can be said that they degraded the “dignity” in the “process and products” of their work. The code also instructs engineers to “Be fair and take action not to discriminate”. However IBM’s action were clearly discriminatory in the tactics they used to block out engineers from other companies from doing their honest work. Compaq and Phoenix on the other hand not only performed works of considerable technical merit, they also allowed their work to be used by anyone who chose to do those. Thus, not only did they achieve a high “quality, effectiveness and dignity” in their work, they were also non-discriminatory.

The ACM code also requires engineers to “Honor property rights including copyrights and patent”. It might seem that reverse engineering the BIOS might constitute some infringement of IBM’s rights. However, it should be noted that Compaq actually went to great lengths to make sure that there was no such violation. Requiring their engineers to sign affidavits saying that they had not seen IBM’s code meant that they would not be involved in any copyright issues.

Another clause of the code notes that engineers must “Give proper credit for intellectual property”. It could be argued that IBM was responsible for coming up with the idea of building a computer from easily available parts and that Compaq and Phoenix somehow “stole” this idea. The defense to this argument is that not only are such “ideas” not covered under patent law (such a concept is illogical and counter-productive, but that is a discussion for another paper), but the idea of building computers from parts was an old one. The first Apple machines were built from home electronics kits and many home computers in those days were sold as parts kits and had to be assembled by the user. IBM certainly had no claim to be the originator of this idea.

Keeping all these in mind, it is reasonable to claim that Compaq and Phoenix behave in accordance with the code and while IBM’s original actions in building the PC certainly were, their later actions were not.

A software engineering standpoint

The Software Engineering Code of Ethics and Professional Practice is a new code created by a joint IEEE-CS and ACM task force to specifically address issues related to software engineering {cscode}. Though the profession of software engineer was barely in existence in 1981 and this code was only created in 1997, it is worth considering if the action of the engineers were in accordance with modern ideals especially since the BIOS was essentially a piece of computer engineering.

This code is even more detailed than the ACM code and covers more specific cases. However, in spirit this code is similar to the ACM code especially the clauses pertaining to copyright and quality of work. However one clause that deserves special mention is one that instructs the engineer to “Promote no interest adverse to their employer or client, unless a higher ethical concern is being compromised; in that case, inform the employer or another appropriate authority of the ethical concern”. It would have seemed that IBM’s best interest was to keep control over the PC market (see the Egoism section for a more complete discussion) but it should be considered if there was a higher ethical concern. In this case there was such a concern: specifically that preventing other engineers from legally creating a competing product was not ethical and was inconsistent with existing ethical code. It was also against what is generally held to be good business practices. Thus even though the engineers may have believed they were acting in IBM’s best interests, there was a higher ethical concern they were ignoring. On the same note, Compaq and Phoenix engineers did not ignore any such concern as they made no attempt to hinder others from using their work.

Are engineering ethics the real concern?

The discussion of the previous few pages has been under the assumption that the engineers at all the companies involved were the ones responsible for their respective company’s actions. However, in the real world, engineers are seldom the only ones involved, management and business professionals have an equally large say in the company’s actions. IBM in particular is very business oriented. Due to the technical nature of the issue at hand, there is no doubt that engineers were certainly involved to a large extent. However it is unlikely that IBM engineers could have published their BIOS code had it not been approved by higher level managers. At the same time, if there had been a copyright violation (i.e. someone selling the original IBM code as their own), then it would have been up to managers and IBM’s legal division to deal with issue. Compaq and Phoenix also would have received legal advice on how best to proceed with what they wanted to do.

Without access to IBM, Compaq and Phoenix’s internal documents it is impossible to say whether engineers or managers were directly responsible for the actions we have been analyzing. It is beyond the scope of this paper to present an analysis of management and business ethics, but it should be made clear that these are also important points of consideration which cannot be held separate from the engineering issues at hand.

Conclusion: 27 years later

It has been 27 years since the launch of the first IBM PC. Since then, the home computer industry has progressed in leaps and bounds. Each modern computer is about a thousand times as powerful as those machines. In no other technology in the history of humanity has there been a thousand-fold increase in a technology’s capability in less than three decades {moore}. It is beyond doubt that without the widespread cloning of the PC platform, this technology would have remained concentrated in the hands of a few powerful corporations and probably not experienced the rapid growth that it did. The very foundations of today’s computerized and automated society rests on a few acts of reverse engineering.

This paper has looked at four major moral theories: Ethical Egoism, Utilitarianism, Categorical Imperative, Respect for persons and Social Contract theory. Each of these theories have shown that even though some of IBM’s actions were ethically justifiable, in the final analysis, IBM did not act ethically whereas Compaq and Phoenix Technologies did. This analysis shows that reverse engineering, resulted in both a net increase in happiness and in proper respect given to those involved. A further merit of the analysis is that it allowed us to place boundaries on how much we could generalize our conclusions, i.e. reverse engineering is a right, not a duty and certainly not a necessity.

Analyzing three major ethical codes also brought us to the same conclusion: IBM’s activities constituted clear violations of the code. Though the analysis of the activities of the reverse engineers using the codes can be somewhat unclear, it is clear that they acted in accordance with the spirit of the code even though the wording may be unclear. These dual analyses show that a combination of moral theories and ethical codes offer a useful and practically applicable way in which engineers can guide their decisions in their day to day work.

A free, industrial society cannot thrive if there is insufficient competition. The formation of monopolies results in the concentration of power in the hands of a few which, history has shown, never results in an overall benefit for society. Only if there are competing products can there be a clear drive to innovate and succeed. Reverse engineering guarantees that no entity can rest its laurels for more than a short amount of time. The right to reverse engineer is at the heart of modern scientific method and free industry. This right is a must for any technological society dedicated to the ideas of democracy and independence. If scientific advancement is to be considered a natural part of social evolution, then reverse engineering must be viewed as a necessary brick on that road.