ReactOS, the open source implementation of a Windows XP/2003 compatible operating system, just published a new interview in their series of interviews with ReactOS developers. Today's interview features the main DirectX implementation developer Magnus Olsen.

These great people are working hard and doing high quality work which will hopefully bear great fruit.

On the other hand; Windows has had many hundreds of person years of effort poured into backward compatibility. Reactos just isn't really going to get that attention because it is really dull and unrewarding for volunteer developers.

So at the end Reactos will run most of the better behaved apps and some of the popular ones. It will have stable drivers for most of the better documented components and a few others. It will still run too many of the viruses and other malware from MSFT.

I salute their ambition and admire the dedication but it leaves a picture of being another minority sport for geeks. (And yes, I hope I am wrong).

In January or February, Hartmut has sent a Mail from Alex to the mailing List. In this mail, some of the ReactOS developers was accused, that they had access to the leaked Windows source code that they had used this code.

My question is: Magnus, were you one of this persons?

In this mail, some of the ReactOS developers was also accused, that they had disassembled windows code with IDA-Pro and that they had used this knowledge to implement functions in ReactOS.

you have not follow ReactOS at all if u have, you will found it was never talk about "leaked Windows source code", it was about how some devloper use IDA and wich metof that should be use and how. And do not insult me or ReactOS. An do not belive the FUD some people trying do. It exists few people that trying take down ReactOS and it seam you are one of them. Go to our website and read before you comment anything,

Then About Frik85 he is one importen person in ReactOS and he is maintain ReactOS website and doing some project that we have plan allong time, Firk85 also worte some code for ReactOS but allmost all time going to all new cool featuer that we are planing for our website. Again you you insult one of our great devloper.

It seam you are mike_m you are using a new nick again that is low of you. and insult thing. I wich people like you reading on fact and do not come with FUD.

I post here a mail which Alex has sent to the 'inner circle' of ReactOS.

- Hartmut

An Open Letter to All:

Hello, I would appreciate if you carefully read this email in its
entirety, out of respect for myself and my work and my existence as a
human being. Make sure to read till the end... I may have started out a
bit inflammatorially, and I apologize, I am much more humble onwards.

Over the course of the last few days, I have received messages from some
of you notifying me of some very disturbing news, which violate the
basic principles of a fair "trial" and free speech. I have heard, among
other things, that my account in the ML has been put on moderation to
avoid me saying certain things. I have heard that Hartmut has been
comissioned, all by himself, to review our(my?) code, being the absolute
and sole authority on what is "ok" and what is not "ok". Finally, I
heave heard of underground discussions involving almost all project
members but myself, in which accusations being made against me. I do not
know how much this is true, how much I have misunderstood, and how much
is gross exaggeration, but I am highly worried by these acts, which
seem, as one of you put it, "as if I am being set up". By silencing my
right to speak freely on the ML, and deliberating in a closed session
without my presence, and assigning the accuser as the reviewer, you are
not giving me a chance to defend myself and say my side of the story. In
this trial, you are acting both as jury, judge and accuser. This is
unfair to me.

Therefore, I have decided to email you all with my side of the story. I
fear there is a lot of misinformation going around, and I plan to fix
this. Since this email will remain private to developers, I will make no
attempt in hiding any part of the truth. This is not a "threat", as
XXXXX tried to point out on the ML. If you consider the truth a threat,
then that is worrysome to me. I would like to start out by something
that I have told some of you a long time ago...

