Subject: [alpine-devel] a discourse on the troubles of being an alpine developer these days

From: William Pitcock <[email-masked]>
Date: Sun, 30 Jul 2017 02:57:57 -0500

It's become abundantly clear to me that Alpine no longer has the same
values that it did when I joined the project many years ago.  We've
been through a lot and have exceeded expectations many times over, but
unless some major changes happen very quickly, which I don't expect to
happen, I think I'm out.

The reality is that when bpitrowski@ was run out of the project by
jirutka@ and some contributors that are part of his social clique, the
core team did nothing to stop it, with individual members (including
myself) expressing sorrow about the situation.  Since then it has
become clear that inaction of the core team has sent a very harmful
message.  The group who systematically harassed bpitrowski@ until he
resigned have had other actions which have lead to perceptions such as
"spewing hate is part of the Alpine brand."

It has now been a year since he was run out of the project, and almost
two years since I started raising concerns about this targeted
harassment.  In the past week, this group has felt even more
empowered:

   http://archive.is/wEF8F
   https://twitter.com/JakubJirutka/status/890386241061085184

Natanael in his role as the person who founded the project quickly
stepped in to apologize, but, yet again, no sanction has occurred
because of it.  History repeats itself: the core team is too cowardly
to actually sanction the behaviour.

One of the solutions proposed, in part, to curb the behaviour of that
particular clique was a Code of Conduct.  Instead, they hijacked the
process of authoring a Code of Conduct by jumping out in front of it
by being the first to propose text for a Code of Conduct:

   http://lists.alpinelinux.org/alpine-devel/5663.html

This was explicitly stated by them to be a "defensive measure against
SJWs."  As if so-called SJWs are the only people who care about having
a Code of Conduct.  We are talking about a consistent and coordinated
effort to undermine the project from specific actors.

Ever since the bpitrowski@ incident, I have struggled with deciding
whether or not to leave.  But lately it has become obvious that
leaving is the only thing I can do personally, as the core team as a
whole clearly refuses to take any action to even understand why and
how that incident played out.  In fact, the core team has never
discussed or attempted to analyze the incident.  As far as I know,
nobody ever bothered to ask why he left either, which means no
analysis could be done even if they wanted to do it.

What I know is that I cannot personally maintain good faith when it
comes to interactions involving these people, largely because they ran
a developer out of the project.  And since I can't maintain good faith
with these people anymore, it makes little sense to stay with the
project, when I can work in a derivative instead.

So really, my question is: why should I continue to do my work inside
Alpine, to participate as a core developer when I am at risk of being
harassed in the same way?  Why should I spend my time contributing to
a project that doesn't stand up for it's own when they need it the
most?

When Alpine was a younger project, solidarity was a crucial aspect of
the core team.  We worked hard and spent many nights hacking out
fixes.  Where we are now would never have happened if it wasn't for
our loyalty and solidarity to each other.

The true tragedy is that people have come in and destroyed that solidarity.

I want to believe we can fix this, but right now, a year after the
bpitrowski@ incident, I find myself still hurting.  I do not like that
I have to be pensive around certain people to avoid becoming their
next victim.

Is the future being pursued, ironically in the name of "quality
assurance" by those actors, the future that everyone including Docker
and IBM want?  It's not the future I want at any rate.  I say we must
kick that agenda and those who pursue it to the curb.

William

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: William Pitcock <[email-masked]>
Date: Mon, 31 Jul 2017 01:47:30 -0500

Hi,

> "spewing hate is part of the Alpine brand."

I want to follow up on this part: since I wrote this, I spoke with
both jirutka and barthalion, so I feel that following up is the right
thing to do.

On one side, barthalion said that he felt ignored and that nobody
cared about anything he had to contribute, which probably explains the
reduction in effort he applied towards Alpine in the months before he
left.  On the other, jirutka said that the conflict went both ways,
which is why it probably escalated to the point of barthalion leaving.
Either way in this case, upon further reflection, I think the actual
tragedy here is that we lack private channels to work through these
problems.  I had a lengthy private discussion with jirutka, and he
came to basically the same conclusion.  He also clarified that he
agrees the actions taken by some of his associates has been out of
line lately.

