On Sun, 2007-08-05 at 17:27 +0200, Peter Dons Tychsen wrote: > On Sun, 2007-08-05 at 09:58 +0200, Kai Blin wrote: > > On Sunday 05 August 2007 04:23:15 Peter Dons Tychsen wrote: > > > > > It was regarding the fact that it is not allowed to disassemble and > > > reverse engineer Microsoft DLLs. I understand this part, as their > > > license prohibits it (EULA). > > > > Please note that "reverse engineering by disassembly" is not the same > > as "reverse engineering by black box testing". The former is not only > > disallowed by many license agreements, it's actually a violation of > > copyright > > in most (western) countries. > > > > Reverse engineering by black box testing is an established and legal method > > in > > industry. Wine uses this method extensively by writing test cases. > > > > > > > > However, i would be more clear if someone would make these rules > > > commonly available on the WineHQ website. > > > > [Omitting a quote about disassembly being useless] > > > > > This should probably be fixed. It should make it crystal clear was is > > > allowed and what is not. This would help avoid situation like the one > > > mentioned above. > > > > It's also not allowed to break other laws while developing software. Where > > would you draw the line? Disassembling software is (almost always) illegal. > > Killing people is illegal. Should both be in the development guide? I would > > assume common sense would tell people that they should only do things that > > are legal. > > > > > Another problem is that i want to introduce something which i am not > > > sure is covered or not by what is "not allowed". > > > > > > I want to introduce a function which can check if SendMessage() or > > > PostMessage() was the reason a message ended up in a Proc handler. > > > > [...] > > > > > I don't think there is a problem as i am just using documented APIs from > > > MSDN, but since it includes looking at the call stack, i was curious if > > > there might be a legal problem. > > > > If you are just using the documented API, this is just how Wine tests are > > done. > > > > > I don't want to put the idea to use or release it if it in any way is > > > illegal. > > > > This is the common sense I was talking about before. Thank you for asking. > > > > > Please think long and hard before you reply. > > > > The usual disclaimer about how I'm not a lawyer and can't give legal advice > > applies, of course. But a rule of thumb is: "If you never looked at > > disassembled code and you are using tests using the Windows APIs to > > determine > > how the API you're interested in works, you're fine." > > > > Hope that helps, > > Kai > > > > Thanks for your comments Kai. > > > It's also not allowed to break other laws while developing software. Where > > would you draw the line? Disassembling software is (almost always) illegal. > > Killing people is illegal. Should both be in the development guide? I would > > assume common sense would tell people that they should only do things that > > are legal. > I thing killing is a bit off topic :-) > > However i do get your point about making it clear. It would be difficult > to handle. OK, but changing the text i referred to would be a good start > though. > > The text could be changed to (or similar): > > "Disassembling native Windows DLLs is not allowed in the Wine project > due to legal implications. However, this does not change much, as > disassembling native Windows DLLs is virtually always useless, as as > technique disassemly is usually used to find out why the application is > crashing in an otherwise unexplainable way."
OK. I will go ahead and post my proposals. Thank you for helping out. Always good to be on the safe side. /Pedro