It's still misunderstood by many people, and proposed as drama in
this mailing list by Magnus. As I told already, the situation is this:
1. Magnus' commits must be *at least* spellchecked, both commit
messages (tortoisesvn log message embedded spellchecker seems to not
be enough for him), and the code itself, from two points, comments,
and actual code, some times, too. This is not because I don't like
him, it's because of his specific feature.
2. I proposed to do this *myself*, thus investing my own time to help
Magnus, because after all, he's my friend, as a human, not as a coder.
3. This usually worked, but the problem is that I wanted this to
happen before commits enter trunk, and not after, when I was forced
to do this putting away all my other things and regresstest and fix
his commits ASAP, because people seem to be very pissed when trunk is
in broken stage.
4. Completely ignoring my kind requests for 2 years in a row (not all
of them, revert wars stopped after my complaints).
Also, you showed a bit of recent statistics. To be fair, Magnus and
Colin actually fixed the AbiWord crt regression, and I was guilty in
another CRT breakage too.
If you look into history of his and surrounding commits (total of
2080 commits - only w3seek and ekohl have higher number of commits),
what I wanted to change, is his development method (just as a recent
example for now):
1. Spot some bug
2. Add some NULL checks here and there, reformat code so it looks
better to him
3. Commit
4. Test
5. Problems revealed, add more checks, in fact introduce good
changes, fix something else, reformat more code.
6. Commit.
7. Test.
8. Fix other revealed problems. Also fix an untested code path.
9. Commit.
10. Listen to fireballs complaints in the morning, discuss with him,
clear up the code, remove unneeded NULLs check, add checks where they
are really needed.
11. Get fireball to test the changes, then commit.
All of this results usually in 10 or 15 commits in a bunch, with a
hard to follow commit messsages. Yes, the end result is good - bug is
fixed. But with 1 bug fixed, usually more than 1 new bug is
introduced. This is what I wanted to get rid of.
Another problem was in the past, thankfully Magnus listened to me,
and we found common agreement. It was this way:
1. Magnus noticed a winesync somewhere in win32k, user32, gdi32 done
by some other person than me or Jim (e.g. by janderwald).
2. He reverted the change, even if it was good with an embarassing
commit message "wine is shit, don't sync with it".
3. The offended develeper left this field, and we are now stuck with
stoneage wine code in kernel32 and win32 subsystem, getting us huge
amount of bugs.
And to answer your last question, no, I hate loosing people, and I
did not intend to leave. But can you tolerate other people going away
due to this (those mistakes by greatlrd) problem?
Or rephrasing, if Magnus's work is fun for him, can you tolerate that
it makes other people's work not fun anymore?
I don't, so I had to enforce this, maybe temporary, maybe not, but I
had to solve this situation, as a person, responsible (I don't have
any privileges in return for "project coordinator" position :) ) for
the general direction of this project.
But, to sum up, thanks for your opinion and your support of Magnus.
Trust me, we are friends, and I hate that I had to take this steps.
Hopefully we can find a way to make Magnus work fun again. And no, I
don't intend to introduce any restrictions, or direct someone what to
do without backing up commercially, so it's still based on fun,
always have been, and will always, hopefully, be.
WBR,
Aleksey Bragin.
On Jun 18, 2008, at 11:54 PM, Timo Kreuzer wrote:
I also respect Magnus, as person, and as a friend.
And I'm not gonna keep my mouth shut and let this go on, without
telling
my opinion.
Aleksey Bragin wrote:
For some strange reason, he accepted that as
lowering his status
(which I didn't intend to do, and in fact it's quite hard to harm
someone's "status").
Strange reason? Oh, really?
There has been a lot of talk about more professional development and
keeping trunk stable etc....
But after all this is still an open source project. Everyone does the
coding for fun. Take the fun away and the coder will stop coding.
Taking
away commit access to trunk is like spitting directly into the
developer's face. Don't expect any other reaction as Magnus'. If I
were
in his situation, I'd be pissed, too.
Let' talk about spelling... This is ridiculous. Wrong spelling in
comments doesn't harm anyone. If you don't like it you can fix it
afterwards, but there's really no need to review a patch to fix the
comment spelling.
And about Magnus breaking trunk... I remember times when trunk was
broken all the time again and again. I really do not see Magnus as
being
the one who broke it all the time. It was ntoskrnl stuff mostly. Noone
ever thought about making Alex only commit to a branch. Well, you have
to break an egg to make an omlett.
And now that ntoskrnl is quite stable you start getting pissed off by
small regressions.. Or well, no, you got pissed off by one regression
Magnus has caused, because he wasted your time. There have actually
been
a lot more regressions introduced recently:
- Ownerdrawn menus (janderwald)
- ntuser class changes (gbrunmar)
- solitaire colors (tkreuzer)
- broken download (pschweitzer)
- crt changes (cfinck/encoded)
Just to name a few. All of them being as bad or worse and being in
trunk
for a much longer time and probably wasting a lot more people's time
finding the guilty revisions / fixing it.
Sorry, if I now sound pissed, too. I am. Because this sucks.
I don't like where this is going. I don't like the idea of 1st and
second class devs and being reviewed.
What's next? Supervisors and group leaders, assigned tasks with
deadlines and monthly reports and whatever?
You want a stable trunk - great! The question is how much are you
willing to pay. Is loosing one of the old devs really in the budget?
Please rethink.
Thanks,
Timo