Google Answers Logo
View Question
 
Q: Software reverse engineering questions: is it legal in some cases? ( Answered 4 out of 5 stars,   0 Comments )
Question  
Subject: Software reverse engineering questions: is it legal in some cases?
Category: Computers > Software
Asked by: dpp-ga
List Price: $100.00
Posted: 12 Sep 2005 01:13 PDT
Expires: 12 Oct 2005 01:13 PDT
Question ID: 567029
I need to know if doing reverse engineering on a software is legal in
the following situation:

In fact we do not need to reverse-engineer the software itself, but
only its storage file format.

Let's say we have software A, a proprietary application purchased by
several of our clients to manage their inventory. This software A
stores the inventory information input by the users in a proprietary
file format.
We are developing a software B that will be installed on the same
computers, and that need to work on the same inventory data, and we
want to avoid the user to have to input inventory information twice.

So we would like to get the data from software A files, to process it
with software B.

No modification at all is planned nor on software A, nor on its stored
file, just reading them and input their content in our software B
workflow.

Request for Question Clarification by politicalguru-ga on 12 Sep 2005 01:18 PDT
Which jurisdiction, dpp?

Clarification of Question by dpp-ga on 12 Sep 2005 02:03 PDT
Humm, good question.

If what counts is the country we and our clients are in, it is France.

But software A developers may be in several places (European community
and USA globally), as to be precise, there may be a few different
"software A".

DPP

Request for Question Clarification by sublime1-ga on 12 Sep 2005 02:06 PDT
dpp...

As you noted, you're not really "reverse-engineering" the software,
since you're not altering or utilizing the code for the original
program executable. What you ARE doing is simply creating software
which allows people to view data files, with a specific proprietary
extension, in another program.

There are numerous examples of software which does precisely the
same thing, with no violations of copyright laws, such as the
Open Office Suite of software, which is an open source solution
that allows those who don't wish to purchase Microsoft's Office
suite to view and create Word and Excel files with extensions of
.doc and .xls, respectively:
http://www.openoffice.org/

Another example is FlySuite.com, which provides an online Java
application which allows you to read and write .doc and .xls
files on Windows, Linux and Mac operating systems:
http://www.flysuite.com/en/index.php?ww=us

Similar software is available to allow users to create PDF
files, originated by Adobe, such as the Ghostscript software:
http://www.ghostscript.com/

There are endless examples of innovators creating software
which allows users access to file formats and extensions
which are unavailable to users who don't own, or wish to
own, the software which created the format(s) originally.

Such software has never been challenged as "reverse engineering"
of copyrighted software, but is rather seen as an accepted way
of expanding users' access to ubiquitous file formats in a way
that levels the playing field for people with different operating
systems and programs.

Let me know where this takes you, and what else you might need
to know to consider this question satisfactorily answered.

sublime1-ga

Clarification of Question by dpp-ga on 12 Sep 2005 03:13 PDT
Hello,

I understand your points, this seems to be right to me.

The only additional elements I would ask for are:

- Is this valid, no matter wether the data is written in a plain text
file, or in any proprietary format?
- Would you have any examples of conflict in such situation, where an
American or European court would have confirmed officially this point
of view?
- Or, are you positively sure that never such a conflict has been
ruled against the developer of such software?

Thanks

dpp
Answer  
Subject: Re: Software reverse engineering questions: is it legal in some cases?
Answered By: pafalafa-ga on 12 Sep 2005 17:11 PDT
Rated:4 out of 5 stars
 
dpp-ga,

Thanks for asking a fascinating question.  

I believe you will find the information I am providing here will
answer your questions -- at least, answer them to the extent they are
answerable, because much of the legal landscape regarding software and
intellectual property is changing very rapidly.

But first, I want to reiterate the disclaimer at the bottom of the
page -- I am not a legal professional, and Google Answers is no
substitute for professional legal advice.

That said, let me get to your question.


