[haiku-development] Re: Banning Barrett

  • From: Dario Casalinuovo <b.vitruvio@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 17 Mar 2019 13:00:53 +0100

Hi,

On Sun, Mar 17, 2019 at 9:08 AM Adrien Destugues <pulkomandy@xxxxxxxxx>
wrote:

Le 16 mars 2019 15:59:21 GMT+01:00, Dario Casalinuovo <
b.vitruvio@xxxxxxxxx> a écrit :
Hi,

On Sat, Mar 16, 2019 at 8:47 AM Humdinger <dmarc-noreply@xxxxxxxxxxxxx>
wrote:

So, Barrett, after years of people criticising your lack of

communication when it comes to your contributions,


So, as said I don't think I did all that different than what for
example
Axel did with launch daemon,
and the codec kit isn't all that revolutionary after all compared to
it.
The difference here is that he
discussed about that at begeistert and that there was the possibility
of
having personal branches.
This is another problem, this is a problem of management on admin side.

There never were personal branches on Haiku servers since we switched to
git. People usually just use github for that.


This is another thing that I don't like about how discussions goes. I'm of
course referring to tracking external branches. There's no point in putting
the stuff on my own github if in the end commits doesn't get in
haiku-commits.


* Finally, in another situation sometimes someone come from nothing and
begin speaking about stuff that didn't even have reviewed correctly,
I'm
not going to accept lessons from someone who didn't respect or consider
my
ideas in the first place. There's also an example of that in this
topic.

As I already mentionned, systematic code review is a great tool for that.
It is an opportunity for you to document your changes.


Here I refer mostly to some people like honorable members of the Inc. that
comes years after to criticize me that I'm not fixing memory bugs. At that
point I had +2,5 votes for my work to continue, I needed just another bit
to get the majority and the subsequent "go ahead". Now, I will not accept
his critiques about my development, I don't know if he voted -1 or just
abstained, it's just that this person lost any consideration from me.

Code reviews are another different question, it's science after all and if
someone make a good point I may consider it. It's just that if I were in
that person I'd have the decency of keeping my mouth closed instead of
showing my lack of understanding of the situation. Those peoples are just
politicians keeping a seat, and those people are very dangerous for the
project IMHO. I will never return again on that.


I can take the example of the metadata handling in Media Kit. Several
developers have suggested the use of BMessage for that, for consistency
with other parts of the API (it would be one less class to worry about for
the people using the API).


So, here I tried in many ways and in many times that it's just a
coincidence that BMetaData uses BMessage internally. It's not even assured
it will continue to work this way, because, when it comes to handling
media_headers I'm a bit worried of the relatively expensive (linear)
operations done internally. This class is really special, and is conceived
to solve a lot of problems around and have various operations which can't
be implemented into BMessage. Like joins and selective matching. I'm not
going to extend more because at this point I'm going to keep my design
private to avoid others use my ideas.


I think you did not want to admit this point of view.


So, I had a talk with Axel about that, it all started because you and
waddlesplash told me he just resigned from the discussion. I think, we got
to a point where we both agree it's a question of taste. We both agreed we
didn't have enough arguments each other to convince enough. I think he told
me that in the end he trust my judgment enough to be OK with that. Also, we
got to the point that the class could be easily removed from the tree, but
if someone did that someday he should have strong reasons as well to do
that.



In general, what I take is that you want to make things better, but by
doing so, you are ready to lose the consistency, which I, personally, value
a lot and am ready to compromise other things for.


If you only seen my complete design I think you'd change idea and
understand why it's really a bad idea to implement my stuff subclassing
BMessage. Because that's what we are talking about in the end, subclassing
vs wrapping BMessage.


I think this is one of the keys to the Haiku spirit. It does not make your
changes wrong, but I see them somewhat not fitting with Haiku as a whole.

These things we can discuss at length, if we manage to both keep calm and
not lose our nerves. But it takes code review and presence on the mailing
list.


I have a fear that a pattern I already seen multiple times makes me to quit
the project. I see a pattern from waddlesplash often and you can see an
example of it in this mailing list:

* I say something, commit something, comment on something and he just goes
on me with a -1
* Then someone like you or Axel comes, and he either change idea or at
least gets more reasonable.

A little variant of this pattern is "Be did always everything right".

Now suppose that happened with a -2 on by BMetaData stuff, I'd not have
done the 70 commits that comes after that because I'd have probably get
unmotivated. I have just a few mins per days to dedicate to hobby
programming, if I see those patterns happens often it's normal I'm scared
of gerrit.

