Shachar Shemesh wrote:
As far as I understand this, if I disassemble Microsoft binaries (it is legal in Israel), then the resulting knowledge is legal to use - anywhere (in other words - the only one who can be sued is me, and the jurisdiction is Israel, where the action is legal).
I am not a lawyer, but I bet you're wrong there. The disassembled code is probably considered a copy, using it could be a copyright violation, and if any such code snuck into Wine, we'd have to go rip it out at great cost. - Dan
Dan Kegel wrote:
I am not a lawyer, but I bet you're wrong there. The disassembled code is probably considered a copy,
I'm not talking about moving disassembled code into our code. That is a copyright violation in Israel too. I'm talking about disassembling code in order to figure out what it does, and then reimplementing that (with or without going into the extremes of "clean room").
Do the RoS guys do the former?
Shachar
On 9/20/07, Shachar Shemesh shachar@shemesh.biz wrote:
I'm not talking about moving disassembled code into our code. That is a copyright violation in Israel too. I'm talking about disassembling code in order to figure out what it does, and then reimplementing that (with or without going into the extremes of "clean room").
(Again, I am not a lawyer.) I think this is legal in the US *only* when applied to interfaces, not to innards.
Do the RoS guys do the former?
For their official policy, see http://www.reactos.org/en/dev_legalreview.html
But also see http://www.reactos.org/wiki/index.php/TinyKRNL
Here's the problem with accepting code from ReactOS: they share code and developers with the TinyKRNL project (the two projects were the same originally, and split apart only after the world noticed just how illegal ReactOS's practices were). TinyKRNL's official policy is "anything goes", so it wouldn't surprise me if people on that project simply retyped stuff they saw in stolen copies of the real Microsoft Windows source code. ReachOS's official policy says in effect "there's no such thing as a tainted developer, so all TinyKRNL developers are welcome to submit code to ReactOS; and any not-obviously-problematic code in TinyKRNL can be imported into ReactOS."
While the above is a crass oversimplification, and I'm sure the ReactOS people will want to correct any errors I made in it, it seems clear to me that the fig leaf ReactOS is standing behind is a bit too small for comfort. Wine does well to steer clear of ReactOS code.
We've gone over this about a dozen times. Can we get back to programming Wine now (cleanly)? - Dan
Dan Kegel wrote:
We've gone over this about a dozen times. Can we get back to programming Wine now (cleanly)?
- Dan
Here's the law as I know it. As far as I know, it is quite identical in the US and in Israel in that regard: - Any trade secret (say, algorithm, interface, subbehavior) loses its secret status the moment it is reversed engineered from a legally obtained copy. Once it loses its secret status, it is obviously legal to cleanly reimplemenet it. - Any trade secret loses its status the moment it is public. As far as I understand it, the MS source code that was leaked has no trade secret protection any more, and it is entirely legal for a Wine hacker to look at it in order to find out, for example, why a certain combination of parameters, when sent to a certain function, causes Windows to do something unexpected. It is NOT legal to copy code into Wine from it, as that code is still copyrighted. - Interfaces are not copy protectable. This means that it is, in principle, legal to copy a file that only has interface definitions (say, a header file) into Wine. We don't do it, and for a good reason (why risk it for such a small gain), but it is legal. - A programmer is only tainted if she signed an NDA or a non-compete. Even then, it's a contractual dispute, not a criminal dispute, whether she is allowed to work on Wine. Merely looking at publicly available code does not taint a programmer (this is unlike the IBM BIOS case, where they gave the BIOS source code under NDA, and thus retained trade secret status for it).
Shachar
Shachar Shemesh wrote:
Here's the law as I know it. As far as I know, it is quite identical in the US and in Israel in that regard:
Just to make it clear, as far as I can see it, even with the above, it is still illegal to accept code from RoS (you are not allowed to copy code from the MS source code, or even from your own effort of translating the assembly to C, without violating copyright).
All I'm saying is that the rules are not as strict as we sometimes play them to be.
Shachar
On 9/20/07, Shachar Shemesh shachar@shemesh.biz wrote:
Shachar Shemesh wrote:
Here's the law as I know it. As far as I know, it is quite identical in the US and in Israel in that regard:
Just to make it clear, as far as I can see it, even with the above, it is still illegal to accept code from RoS (you are not allowed to copy code from the MS source code, or even from your own effort of translating the assembly to C, without violating copyright).
OK then, we seem to agree.
All I'm saying is that the rules are not as strict as we sometimes play them to be.
I'm not trying to make any generalizations here, just trying to explain why Wine can't safely accept ReactOS code. - Dan
On 9/21/07, Dan Kegel dank@kegel.com wrote:
I'm not trying to make any generalizations here, just trying to explain why Wine can't safely accept ReactOS code.
Sorry about my last post then. I should not have added more statements that are inflammatory with harsh rhetoric. I would be happy to write an FAQ explaining this matter as I understand the clean-room requirements and that ReactOS does not meet them. My objection to doing this right now is that I think the SFLC should be the ones to write the standard and every single time this comes up, members of the Wine project take it upon themselves to define what is legal and what is not and accuse the ReactOS team of behaving in a way that is not legal. That may very well be, but until our legal team actually says so, all it does is hurt the PR for ReactOS and make the Wine developers look like they have it in for ReactOS Project.
On 9/21/07, Steven Edwards winehacker@gmail.com wrote:
On 9/21/07, Dan Kegel dank@kegel.com wrote:
I'm not trying to make any generalizations here, just trying to explain why Wine can't safely accept ReactOS code.
Sorry about my last post then. I should not have added more statements that are inflammatory with harsh rhetoric.
But it was a good read nonetheless.
I would be happy to write an FAQ explaining this matter as I understand the clean-room requirements and that ReactOS does not meet them. My objection to doing this right now is that I think the SFLC should be the ones to write the standard and every single time this comes up, members of the Wine project take it upon themselves to define what is legal and what is not and accuse the ReactOS team of behaving in a way that is not legal.
The questions certainly do come up frequently. We can't wait forever for the SFLC, so perhaps it would be good for you to draft an FAQ. We could run it by them before posting it. Alexandre? - Dan
On 9/21/07, Shachar Shemesh shachar@shemesh.biz wrote:
Shachar Shemesh wrote:
Here's the law as I know it. As far as I know, it is quite identical in the US and in Israel in that regard:
Just to make it clear, as far as I can see it, even with the above, it is still illegal to accept code from RoS (you are not allowed to copy code from the MS source code, or even from your own effort of translating the assembly to C, without violating copyright).
All I'm saying is that the rules are not as strict as we sometimes play them to be.
The article at [1] provides interesting information regarding reverse engineering of all types. More importantly, the author provides a list of cases that provide legal precedence for the legality (or lack thereof) of reverse engineering. The most important thing to keep in mind when considering the legality of reverse engineering is that there is no fine line when it comes to the act, and any new case can overturn all the legal precedence that comes before it. The Wine project has succeeded thus far without using reverse engineering, and will continue to do so, so there's no reason to take the legal risk of accepting code form the ReactOS project, or from anyone that has seen or reverse engineered Microsoft code, clean room or otherwise.
[1] http://www.jenkins-ip.com/serv/serv_6.htm
On 9/21/07, Dan Kegel dank@kegel.com wrote:
(the two projects were the same originally, and split apart only after the world noticed just how illegal ReactOS's practices were).
These broad generalizations or downright libel statements prove more inflammatory that then accusations of developer taint. I take great objection to this as a lot of this crap happened under my watch.
1. Some developers practices might not be legal in the US. The project has an policy statement that most developers followed. Others did not. It happens. It was never taken to court and ultimately those developers left anyway. If you know of a function in ReactOS that looks suspicious feel free to send a note their way. I am sure they will remove it. What happens if I say "Function foo looks like its dirty and it made it in the Wine tree" Is wine forever tainted? Can you point out case-law or a standard ANYWHERE ReactOS needs to follow to make the Wine people happy? I can point to one standard and Julliard already said he did not agree with it.
http://www.gnu.org/prep/standards/
They even have a whole page for people that have SEEN proprietary sources
http://www.gnu.org/prep/standards/html_node/Reading-Non_002dFree-Code.html#R...
2. To Date Wine does not have a clearly identifiable policy statement about what is Kosher and what is not and EVER FREAKING WEEK someone asks a policy related question on wine-devel. Can I use ReactOS code? Do we follow the same rules as the GNU coding standards? What is clean room reverse engineering? What is the Audit thing I keep hearing about?
3. How about, rather than blackballing a whole project or group and causing guilt by association, we use the same standards for everyone when submitting patches, codify them and let that be that. What happens the day Wine gets a patch from a @microsoft.com email? Do we blackball them if their corporate policy changes to allow a contribution. I mean you know they make a compiler right? You know they also submit patches to GCC for Interix right? I hope to God we have a standard in place by then and a webform that allows that person to say "I never had access to windows source that had analogous functionality".
4. Do you think Vlad the Reverser from Russia sending a patch to wine-patches is going to preface his patches saying "I reversed this" or "I copied this"? No hes going to submit it and Julliard is going to have to make a judgment call based upon if he knows the person, the quality of the code and the planarity alignment.
I could go on but I am just ranting and angry because this keeps coming up and the solution seems clear enough. Can we at least, while the crickets chirp on the audit, get the SFLC to publish some bloody standards we should all follow?
Thanks
On 9/21/07, Steven Edwards winehacker@gmail.com wrote:
I could go on but I am just ranting and angry because this keeps coming up and the solution seems clear enough. Can we at least, while the crickets chirp on the audit, get the SFLC to publish some bloody standards we should all follow?
Hear, hear! I believe this would make an excellent topic at Wineconf. Jeremy, how about a status report there? - Dan
Dan Kegel wrote:
On 9/21/07, Steven Edwards winehacker@gmail.com wrote:
I could go on but I am just ranting and angry because this keeps coming up and the solution seems clear enough. Can we at least, while the crickets chirp on the audit, get the SFLC to publish some bloody standards we should all follow?
Hear, hear! I believe this would make an excellent topic at Wineconf. Jeremy, how about a status report there?
Good idea! We'll make that a useful deadline for bringing forward the ideas we've been working with the SFLC for the past year or two. (And yes, I'm painfully aware it's been a long time).
I'll post a separate note on the state of the SFLC wrt Wine as I see it as well.
Cheers,
Jeremy