First off, I agree, in part, with my colleague, sublime1-ga, who wrote
that there are "endless examples" of software that plays the role of
your Software B, in allowing access to some proprietary part of
Software A.

However, I must disagree with the statement that there has never been
a legal challenge to this practice.  Quite the contrary, it is the
outcome of these legal challenges that has encouraged developers to
pursue this practice.

I also can't be complacent in saying that you can undertake such
reverse engineering (or however you care to call it) without any
concerns.

Let me lay out some of the background on all this, focus on a key
legal case in the US, and then lay out some of the issues you should
consider as you move forward with your project.



In general, the courts in the US (and I believe in much of Europe as
well) have been fairly friendly when it comes to taking other people's
inventions apart to see how they tick, and then taking advantage of
the lessons learned --reverse engineering, as it's often called.

This long-standing willingness of the legal system to support reverse
engineering was carried over into the software age in a key 1992 case
known as Sega v Accolade:


http://digital-law-online.info/cases/24PQ2D1561.htm


This case, which is remarkable on several fronts, is perhaps most
notable for being written in a clearly straightforward and
undertandable way.  Plain English in a legal document!!!  Who would
have thought it possible.

I'd encourage you to look over the case, but here is an excerpt of its
major finding:


===============

This case presents several difficult questions of first impression
involving our copyright and trademark laws.  We are asked to
determine,

--first, whether the Copyright Act permits persons who are neither
copyright holders nor licensees to disassemble a copyrighted computer
program in order to gain an understanding of the unprotected
functional elements of the program. In light of the public policies
underlying the Act, we conclude that, when the person seeking the
understanding has legitimate reason for doing so and when no other
means of access to the unprotected elements exists, such disassembly
is as a matter of law a fair use of the copyrighted work.

--Second, we must decide the legal consequences under the Lanham
Trademark Act of a computer manufacturer's use of a security system
that affords access to its computers to software cartridges that
include an initialization code which triggers a screen display of the
computer manufacturer's trademark. The computer manufacturer also
manufactures software cartridges; those cartridges all contain the
initialization code. The question is whether the computer manufacturer
may enjoin competing cartridge manufacturers from gaining access to
its computers through the use of the code on the ground that such use
will result in the display of a "false" trademark. Again, our holding
is based on the public policies underlying the statute. We hold that
when there is no other method of access to the computer that is known
or readily available to rival cartridge manufacturers, the use of the
initialization code by a rival does not violate the Act even though
that use triggers a misleading trademark display.



Elsewhere the case specifically mentions reverse engineering:


===
Accolade used a two-step process to render its video games compatible
with the Genesis console. First, it "reverse engineered" Sega's video
game programs in order to discover the requirements for compatibility
with the Genesis console. As part of the reverse engineering process,
Accolade transformed the machine-readable object code contained in
commercially available copies of Sega's game cartridges into
human-readable source code using a process called "disassembly" or
"decompilation".2 Accolade purchased a Genesis <977 F.2d 1515> console
and three Sega game cartridges, wired a decompiler into the console
circuitry, and generated printouts of the resulting source code.
Accolade engineers studied and annotated the printouts in order to
identify areas of commonality among the three game programs. They then
loaded the disassembled code back into a computer, and experimented to
discover the interface specifications for the Genesis console by
modifying the programs and studying the results. At the end of the
reverse engineering process, Accolade created a development manual
that incorporated the information it had discovered about the
requirements for a Genesis-compatible game. According to the Accolade
employees who created the manual, the manual contained only functional
descriptions of the interface requirements and did not include any of
Sega's code.

In the second stage, Accolade created its own games for the Genesis.
According to Accolade, at this stage it did not copy Sega's programs,
but relied only on the information concerning interface specifications
for the Genesis that was contained in its development manual. Accolade
maintains that with the exception of the interface specifications,
none of the code in its own games is derived in any way from its
examination of Sega's code. In 1990, Accolade released "Ishido", a
game which it had originally developed and released for use with the
Macintosh and IBM personal computer systems, for use with the Genesis
console.

