[ros-dev] RE: [ros-diffs] [cwittich] 19254: add a check forSPDRP_CONFIGFLAGSwhich is not working yet

Alex Ionescu ionucu at videotron.ca
Tue Nov 15 22:43:59 CET 2005


Casper Hornstrup wrote:

>  
>
>>-----Original Message-----
>>From: ros-dev-bounces at reactos.org [mailto:ros-dev-bounces at 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


More information about the Ros-dev mailing list