This project has been the motivating source behind my life for the last
two years. It has been both my drug and my medcine, both my withdrawal
aid and my addictive substance. It has been the source of great joy,
sadness and experience, both technical, spiritual and social. This
project has given me the chance to work on something great that I truly
believe in, something which kept me going in times where I could've
easily taken my life. Poverty, starvation, breakups and diseases
afflicted me these last two years, but ReactOS kept me alive. Not only
through the technical and code-related activites in its development, but
also through the great friends which I have made. XXXXX, XXXXX, and
somewhat XXXXX and XXXXX stand out among some of the great friends which
I have made during this time. I don't think anythign will change the
great friendship that has developed between XXXXX and myself, and XXXXX
and I have always been there for each others, all while discussing
private life issues, coding and politics and public relations. Although
not in the same depth, I have also enjoyed friendships with all others
of you, and often spent time helping you out, while other times, you
were the ones doing the helping. The late night debugging sessions with
XXXXX were particularly fun, as well as the endless race/lock contention
discussions with XXXXX . In all this time, there have been fights,
misunderstandings, flames and harsh words, just like there have been
compliments and good teamwork.

In exchange for everything that ReactOS brought to me, I gave it
everything I had. From a technical point of view, all "ego" aside, I do
think that I am among the top contributors in this project. I don't mean
to undermine anyone by saying this, and I know that a good set of icons
can matter as much as an API implementation, but in terms of hours of
work, quantity and quality do mean something. From the CIA logs, in this
year, "ion" has done 837 commits. The project total is 7826. This is
second to XXXXX, which has been doing just as much work (if not more),
at 907 commits. These numbers speak for themselves in the quantity of
work that I have put in this project. Apart from actual coding, I have
also taken on the responsability of the IRC channel, in which I have
tried to be present at least 10 hours a day (at the keyboard). During
this time, I have guided and helped users and developers alike, and have
been almost an encylopedia of knowledge for anyone that has asked. These
past weeks, I had about 10 PMs an hour, even from first-time users. It
is almost as if it had become common knowledge that for any problem,
Alex should have the solution. Now certaintly, there have been certain
issues with this, and sometimes I got myself a bit carried away by all
this. Some complained about the jokes of "godhood" and "being all that",
and whenever users went on that line again, I tried to be modest and
respect the wishes of the developers that were offended. The reason I
wrote these last two paragraphs is because XXXXX made an assertion that
I have some wish to "hurt the project". As I have already told him my
love for ReactOS and how far I am willing to go for it, and he even
acknowledged it, I have trouble understanding why he might have said
something like this. Let there be no mistake, this project is my life's
work. I have paid a dear price for it, both financially (considering all
ReactOS-related purchases and trips, the total is about 2000$), and
socially. I have lost an entire year of school because ReactOS became so
important for me, that I stopped going to school and failed 3 classes,
just so I could write more code, help more people, and help the project
progress.

Why then, would I try to hurt any of the people behind this project, or
the project itself?

part 2 of the deleted mail:
One of the first big problems which arised recently was the fact that I
"make developers leave, or not join at all". After XXXXX and I
publically asked if this was true, only two developers came forward,
when I begged and asked for -everyone- that felt that way to email me.
Their main concern was my development practice. Apparently, I spent a
great deal of time reverse engineering isntead of clean-room
implementing. I took this moderately seriously... only two of them felt
this way, and nobody else made a clear stand about it. Confused about
what to do, I went to talk to XXXXX. This was his response:[16:35] Alex_Ionescu> my point is SO many devs reverse
[16:35] Alex_Ionescu> and im the ONLY honest one stupid enough
[16:35] Alex_Ionescu to admit it once in a while
[16:35] XXXXX> yes thats the probelm
[16:35] Alex_Ionescu> and i get flamed
[16:35] Alex_Ionescu> so f--k, ill lie too!
[16:35] XXXXX> yes
[16:35] XXXXX> please do
[16:35] Alex_Ionescu> IDA? what's that?
[16:36] XXXXX> now your starting to get the idea =)
[16:36] XXXXX> Like I said I don't care who has seen the Windows code
or even learned from it
[16:36] XXXXX> its just a matter of what we publicly admit
"

So this was the guidance of my mentor, of our XXXXX. "I don't care who
has seen the Windows code or even learned from it".
"its just a matter of what we publicly admit". "Yes. Please do [lie
about reversing]."