===============


Bottom line here is that this key case had (in 1992) clearly accepted
an aggressive type of software reverse engineering as a form of 'fair
use' -- that is, allowable under US (and many other countries')
copyright law.


So that's the bottom line, right?  WRONG!!!


Software manufacturers have pushed back, both through licensing
language (the infamous end-use-license-agreements or EULA's), as well
as by influencing passage of new laws, such as the equally-infamous
Digital Millenium Copyright Act (DCMA).  There's also evolving law
regarding software protection under patents as well as copyright and
trademarks.



Here's some interesting perspective on these developments:


http://www.chillingeffects.org/reverse/faq.cgi#QID195
Frequently Asked Questions (and Answers) about Reverse Engineering 



In particular, have a look at:


--Is reverse engineering legal? 

--What "copying" of computer programs is permitted under copyright law?

--What elements of a computer program are copyrightable? 

--Is reverse engineering affected by patent law? 

--Are licensing provisions prohibiting reverse engineering enforceable?

--Is the reverse engineering of a technological protection measure
illegal under the DMCA?



This last question, in particular, warrants a careful read.  It states
that, under DMCA, it is necessary to first ask (not necessarily
get...just ask) permission of the copyright holder in order to have
valid status under the law to reverse engineer software.  DMCA also
lays out a number of criteria and limitations which are described in
the Q&A's, and which also do not have much of a clarifying track
record yet in the courts.

Also give careful attention to the EULA you presumably agreed to when
you purchased the software in question.  If there is language there
regarding any aspect of reverse engineering of the software, you will
need to take that into consideration.

As is often the case, the real bottom line on all this is less than
crystal clear.

The laws and the courts have certainly embraced a certain amount of
reverse engineering for software applications as a legitimate means of
doing business.  I would venture a guess that the law is on your side
in this matter.


On the other hand, there is absolutely nothing that I know of in all
this to stop Company A from filing an infringement complaint if they
take umbrage at Company B's actions.

Of course, Company B may win in the end.  But it can be something of a
Pyrrhic victory, given the time, expense and energy involved in
defending oneself.


On the other hand, Company A is faced with the same disincentives of
cost, energy and time.  In addition, they have the added disincentive
of the courts appearing to be disinclined to rule that a modest
example of reverse engineered software product amounts to
infringement.



With all that as background, let's revisit your specific set of
clarifying questions:


-- Is this valid, no matter whether the data is written in a plain
text file, or in any proprietary format?

I'm not sure the text format is really an issue here -- at least I
haven't come across any legal material specifically discussing this
aspect.  The general principle is that some amount of reverse
engineering is acceptable in many cases, and the particular format of
the text involved would seem to be a very minor aspect.




-- Would you have any examples of conflict in such situation, where an
American or European court would have confirmed officially this point
of view?

I believe the Sega v Accolade is the key case in this regard.  Some
other discussion of this, and related cases, can be seen here:


http://digital-law-online.info/lpdi1.0/treatise25.html




- Or, are you positively sure that never such a conflict has been
ruled against the developer of such software?

In general, the cases that are viewed as setting precedent in these
issues (at least in the US), are those cases mentioned in the link
above.







Like I said at the outset, the legal landscape here is complicated and changing.

Like I also said at the outset, there's simply no substitute for
professional legal advice.



I trust this information fully answers your question.  

However, please don't rate this answer until you have everything you
need.  If you would like any additional information, just post a
Request for Clarification to let me know how I can assist you further,
and I'm at your service.

All the best,

pafalafa-ga



search strategy -- mostly used bookmarked sites for intellectual
property and examined them for information on reverse engineering. 
Also conducted a Google search on [ sega accolade ]
dpp-ga rated this answer:4 out of 5 stars
Sorry for the delay, I was offline for a long time for personal reasons.

Comments  
There are no comments at this time.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy