Linked by Thom Holwerda on Wed 29th Nov 2006 20:49 UTC, submitted by frik85
ReactOS 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.
Permalink for comment 186784
To read all comments associated with this story, please click here.
2th_noname
Member since:
2006-11-24


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:

1) Kick Alex out and rewrite the accused 100 byte code.
2) Keep everything else silent.


Reply Parent Bookmark Score: -3