I said to myself, well hell! The two people that complained publically
were XXXXX and XXXXX. And XXXXX just told me that he doesn't care about
reverse engineering, and that he doesn't even care about "seeing the
Windows code". So this meant the only person that still actively
actually cared was XXXXX. 1 developer is not enough to change my
development methods. I continued writing and developing code the same
way as before, with or XXXXX blessing. And why should I fear my
practice? Almost everyone else was doing it too. And of course XXXXX did
not care who saw the Windows code. He downloaded it from XXXXX (XXXXX)'s
FTP site, which had gotten it from me. Yes, that's right, both XXXXX,
XXXXX and I had access and posession of illegal, Microsoft owned IP
which could land us in jail. And none of us said or did anything against
it. Quite the contrary, XXXXX even pointed me to a deep hidden email
written by Raymond Chen about MSFTP bugs. Likewise, I joked with XXXXX
about funny comments in some win32 DLL source code which I knew I would
never implement. XXXXX then told me he was interested about looking at
the DCOM source code, document it, and then help WINE out with it, all
while taking a 6 month leave to do so. In the end, he realized that
doing this was wrong, and he deleted his copy. I did the same. I do not
think that nor XXXXX nor I did anything wrong: he only gleaned through
some files and quite probably did not learn anything useful, and the
only code I looked at were some libraries which I do not touch:
setupapi, ole32, and ntdetect.com. As for XXXXX, last I know he
attempted to get the NT4 source compiling, a feat which I had tried as
well. So back to our story, I thought, why worry about my reverse
engineering? Some of us have done much worse.

But is that all we've done? Nope, it doesn't stop there. Another reason
I kept reverse engineering is because others were doing it too. For a
period of time, almost every day, I would spend time teaching XXXXX how
to read optimized assembly. Things like inlined memcmp and memsets. I
sent him IDA databases for gdi32 and win32k.sys, and he directly
translated the assembly code into C functions that he would then commit.
Legally, he was acting according to XXXXX law, which allows him to do
so. ROS-legally, he was violating our policy as much as I was, and as
much as XXXXX and XXXXX were/had. He told me that to help him, XXXXX
(XXXXX) was also doing the same, and that he would share my IDA
databases with him.

But he was not the only one. A few days later, XXXXX entered the channel
and complained about how much one of XXXXX new Vista API implementations
really sucked and was completely wrong, because "it was not reversed and
just guessed". XXXXX boasted in #reactos about how he took a long
evening to look at the Vista implementation in IDA, and re-wrote the
entire function to match the Vista code. (He did a good job, btw). There
went another huge violation, this time possibly not only ROS-related. By
reverse engineering Vista code and implementing those APIs, the damage
done to ROS is much greater, since Vista is usually under NDA at the
moment, and those new functions are very well protected by Microsoft,
since they do not want other peopel to implement them or release them in
3rd party software before they release Vista. This is the whole point of
Beta NDAs: to make sure nobody takes/copyrights/patents an idea/API
first. And by reversing a Vista API, we violated that.