So given that, I think in reality, that he's an alright person.  Until
now we have never really talked about what happened last year in great
detail.  The tragedy is, in my opinion, that if we had appropriate
channels to work through issues privately, that barthalion probably
wouldn't have left to begin with.

Finally, I would like to apologise to jirutka for calling him out
without having the whole story.  If we had appropriate private
channels, these issues likely wouldn't occur to begin with.  I look
forward to working with jirutka and the rest of the core team to
establish backchannels for this purpose, and procedures to use for
appropriately handling complaints directed to the core team.

I still miss the days where we worked on code instead of bickering.
What I really want is to return to that climate.  Whether or not I
choose to stay really comes down to whether or not I believe we will
return to that climate.

William

---

---

From: Natanael Copa <[email-masked]>
Date: Mon, 31 Jul 2017 23:01:48 +0200

On Mon, 31 Jul 2017 01:47:30 -0500
William Pitcock <[email-masked]> wrote:

...

> appropriately handling complaints directed to the core team.

There was some idea about having regular video meetings too. I think
that would be good.

> choose to stay really comes down to whether or not I believe we will

I want that too.

-nc

---

---

From: Natanael Copa <[email-masked]>
Date: Mon, 31 Jul 2017 22:05:55 +0200

On Sun, 30 Jul 2017 02:57:57 -0500
William Pitcock <[email-masked]> wrote:

> myself) expressing sorrow about the situation.

I actually did spend time talking with the involved parts in private. I
did not want involve more people than needed.

>  Since then it has

> harassment.  In the past week, this group has felt even more

I am talking with him about it.

> to actually sanction the behaviour.

I talked with him. He actually came to me immediatly after, realizing
it was a mistake. I didn't think there was need for any sanctions.

>    http://lists.alpinelinux.org/alpine-devel/5663.html

He submitted a Code of Conduct because I asked him to do so.
Unfortunally it came at a time when I didn't have time (or energy) to
comment on it.

> effort to undermine the project from specific actors.

I asked him to come up with a proposal because he was involved in the
incident that caused bpitrowski@ to leave.

> our loyalty and solidarity to each other.

We have grown alot since then, fast. But failed to deal with the growth.

> The true tragedy is that people have come in and destroyed that solidarity.

I think we have experienced the dead sea effect, sort of.
http://brucefwebster.com/2008/04/11/the-wetware-crisis-the-dead-sea-effect/

The public channels becomes hostile and unfriendly, the friendly people
leave (or are silent) the public channels, and instead do the
communication via private channels.

Whats left (active) in the public channels becomes even more unfriendly
and hostile.

> I have to be pensive around certain people to avoid becoming their

I believe we can fix it. I don't think it will be easy, but I believe we
can.