I see also a bad pattern from you, I just join in IRC to discuss wheter
read only volumes should be ordered or not. I don't think I criticized
anyone, if any I've been criticized a-gratis from you and waddlesplash just
for questioning something. If you want to collaborate with me, you should
know that I converted myself to a "nullius in verba" style of thought. I
question basically everything, but with the purpose of bringing new ideas
and different ways of thinking. In the end I always trust the most expert
person in the field.


Even with the development plan you outlined, it still seems you would
prefer to work in "code drop" style: submit us a complete implementation,
docs, etc, of your own design.


It was up to you to take the implementation. Since I felt that a
disagreement on something like BMetaData which to some extent is relatively
irrelevant to the codec kit (but not to the media2! it's very important
there) could have mined the plans at a whole, for the reasons stated above,
I think seeing the whole implementation would have clarified a lot of
things which are just too difficult to see if not in whole.


I believe the way things are done in Haiku deserves more concertation and
discussions. Yes, that means we are much slower, but this is how we can
keep running the project without any leader. The choice of giving even
opportunities to everyone to raise their voices has a cost and I'm willing
to pay it because I think it pays in the long term.


This is fine. But at some point you either trust the judgment of the person
willing to work on it, or it's just going to be a pain in the ass.
I've been criticized to do long discussions about details, I think it's
actually other people that points always to details instead of the whole
image.



As you see, my arguments are not so much on the technical side here, I
just think your way of working does not match with how I see Haiku and how
I think it should run. I don't think it is something that can be fixed.
There will always be frictions resulting in wear on either side.


There are always frictions. But voting on everything isn't always going to
work.



The question is, since Adrien seems to like a lot gerrit and code
reviews,
why don't him use gerrit for that? And why he doesn't push to actually
have
webkit commits routed to haiku-commits for proper review? I'm pretty
sure
it'd be an excessively annoying thing for him as it's already a
difficult
area to develop without people questioning.

"when in rome, do as the romans do".
I work on WebKit, I use the rules of the WebKit project. I asked them if
they were interested in upstreaming our port, and they said not until we
give up on WebKitLegacy. It looks like one of our GSoC applicants is
finally taking care of this, so we may start to upstream code again. And it
will of course go through WebKit's review process, and any dev who
contributed to WebKit can tell you how much more annoying than ours it is.


But they are paid quite a lot to do that...

And I should also mention that most (I dare not say all, because you will
find some direct commits now and then) changes I make to Haiku go through
Gerrit, and that I push other people to use it more as well. Some of them
think it should not be mandatory, but I'll keep encouraging them to use it
more (and try to not be to annoying in doing that).


As said I'm scared of the pattern where the random waddlesplash is going to
-2 my patch and drain my motivation for weeks. I'm not sure the project is
ready for that. But as said, you and your friends (not me since I've been
illegally removed) you can vote and you can do whatever you want. I'm not
even sure at this point I'm discussing about cooperating with you or just
the relics of that before I disappear.




So, we are all good at predicating things that we don't follow in the
first
place. Adrien is good without reviews, we don't have any idea of what
he is
doing, and he rarely explains us what are his plans. Now, again, this
is
not a critic to him, but do you see the parallel?

I'm not doing much. 99% of my work on webkit is merging upstream changes
and making sure the code still builds. And it does not take an expert eye
to see that the result is an extremely unstable browser that's unpleasant
to use.


I'd have been very happy to see those go in my email by default.




Suppose that if I'm forced to go through gerrit, also Adrien should be
too,
what happens? Let's see if there is justice and equity in this
community.

I'm fine with mandatory Gerrit for every change.


I'm -1 for the reasons stated before. I don't fear you or Axel because I
think in the end the discussion is going to be meaningful, but I fear other
people cold-judgment without even reviewing my work correctly. I'm really
slow to make an opinion on changes, that's a precaution I take each time to
do not try to mine others motivation.


Nonetheless I have to say that someone finally acknowledged that it's
really painful to use the gerrit review for the kind of work I'm doing.

I will mention again that it is a way to have other people read and
understand your work. If you do not go through this, how are we going to
understand your code?


It's not always possible to make a net judgment on early patches, it is a
danger that can make more developers to quit rather than helping the
project.


I'm pretty sure that, for example Vidrep, which follow my work with a
lot
of interest already knew what were my plans. I had long discussions
with
him about my plans that were in the public channel.