part 3 of the deleted mail:
So I thought, what the heck, I'm only reversing some functions to better
understand Dave Probert's PDFs and Windows Internals, I'm not doing
anythign as bad as that! But there was more! Some time ago while
rewriting parts of the Object Manager, I stumbled upon our Security
Descriptor cache implementation, written by XXXXX. I was surprised at
how well it was implemented, compared to how different the other parts
of the Object Manager were. One quick look at IDA confirmed why. The
entire file/functions were reversed, clearly transalted from ASM to C.
However, all the functions and private variables were renamed. But they
were still used in the same way, called with the same parameters, and
did the same things. Additionnally, since this is hashing, which
involves masks and bit manipulation, it's really hard to magically
create the same hashing implementation as Windows, without having looked
at Windows's assembly. I saw know problem with this, and I thought XXXXX
was cool to follow my methods. The code which he had written was
perfect, down to the hashing implementation. But it was clearly
reversed. I had no problem with this. Then, recently, XXXXX came to talk
to me about his cmlib, and I took a look at the previous registry code
which read the hives. The actual hive data structures are documented in
the PDBs if you know how to look, but ours had different names, and some
stuff was marked as "unknown". Evidently, someone had taken the time to
reverse-engineer the windows NT hive format. Some of the intenral hive
functions closely matched Windows's, but did things such as
Foo->Unknown0 = 0xBA. If this was truly a "Clean-room implementation", I
fail to see why anyone would have written such code. When you
implementing something by yourself, you usually don't name your members
Unknown0, and you don't give them cyptic HEX numbers. Is this for
compatibility maybe? Someone possibly reversed some driver or 3rd party
tool? (XXXXX often brings this up as an excuse). No, impossible. No
drivers access these structures, nor any 3rd-party tools. In fact, not
even the NT Kernel itself uses them outside of very specific Hv* code.
While looking at WinDBG and the checked build, Unknown0 was documented
with its proper name, and 0xBA became a bit mask of certain flags ORed
together. As XXXXX was working on cmlib, he had to change much of the
previous code, and I discussed with him his dubious usage of such member
names and accused him of reversing. He told me, quite simply, that some
of the parts I complained about were the previous code. Whose? XXXXX.
Because of the Ob SD Hash code I had seen earlier, this came as no
surprise to me. It was further proof that, much like me, XXXX was a
reverse engineer. I then spent 4 hours reviewing XXXXX code, in which I
used IDA to verify some things. When the arguments got heated, so did
he, and he had no trouble accepting my modifications as seen because of
IDA, nor using it to verify some things himself. Yet another person was
working much in the same fashion as me, using IDA for implementation
and/or verification.

But were these all the people that motivated me to continue working in
much the same way as them? There were more. As I mentionned much
earlier, XXXXX and I often did debugging sessions together to try to get
his USB drivers working, and to get windows's USB drivers workin in ROS.
One big problem XXXXX was having is that interrupts werent' working
fine, and he had no idea what was wrong with our HAL. I jokingly
suggested for him to look at the NT4 source code. Haha, he said; he
already had! Since he was now part of the "little gang", I had no
trouble being openly honest with him about my adventures with the NT4
source code too, and how I was trying to recompile it so get it working
on XBOX, for my own internal private usage. We then talked about another
big leak: the XBOX 1 kernel source code, a subset of win2k. In one later
discussion, XXXXX pointed out to me that "he had tried everything to
find the problem: NT4 HAL, XBOX USB Stack, Linux USB stack, IDA, etc". I
did not mind that our USB stack was not only 100% linux based, but that
some information had also been gleaned from highly illegal MS
intelectual property. This is because I knew that 99.999% of the code
was from Cromwell, and just like I hadn't used my NT4 source-code access
to help ROS, XXXXX probably wans't either. But knowing all these people
doing all these things, much as myself, covinced me there was no problem
in my continuned reverse-engineering.

XXXXX, XXXXX, XXXXX and myself had leaked windows code and looked at it.
XXXXX, XXXXX, XXXXX, XXXXX and XXXXX had IDA and used it for reverse
engineering. 9 developers, and these are only some cases. XXXXX too,
sometimes used IDA to verify some flags (I once helped him understand a
weird DEVICE_EXTENSION structure), and XXXXX, although against
reverse-engineering, also used IDA to verify some implementations,
although he said he never used it to actually reverse-engineer, and I
believe him, although, once you have seen the taint, it's hard to really
psycologically prove how much you were, or were not influenced by it.
With more then 2/3rds of the entire developer team having broken the law
and/or our IP policy, I continued my work in the same way.