I think a good starting point is that every individual:
- try to be friendly with others
- try improve your own communication skills (google gave me this:
  https://www.thebalance.com/communication-skills-list-2063779
- acknowledge that everyone makes mistakes, even yourself
- don't expect everyone to agree with you, and that is ok - maybe even
  a good thing.
- don't try fix everything everybody. instead pick your "fights". This
  means that you need to let some things go, even if you disagree or if
  its suboptimal.

That was just a few points that came of the top of my head. There are
probably more.

> kick that agenda and those who pursue it to the curb.

Being hostile does not equal high quality and having a friendly
community does not equal having low quality product.

-nc

---

---

From: Timo Teras <[email-masked]>
Date: Tue, 1 Aug 2017 09:03:05 +0300

On Mon, 31 Jul 2017 22:05:55 +0200
Natanael Copa <[email-masked]> wrote:

> > because of it.  History repeats itself: the core team is too
> > cowardly to actually sanction the behaviour.  
> 

It would be good to try to communicate that privately to all involved
parties. It's easy to assume things went without any attention.
Preferable the offender should reconcile the offended one.

But it also goes the other way. Even if we are offended by someone, we
should not offend them back or ask / except for sanctions in case it's
not a repeat offender. If people learn from their communication
mistakes, it's much bigger win than punishing them.

Being friendly means we also forgive offensive talk (when they realize
the mistake - not when they repeatedly do so). And yes, this requires
humility from all of us, especially those who are long timers here. We
get criticism, and we need to be able to take it.

> > One of the solutions proposed, in part, to curb the behaviour of
> > that particular clique was a Code of Conduct.  Instead, they
> > hijacked the process of authoring a Code of Conduct by jumping out
> > in front of it by being the first to propose text for a Code of
> > Conduct:
> > 

While this serves probably as a good training to learn code of conduct,
it is also problematic, or at least can appear to be so for others.

In Finnish this would be called:
Pukki kaalimaan vartijana – ‘a goat guarding a cabbage patch’.

Meaning: Giving a task to someone with a conflict of interest.

Then again if the exact same message would have come from ncopa, I
guess all would have been happy. So it's good to remember to focus on
the message and not the messenger.

For me, hijack would involve changing the intent and/or content. This
did not happen. The message just came from someone not having freedom of
speech in the area, so I understand it may have offended some.
However, it's also shows greater friendliness when we do accept this
kind of notes - as long as the content is in line (which is the case
here).

As said, we've grown a lot recently, and arrival of "people
incompatibilities" was inevitable. We were not really prepared for it.
Hopefully we don't need to spend time resolving them. I really hope
we don't need formal "court" for handling these.

But perhaps, it's time to make some procedure. Mostly to signal that
repeat offenders are not tolerated, and to not give the appearance if
inaction.

Timo

---

---

From: "A. Wilcox" <[email-masked]>
Date: Mon, 31 Jul 2017 17:25:18 -0500

[I realise I am a relative outsider here.  If this is an inappropriate
thread for me to chime in on, please disregard this message.]

On 31/07/17 15:05, Natanael Copa wrote:
> I believe we can fix it. I don't think it will be easy, but I
> believe we can.
> 
> I think a good starting point is that every individual: - try to be
> friendly with others - try improve your own communication skills
> (google gave me this: 
> https://www.thebalance.com/communication-skills-list-2063779 -
> acknowledge that everyone makes mistakes, even yourself - don't
> expect everyone to agree with you, and that is ok - maybe even a
> good thing. - don't try fix everything everybody. instead pick your
> "fights". This means that you need to let some things go, even if
> you disagree or if its suboptimal.
> 
> That was just a few points that came of the top of my head. There
> are probably more.

These are some of the most important points.  In Adélie we have an
established code of conduct that boils pretty cleanly down directly to
these.

We are still pretty small (30 people in IRC at its maximum), but I
have found that something like #musl's rule of "yield offtopic talk
for musl talk, but if nothing's happening, talk about whatever" works
very well.  This allows a sense of camaraderie to build that can't
foster in a strictly on-topic channel.  Note however that this is a
pretty fine line to walk and there will be mistakes made from time to
time.  I have not been on #alpine-devel enough to really know if a
similar environment is set up there.  (I have been there off and on
since 2010, but only been paying closer attention the past few
months.)  At any rate, the most important thing is not to immediately
start in by saying "this is OT move it somewhere else", if it isn't
hampering other discussion.

The one thing that all projects should absolutely be strict on: no
personal attacks.  Two very similar yet importantly-different things
were made clear in Adélie's CoC:

* When people say something like "vi sucks", they are insulting a
software, not you.  If you like vi then you can continue liking vi.
Don't take it personally.

* However, when people say "you use vi and you suck", that's a
personal attack and never acceptable.  Don't say something like that.

Maybe a better example for Alpine would be systemd.  I'm sure most of
us loathe systemd from a technological and code standpoint, but I
don't hate people who use it.  Maybe they want the integration it
provides, or maybe they just don't know of better solutions, or maybe
somewhere between.  It's important to separate the technological
(editor, init system, distro, whatever) from the people who use it.
The conflation of the two is where the so-called "hate machine" gets
started.

>> assurance" by those actors, the future that everyone including
>> Docker and IBM want?  It's not the future I want at any rate.  I
>> say we must kick that agenda and those who pursue it to the
>> curb.
> 

This is a very important note.  I have seen all varieties of
{friendly,hostile} {low,high} quality software.  (Look at LKML some
time for an example of a very high-quality yet hostile product.)  But
it is always better to have a friendly and welcoming environment,
because that leads to more contributions and better recognition.

Perhaps that could be a goal to work towards for Alpine: becoming a
Friendly distribution.

All the best,
- --arw

> -nc

- -- 
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org

---