[Mono-list] reverse engineering

Jonathan Pryor jonpryor at vt.edu
Mon Jun 13 19:31:55 EDT 2005

On Mon, 2005-06-13 at 09:47 -0300, A Rafael D Teixeira wrote:
> It is illegal to reverse engineer .NET, in most countries anyway...

In what country is it illegal to reverse engineer *anything*?  
Certainly not the U.S.A.

The only typical restrictions are 
 1. That it be for compatibility
 2. That it be "black box" reverse engineering.

Mono, Samba, Wine, and even the original Compaq BIOS (which sparked the
PC Clone Wars) all meet these horribly onerous restrictions. :-)

Just to clarify, white box reverse engineering would include
decompiling .NET IL code.  This is obviously bad, because it opens you
up to copyright infringement (among other potential issues).

Black box reverse engineering would include writing unit tests
against .NET to identify and clarify its behavior, and then implement
Mono to conform to the unit tests.  Oddly, this is exactly what we do.


> Mono is open source, so you don't need to reverse engineer anything...

Certainly you don't need to reverse-engineer Mono...  Unless you need to
implement something under an incompatible license...

 - Jon

More information about the Mono-list mailing list