And now, the recent scandal. After writing the system call code more
then a year ago (based on reversed-engineered Windows code), I had a
longsstanding TODO on my blog to "use macros". I started doing so, and
then suddently "a friend" of Hartmut magically pointed him to some piece
of code that was stringly similar to ours. In an act which many have
found childish, he removed his name from our source code and said it was
"dishonorable" that I had "copied" those lines. This came as a shock to
me. First of, for the fact that no "copying" was involved, only
reverse-engineering. As you can test yourselves, copying code from IDA
will result in *much* different results from the code which I have
written. I have optimized some paths, removed some code which does not
apply to ROS, as well as made everything into macros, constants and
comments. By simply looking at the source code and comparing it with
IDA's disassembly, it would be very hard to say that it has been copied
and pasted. Reversed engineered, used, understood, learnt from, yes, but
not copied. The changes which I had done were no more different then the
code which was already in SVN for over 12 months now. They were no
different from the tens of thousands of lines of code that I had
commited until now. What was the meaning of this sudden friend which
"discovered copied code". And what was up with Hartmut's reaction, a man
which I held deep respect for, which sounded like a 12 year olds. In
trying to defend myself, XXXXX accused me of things such as "Pushing
XXXXX (XXXXX) away because I reformatted hsi code". Yes, that had
happened, and XXXXX had complained. That same day I restored his
formatting. XXXXX then complained about the fact I rewrote code in INTEL
instead of AT&T syntax. Then he complained that I broke KDBG, each time
there was a bug in KDBG. He never praised me for the many bugfixes I did
to his tool. He would come in our IRC channel, talk about smoking weed
and drinking, and how he didn't feel like working, and tell me that I
hated him. I feel sorry that XXXXX chose him as an example; XXXXX
clearly had hostility about me and would always use it when something
liek this happened, to try to rally support. And such hostility is
normal when dealing with many people, and of course I can understand him
for wanting to use every dirty trick in the book to undermine me. Just
like XXXXX does not like me, and he was eager to jump to the conclusion
that I should be kicked out. Once again, I understand this. If you don't
like someone, you cannot possibly be partial: you want him out. But
because many are silent, it is easy for 3 or 4 voices which I have
pissed off to give the impression of a majority. I would get private
emails from developers saying "I don't agree with what is going on, this
is wrong", but the only voices being heard are against me. So now I am
adding my own.

The truth is, I have trouble determining if Hartmut was truly worried
about the so-called "copied" code, or if he had simply grown tired of
me, the conflicts around me, the fact I wrote so much code, and maybe
even the fact I had become so popular. With XXXXX behind him, which also
did not like me much, and XXXXX who said it himself, that publically, he
would not defend me if I was reverse engineering, it would be a great
way to take me down. One of you confirmed this when you emailed me a
couple of days ago telling me "Alex, I think you are being set up by
some of the others".

Now, this may sound paranoid, and perhaps Hartmut and XXXXX are truly
worried about the goodwill of the project. If that is the case, then
unfortuntaely this email must be devastating to them. Not only is their
XXXXX someone who has seen leaked windows 2000 source code, but so have
3 other developers, including myself. And not only does Alex reverse,
but so do many other developers which I have named. If this is truly not
a personal vendetta about me, then certaintly, they will want to take
action against all of the developers that I have mentionned, including
our coordinator and leader. And, if they want to go ahead with the plan
of reverting and reverse-engineered code, this means that much of the
kernel would now disappear or be reverted to its state almost 2 years
ago. Almost every file in ex and much of ke and ps, as well as ob
has been written by myself, and if I am tainted and a reverse-engineer,
then all that code must go to the toilet. So must the branch containing
the user-mode networking rewrite, and so must the current mswsock
library. And so must much of AFD, which uses structures which have been
reverse engineered by me while working with XXXXX. And this only covers
my code. The USB stack would have to be removed, or at least the windows
wrapper layer, since XXXXX is tainted. The current registry code and
hive reader should be removed, and XXXXX cmlib not accepted, because
they too were created in part thanks to reverse-engineering. Same goes
for the object manager security descriptor hashing code. And since XXXXX
has clearly already reverse-engineed these two parts of the kernel, then
there is a strong possibility that the current setupapi/umpnpmgr stuff
which is his, is also possibly reverse-engineed and might need to be
removed.

