[snip]
One thing that is important to note is unless you do an internal redesign of your application "porting" will involve some sort of compabillity layer.
The difference is whether you have it distributed as part of your application or whether you distribute it seperately.
In fact Wine can, in some meaning be both, depending whether you use Wine to run the PE executable or whether you dynamically link with Winelib or whether you statically link with Winelib.
In short if you try do make a legal difference between different kind of porting you will get all sorts of logical inconsistancies.
One thing to note is that "documented", as I guess you suggest by quoteing it, is a very vague term. If you are intelligent and knowledgable enough you can simply look at the binary and "read" what it does as accurately, and in some meaning even more so, as a less knowledgable person could read any existing documentation that might even be incorrect.
In short trying to make legal differance of what is reverse enginering or what is not has severe problems.
Probably, any alternative will have either severe logical problems or will be complete arbitrary, I think.
I think from the legal defintion of a program in US Law it should be obvious for a court as well. I don't remember exactly what it said but a remember making that reflection when I read it.
Note that the issues of the legallity of Wine and DeCSS is connected in an abstract sense. Among them the Amicus Brief from the 65(!) Law Professors in the DeCSS argued that forbidding DeCSS, regardless of whether it violates the first amendment or not, lies outside the scope of the power of the Congress because of the 10th amendment.
Following the same reasoning then _all_ reverse engineering obviously does so as well.
One can only hope, and patiently wait for the court decisions...
Personally I don't worry that much. First of all I live in Europe secondly any kind of regulation of these kind of issues will IMHO be either logically inconsistant or completely arbitrary.
Neither of the cases are likely to survive in the long run for several reason among them. 1. Constitional/"Human rights" reasons 2. Legal enforcement is close to impossible 3. It is unlikely to serve the public good
Patrik Stridvall wrote: [BIG BIG SNIP]
Patrik,
You are most likely correct. Eventually the court system will get their head out of their ass and figure this out. At the moment it seems to me like its way up in there and they are going "Damn, it's dark in here".
Personally I am glad there are people that are very passionate about these issues because someone has to bitch about it and start getting normal people thinking about it. Even my dad could easily see the argument that restricting someone from writing a program is really really braindead (although he has done coding way back in the day). His response was that eventually the court system will figure it out and it'll be over and done with. Seems to be much the same as your response.
-Dave