Casper Hornstrup wrote:
-----Original Message-----
From: ros-dev-bounces(a)reactos.org [mailto:ros-dev-bounces@reactos.org] On Behalf Of Alex
Ionescu
Sent: 15. november 2005 21:36
To: ReactOS Development List
Subject: Re: [ros-dev] RE: [ros-diffs] [cwittich] 19254: add a check
forSPDRP_CONFIGFLAGSwhich is
not working yet
While your points are valid, newdev is his baby and he should be allowed
to do with it as he damn well pleases. Don't tell me you've never done
this kind of operation locally on your disk? Christopher just chose to
commit it. It's why I now run a local branch and only commit final code;
it lets me do what I want with code that I wrote 100% of, without being
criticzed about design choices before the application is complete.
Note: If this wasn't his app or was a really old app we depend on, I
would agree with you. But as far as I'm concerned this is his
application and for now there's no point in reviewing it until he
considers it done and ready for review.
Best regards,
Alex Ionescu
No way. Contributing something doesn't give you any more right over it than
anyone else in the community (except copyright).
I did not argue against that.
If someone can't accept that,
then they shouldn't contribute to a community effort like ReactOS.
I agree.
If newdev
is Christopher's "baby", then ntoskrnl must be David's "baby".
So what were
you doing in David's code?
He abandonned his code and it needed a new maintainer. I think you're
(purposedly) confusing "maintaining" and "owning" while trying to make
a
point which doesn't exist. Ge didn't agree with a change I made in
Freeldr, and I reverted it. Why? Because he's maintaining it and I don't
want to make his life hard. If Magnus spent 6 months writing a DX
library from scratch, does that mean I can come in and rewrite half his
code because I don't like it? No it doesn't. As the maintainer and guy
that wrote 100% of the library he should have a choice in design
decisions made with it. That doesn't mean he has to be Hitler, but it
does give him some authority over his own code.
I'm sorry to hear that you believe that reviewing
is just about critiquing
someones work
Never said that.
and that you are obviously so afraid to answer
questions about
your code that you choose to keep it a secret for as long as possible and
commit it in big batches.
What kind of delluded paranoid argument are you getting into? I never
said any of these things.
There is very much a point in reviewing as early as
possible. It is to find
bugs as early as possible.
I agree and never said anything against this.
Casper
Sometimes I think you like to invent things just to have something to
say. I never said that "I'm afraid to answer questions" or that
"Reviewing is only about critiquing". I pointed out that I find it
stupid and wasteful to make community decisions on something that the
writer hasn't done yet! Imagine a program or DLL as being a book. It
starts out in 3 phases
1) Manuscript being written. At this moment, entire sentences are added
and removed, sometimes 3, 4 times in a row until the author decides what
to do. Entire chapters can disappear. Plot twists can be removed or added.
2) Manuscript is written. The author is happy with his work and thinks
its mostly complete. His editor and publisher will now do reviews, which
can still result in modifications present in the book, sometimes even
major. Sometimes the author might not agree, but usually they are team
decisions, and many times it's mistakes that the author himself hadn't
noticed
3) Published book.
Now when coding with a SVN system, imagine that EVERY sentence
modification in the manuscript is a commit, so therefore becomes a new
manuscript. Do you think that the author sends the editor a new copy
EVERY time he makes a sentence?
Oh yes, I'm starting a book, and my book starts out with "In a butiful
summer afternoon". I send it to the editor. Editor tells me "beautiful,
not butiful." I respond "oh yes, I was really tired that night, I fixed
it a long time ago. Here is a new come: "In a beautiful summer
afternoon, Jake went to the store". Editor responds "Well, you didn't
tell us about Jake yet!". Author says "Yes, I didn't write his character
in yet, here is a new copy of the manuscript (which is only 1 line at
this moment) which introduces Jake.."
Are you starting to realize how pathetic and stupid this woudl be?
Society itself would crumble if people worked like this. The same must
apply to code. The coder starts out with his own internal revisions, as
he slowly writes his functions and fixes his bug. r40 might have a 1000
line function, that by r42 the coder decided was useless and removed. If
he had published r40, then everyone would've reviwed it, maybe even made
some helpful comments about it, only to see it gone in r42, because
nobody is in the mind of the coder and can possibly know his ultimate
design. Even when David commited code to the kernel (I checked the
logs), it wasn't 1 line at a time. He commited entire chunks of
functions which already revealed internal testing and decisions he made
during that time. And so does almost anyone committing code.
The difference here is important because it's a difference between
pre-written code, in which constant and progressive changes are needed,
and non-existant code, in which a whole library is written from scratch.
The "small patches and commit every 100 lines" theory does not, and
cannot hold, for something being written from scratch, especially if
you're a top-down developer. It might only work for people that have
already thought of the design for entire months, and start out with
their DllMain and then write the 100 stubs they know they will need. But
most developers don't do that; some are not aware of the potential
issues which might arise. You can have developed your whole program,
only to realize it fails miserable on MP platforms because you never
tested. And this kind of mistake happens even to the best programmers,
sometimes years later. Look at the Audio subsystem in NT. It was
rewritten THREE times, going from 2/3 user mode 1/3 kernel mode to 1/2
user mode 1/2 kernel mode to 100% user mode in Vista. And we're talking
about a company with dedicated teams and years of experience to find
these kinds of design flaws. But it still took them 15 years to realize
it. So don't tell me that a coder can't realize a mistake after only a
month of testing.
That's why I commited ws2_32 as a "large patch". Not because I was
afraid of reviews. I WANT reviews. It's why I had a local SVN branch and
did the kind of diffs that are usually used when modifying a library, so
that if anyone DOES want to peer into my own thoughts and decisgn
decisions, they can. But if they had done that at r1 and started
changing things around, then by r4 all those changes would've been
irrelevant. Or comments like "hey, you didn't think about ..".. Of
course I didn't! I haven't reached that stage in my implementation phase
yet!
I'm sorry for making this so lenghty but I felt very insulted by your
comments which seemed to imply that I hate reviews, that I'm afraid of
them, and I have unusual ideas about FOSS code contributions.
Best regards,
Alex Ionescu