Doing so, and publically stating these facts would destroy ReactOS and
the reputation of some of its developers. I do not want this, because
like I've started earlier, I love this project and I want us to succeed.
We have all done (well, most of us) certain things which range from
illegal to violating our development policy, but we chose to keep silent
about it, knowing that in our hearts, we were not truly "tainted", and
simply using every tool at our disposal in order to get ReactOS working.
I did not copy any code, I reversed engineered, and I did not find this
to be wrong. Just like I do not find it wrong for others to reverse
engineer. Just like I did not find it wrong for XXXXX, XXXXX, XXXXX and
I to look at leaked source code. But if this is now wrong, then all must
be punished in the same level, and the consequences must happen equally.
If only I am attaked, and if only my code is removed, then this will
only prove that this whole thing is nothing but a vendetta against me,
to remove me from the project. Because I do not see how it can be
justified to kick out Alex for reverse engineering, but keep XXXXX and
XXXXX for looking at leaked code, or to keep XXXXX when he has done the
same as Alex.

Now that the truth is out, I want us to solve this between ourselves in
a peaceful manner, without tarnishing the reputation of this project. I
swear an oath that I will keep everything I have said here between
ourselves only, because I love ReactOS. Now I can only hope that we will
find a proper solution to our impasse, which is mainly this:

1) I have been publically accused of reverse engineering, and some devs
want to do something about this, either rewriting the code and/or
kicking me out.
2) A great number of other devs here have done the same, and some even
worse.
3) Kicking only me out means that all this was a personal vendetta,
since the other developers's actions are being silently ignored.
4) Kicking everyone out, which would be fair if we choose to prosecure
violations, would destroy the project.
5) Rewriting my code means rewriting almost 40% of the kernel and
mswssock, and, once again, it would be unfair to keep other's reversed
code in.
6) Rewriting every reversed code means rewriting even more of the kernel
and potentially other libraries.

Judging by a previous conversation with XXXXX, I suspect that what he
wants is this:

part 5 of the deleted mail:
But this is wrong, and you know it. It is a cheap way to do "public
punishemnt" to look good on PR, but also not pay the price of -truly-
prosecuting me, which would remove most of ReactOS's recent kernel code
in the last 2 years. And, it protects the other developers and lets them
continue working in the same "illegal" manner as I have. And, if Hartmut
and XXXXX and truly honest about their intentions and they care about
these actions not being done, then they would certaintly not want this
to happen; unless of course, they just wanted me out.

As I said, I will not speak of this to anyone else outside the project.
I think it is an internal matter. I just wanted everyone to know the
truth, which some of us have been hiding from each others. I am not
making accusations, and I agree and understand what everyone did, as I
have stated numerous times. But it is unfair for you to punish me, take
way my life's work, only to protect yourselves.

Please, let us work together, not behind each other's backs. Let us find
a solution as friends, not enemies.

1. A function is deemed to have been implemented in a non-clean manner if
* "unknown" arguments given values
* functions for which there is NO DOCUMENTATION
* functions with no test cases available either in ReactOS or somewhere on the internet
* functions with undocumented magic numbers
* functions with excessive gotos
NO DOCUMENTATION means it cannot be found on MSDN, Google, sysinternals, osronline, any book published by Microsoft Press or any other publication.

This may be sufficient for a first pass, but is not likely to stand up in court. If developers are accused of using disassembled Windows code, an audit should compare ReactOS code with disassembled Windows code.

ReactOS should learn from Linux - the FUD from SCO had a positive outcome, which was the documentation of the provenance of the entire Linux kernel.

It's a real shame, because ReactOS is a really promising project, and along with many others I was watching the progress of the project with keen anticipation. The ReactOS team must somehow resolve the accusations of copying. Until it does, we should take the view that there's nothing to see here.

ReactOS devs probably heard you, because they started an audit of their code. See http://www.reactos.org/wiki/index.php/Audit for details.
According to their home page, most of the code has been audited, without finding anything suspect.