Also, people please stop saying that I bypass reviews, until a year ago
or
so, reviews where done only in the mailing list, and that's where those
are
supposed to happen.

Post commit reviews result in more frictions, because it is annoying to go
back to already commited code. Gerrit encourages me to push work in
progress changes for early review, and more efficiently collaborate on
things. I see it as a way to use other people brains to improve the design
and clarity of the code. I can see that not everyone agrees with this, but
I don't see how you can complain that people don't understand what you do
if you are not willing to get through this.


Not sure, it worked OK for quite a lot of years. Suppose the package kit
was implemented this way, I clearly remember some people being against it
initially, then gradually changing idea and some in the end became lovers
of it's design. Now, Ingo was somewhat right from the begin, the clear
image of what he did could be seen only years after it's work. I don't know
if I explain myself, but I hope people see how not all development styles
are going to be correct. There's another face of the medal, no one is
basically expert enough on the package kit now, and this probably should
have been worked better. I'm not saying your point isn't reasonable, but
there are different colours to take into account before saying that it's
the only correct way to develop things. As said, I think personal branches
are better for mass refactors.





You want to keep being a member of the project and fight for it;
putting us and foremost yourself through this ordeal.


Let's put it this way: I've been illegally removed from virtually any
thing
in the project, I'm no more part of the Haiku organization anymore, I
have
been banned from #haiku-dev, my keys have been revoked, and that
happened
in just 33 hours. From the (private) comments I received, people indeed
recognized it as an injustice and a partial decision.

Not only private. I have stated multiple times in public channels that
this way of handling things is completely unappropriate.


Believe me or not, I'm going to say this now and retract at the same
moment, there's a silent majority too.




Before think about removing this illegal situation and restore
everything
how it should be.

I agree, however your mass revert on Gerrit does not help your case. Can
we now trust you to not do ill-intended changes to the git repository?


You removed all my credentials in a matter of few hours, and as said I
think that if those things about me are true, you should work your own way
through the issues. Also, be clear to the readers, that I didn't revert all
my git history, but just the codec_kit changes which are disputed here.


On my side, I started this topic because at this point I have concluded
that collaboration with you in Haiku is physically affecting me. That's
unfortunate, I think it is nothing personal and maybe we could try to
collaborate in different settings.

I am annoyed (and it's not the first time) by Kallisti5's "move fast and
break things" approach to this. It's abuse of sysadmin powers and that's
not acceptable. I hereby consider him warned about this and hope it won't
happen again. It does not help that we never wrote down the rules for this
in an easily reachable place.

It isn't even clear for everyone what a "ban" is. Does it include removing
one from the whole community? Removal of commit access? On voting right for
project decisions? I don't know, I think indeed a complete ban is an
extreme mesure so we have to strongly agree it is the right thing to do,
but on the other hand, at this point, would a compromise solution work? Can
there be trust?


I'm still today banned from #haiku-dev (which I think is really the worst
thing of all).


I agree with Humdinger. Independant of our issues on working together, I'd
say we all want Haiku (or let's say, some BeOS inspired project, whatever
it is) to succeed? So, why threaten for more roadblocks on the way to that?
By doing that you are trying to harm Haiku in every way you can. The fact
that you are even considering such things is worrying for any future
collaboration.


I expressed multiple times that I want the situation to change promptly, I
can't say more than that.


Can we safely keep using any of your code now, or willeit lead us into
more trouble?


Probably not, who know.



It would be great if you could show more trust into the project, despite
innapropriate actions from some members (we all make mistakes). But you are
reacting with attacks, and this does not help me being reinsured thut
collaboration is somehow possible.


You should have thought about that before attacking me (I mean the ban).
You can't question me for defending myself and actually requesting that the
disputed changes are reverted. And as said, believe me or not, I care much
more about seeing that code lying there for years than for the commit
access itself. I think with me the project will lose a lot, and in some way
this will begin a "third republic" in the project history just like it was
after koki's ban.

But, with your reaction of mass reverting everything on Gerrit, I must
admit that it was not completely wrong either? What would you have done if
your commit access still worked when you found out about this? Would you
have reverted all your work directly?


Yeah, drop a nuclear bomb on a state and then say that it was just to
prevent more damages. Sorry I don't think I'd have done that if I didn't
have a gun pointed on my head.

-- 
Saluti,
Dario

Other related posts: