views:

1133

answers:

16

Lately I've been pondering on how a specific beloved old game actually works. I had some mild progress, but then a friend pointed out that if I really loved the game and appreciate it, I wouldn't try to reverse-engineer it.

Note that the game is long considered an abandonware and is offerd for download publicly in lawful game sites, and I have no commercial / other large scale intentions - just to learn and "mess around" with it.

Did I miss something? Is there an ethical taboo regarding reverse-engeneering? Alternatively, is there a legal issue?

A: 

There are legal issues involving reverse engineering. I personally don't have any ethical issues with the idea, but there can be some that come from the fact that you are trying to 'steal' the way something was constructed.

workmad3
+6  A: 

Perhaps what your friend meant was that if you loved playing the game, reverse engineering might give you some advantage that would make playing the game less fun.

In any event, I think I'd contact the author, if possible, out of courtesy. He/she might be willing to give you the source code or collaborate with you to continue development on the game. I personally would not have a problem with you digging into my code to see how I did things, but someone else might.

IANAL so I can't help you on the legal issues.

tvanfosson
+1  A: 

I don't think so. It is about learning and not copying for profit.

Found this article on reverse engineering, ++

kenny
A: 

My personal belief is that if you've bought the software, and you're not planning to distribute any information, you can have a look to see how it works.

In reality, though, I think it all depends on the software license. Note that just because something is free, it doesn't mean you have a right to do whatever you want.

In this case, if the game is really abandonware, it may be difficult to find out what the license is (or should be).

JXG
+4  A: 

There is nothing wrong with being curious how something works and poking at it to figure it out. In some cases there may be restrictions on using the discovered techniques in your own products (software patents are a PITA), but games are unlikely to have patented technqiues, and patents are fairly short.

On the other hand, understanding how it works may make the game a bit less magical to you, a lot of interesting techniques in games give the illusion of depth but are actually fairly shallow, which means once you understand them the game may feel less impressive. If you are comfortable with that it is no big deal.

Finally, abandonware is probably not legal (IANAL), it is just no one is actually paying enough attention to enforce the copyright. Personally I think US copyright law is insane, particularly as it relates to software, so while I might not think there is anything morally wrong with abandonware sites, I would not go around saying they are legal lest someone take my claim and actually end up on the wrong end of an infringement suit over it.

Louis Gerbarg
+6  A: 

I personally think that reverse engineering is an excellent skill, and I would hire anyone on the spot who could demonstrate that level of spacial thinking, debugging and coding skills.

If you're simply trying to see how you could make something similar to something else you've seen out there, then there's no problem. Also, as long as you don't plan on publishing what you're making (if there are copyright laws or patents that you would be infringing upon), you're more than ok.

Timothy Khouri
+14  A: 

We have to make a difference, here, between the two concepts of "reverse engineering" and "abandonware".

"abandonware" is something invented by the Internets. Legally, only copyright rules for your country and the will of the owners of that software count (see for example, games that were donated to the public domain).

"reverse engineering" legality varies as well between countries. Anyway, I wouldn't see anything illegal in reverse engineering something for private purposes, as long as reverse engineering that product does not infringe copyright and local laws.

friol
A: 

Not as such. After all, reverse engineering is the same as taking apart something to figure out how it works. However, it's not always yours.

I see an ethical limit when you directly or indirectly harm someone, e.g. a company that relies on a trade secret.

Legally, reverse engineering is usually prohibited by licence agreements. Unless it was re-released under a licence that does not prohibit it, I would assume it is not legal. After all, when the owner goes down the drain, rights to the item usualyl go to one of the creditors (who, in turn, usually doesn't bother, making the game abandonware. He's still legally the owner and could go after you for breach of licence.)

peterchen
+5  A: 

Reverse Engineering as such is legal and ethical. And it's in the best tradition of reusing software rather than reinventing it.

When you reverse engineer a product, you may put limitations on yourself regarding how you can use what you learned by reverse engineering. Software patent and copyright laws, for better or for worse, were passed to protect the intellectual property rights of the innovators of software (or their heirs and assigns).

The intent behind restrictions on using knowledge gained by reverse engineering is to prevent that kind of knowledge from being used as a way around the protection that patents and copyrights are supposed to protect. Whether those laws are wise or not, and whether they are just or not is a whole other issue.

Walter Mitty
+2  A: 

Not since Compaq reverse engineered the IBM pc bios (or was it Columbia Data Products ?).
Clean Room Design, as wikipedia calls it.

Berzemus
It was Texas Instruments, which subsequently spun off a PC division named Compaq.
Adam Lassek
+3  A: 

Good artists borrow, great artists steal is a phrase that has been attributed to various people and is a good summary of the main arguments against software patents. It is nearly impossible to make a non-trivial program that does not technically fall afoul of a U.S. patent due to the low standards of for granting a patent in that country.

Directly cut-and-pasting code from that program will violate copyright legislation in most jurisdictions but there is nothing that will prevent you from studying the code and learning how it works from a purely educational perspective. You can run into issues if you were to bring out a product that competed with the product you have reverse-engineered as license terms can prohibit this.

When you're involved in designing a product there are legal risks. For interoperability in environments where licenses could cause legal trouble, people have had to use black box analysis techniques. Examples of this are the development of the protocol handlers for Samba and the development of the clone PC BIOS firmware that enabled the wider PC industry (+1 to Berzemus).

ConcernedOfTunbridgeWells
A: 

I'm glad I'm starting a two year IP law course next year. Then I'll answer all these questions.-)

ProfK
A: 

WELL, just my 2cents worth - If the software came with a license agreement and you accept (either by explicitly clicking the I AGREE button or implicitly by using the software) - You have (usually) agreed NOT to Reverse engineer and/or decompile the software (even if you didn't actually read the 20+ pages of legal jargon). So, is it 'ethical' to go against your 'promise'? Whether its ethical, legal or not, legally enforcable or not, you are breaking your agreement and surely thats 'wrong'!

andora
A: 

It's not if you don't have any documentation on your software and you need to augment it. Then reverse engineering is the only way you can understand how stuff works.

The only problem with reverse engineering is that it doesn't give you the rationale of the design decisions.

cmdev
+1  A: 

IIRC, In the beginning, copyright was meant to protect authors, not enterprises. That was back in the time when books had to be distributed by authors. Today, copyright is a wicked lawyer thing that is there for the sole purpoose of protecting the guys with the big cash.

In my opinion, anything should have a maximum time for copyright. I.e., after 15 years of creation/publication, anything should be public domain, since it's part of everyone's history. This includes the Super Mario Bros. you played when kid, that movie your parents saw at the cinema when they met, the songs you hear now and someday will be part of your history, etc.

Camilo Martin
A: 

an emphatic No! (as in 'No its not evil')

There should be no limit to learning, barring you do not hurt anyone physically.

Darknight