ReactOS devs probably heard you, because they started an audit of their code. See http://www.reactos.org/wiki/index.php/Audit for details. According to their home page, most of the code has been audited, without finding anything suspect.

According to their 'Intellectual Property Policy', a developer which had access to the 'leaked windows source code' cannot be a developer for ReactOS (see section C on www.reactos.org/en/dev_legalreview.html ).

At least 4 developers including Alex had or have access to the 'leaked windows source code'. If the ReactOS developers don't follow theirs one policy, which value has then their statements or the audit? It's simply a fake.

And looking to the first comment from Magnus: you have not follow ReactOS at all if u have, you will found it was never talk about "leaked Windows source code", it was about how some devloper use IDA and wich metof that should be use and how.

Magnus is one of the ReactOS developers, which has got the original 'Open Letter' with all names. Now he has some 'memory gaps'.

This message was a provocation, due to a personal conflict between one developer and another. And when that developer decided to quit, he wanted to "close the door very loudly" (this is typical for FOSS projects, unfortunately).

We decided to use this occasion and in order to be sure all our code is valid, an audit is being conducted by our own developers, and 3rd party code auditing (auditing of the whole codebase + any coming patches) will be setup when ReactOS switches to beta state.

Further details (who will conduct 3rd party audit, when and how) will be published when possible in form of news.

I kindly ask to not react to these continuos comments of, maybe, one person under different nicks spamming ReactOS news entries with these lies.

IANAL, but I don't think any amount of auditing helps here. Even if the code is free from Microsoft code, the code may have been written using the illegally obtained code. And what to audit against? The MS code? But you can't possibly have that, legally(?)

predictor - the goal of our audit is to establish origins of the code - find authors, documentation, GPL-compatible code (on which ours is based), and of course to find errors in the code, and fix what is wrong (errors, code with unclean/unknown origins, etc).

To summarise:
1) Giving credits to those who did the work (people, orgs, etc)
2) Finding errors
3) Finding code which has no legal documentation sources behind it - such code must be either just deleted, or (if it is in a critical place), the following procedure applies: one person creates a thorough code-less documentation from the existing code, and sends it to another person (who have never seen that code), and he implements it (so-called clean implementation, tested in court - works).

Aleksey, what is a lie? Was the 'Open Letter' a lie? It was written by a ReactOS developer and published to the list by another one. It was deleted from the list archive. All other mails, which refer to this mail were also deleted. If the 'Open letter' or its contents was a lie, why do I not find such statements in the following mails? I found another mail http://www.reactos.org/archives/public/ros-dev/2006-January/007478....
which repeats some things from the 'Open Letter': We know of four developers who have had access to leaked sources...

The 'Open Letter' was not intended for the public, but it gives an interesting view, how ReactOS is developed.

I guess 2-3 years from now, most folks use Vista client/Longhorn server and doesn't care about obscure XP/2003 clones anyways (since noone will have the interest), thus no reasons for MS to take action.

I didn't really heard *any* good opinion about Vista in general (yes, the kernel has some technologic advances certainly, from technical point of view only), and I really doubt in 2-3 years everyone is going to switch to that OS.

Many people (=="most folks" term you use) still care about and use Windows 2000, and that was 7 years ago, and they still use it.

The world needs a good opensource alternative to the Windows platform - commercial Windows and MacOSX vs. FOSS Linux (and a few minor, incompatible with everything OSes) is not the fair situation for a general user to be.

The world still has LOTS of computers, which just can't afford an overhaul of Vista, but would gladly run a FOSS OS, which is compatible with Windows applications, and compatible with device drivers that particular PC uses.

ReactOS definately does catch up, but not "infinite" way, like - "let's kick out our XYZ support because it's implemented completely differently in Vista", but reasonably. Reasonably means we can afford taking only what's best in Vista (say, some architectural decisions, or kernel features) and incorporate it into ReactOS.