---
class: center, middle
## 壊れたときに
どうすればいい・・・?
---
class: center, middle
## そんなのわからないので教えて下さい!!!
---
class: center, middle
## それではあまりにも酷いので・・・
---
class: center, middle
## 壊れたときに
「自分がどうしたか?」
を話に来ました
---
class: center, middle
## 今日話すことは
どのコミュニティでも原理的には発生しうることだと思ってる
---
class: center, middle
##「OSSコミュニティとは何か?」
を少しでも考えるきっかけになって欲しい
---
class: center, middle
## 「Scala界隈怖い」
みたいな単純な感想で終わってほしくない
---
class: center, middle
コミット数が3年連続1位のとあるScalaのライブラリ
##
---
class: center, middle
[![scalaz-graph](image/scalaz-graph.png)](https://github.com/scalaz/scalaz/graphs/contributors)
---
class: center, middle
## そもそも「突然壊れる」
とは?
---
class: center, middle
## とても手短にまとめると・・・
---
class: center, middle
_人人人人人人人人人_
> 突然のクーデター <
 ̄Y^Y^^Y^Y^Y^Y^Y ̄
---
class: center, middle
クーデター受けた側の本人は "ハイジャック" と言ってたが、(最初から乗っ取る前提か否か?)という意味で、個人的にはクーデターだった、と思ってる
---
class: center, middle
## クーデター、とは?
---
class: center, middle
## わかりやすく(?)
例えつつ言うと・・・
---
class: center, middle
## Linux開発者のLinusみたいにアレな言動が多い人がいる
(ライブラリ原作者)
---
class: center, middle
## 追いだそう! (えっ!?
---
class: center, middle
## という突然の流れ・・・
---
class: center, middle
## 追い出そうとした方法が
結果的に最悪だった
---
class: center, middle
## 1 - Code of conduct
作ったよ
---
class: center, middle
## 2 - 彼はそれに違反した
ことあるね
---
class: center, middle
## 3 - 追いだそう! (えっ!?
---
class: middle
- 完全なる後出しジャンケン・・・
- 追い出すための口実として作られた・・・?
- 個人的にCode of conductというものへの嫌な印象しか残らない・・・
---
class: center, middle
## 数ヶ月による論争の末・・・
---
class: center, middle
_人人人人人人人人_
> クーデター失敗 <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
---
class: center, middle
_人人人人人人人人人人_
> コミュニティが分裂 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄
---
class: center, middle
## ひたすらつらい・・・
---
class: center, middle
### 技術的論争ではなく、ほぼ
政治的な理由のみ
で分裂したという意味で最悪
---
class: center, middle
## 数ヶ月の論争の間 は何してたか?
---
class: middle
## ひたすら傍観・・・
---
class: middle
### そういう話をそんなにしたくなかったし
そもそもするための英語力がなかった・・・
---
class: middle
- 分裂防ぐために頑張ろうとしてくれた人もいた・・・
- 結局ダメになってその人はどちらにも積極的にかかわらなくなってしまった(scalaz-stream原作者)
- 悲しい・・・
---
class: middle
- クーデター起こした本人も気まずかった?
- 確かにアレだけど「あのやり方は酷いだろ」みたいな第三者的意見
- 新しいライブラリを作った人は、クーデター起こした人とは別の人
---
class: middle, center
## 新しく作られたライブラリが目指すもの
---
class: middle
## [Principles for approachable, modular,
functional libraries](http://plastic-idolatry.com/erik/sw2015.pdf)
---
class: middle
- とても正論で理想が高くて素晴らしい
- 個人的には(少なくとも、こちらの原作者も)とても尊敬している
- 自分がこれほどまでにscalazに関わってなかったら、こっちに参加してただろう
---
class: middle, center
## コミュニティは確かに
大事だが・・・?
---
class: middle, center
### 本当にいいコミュニティとは
多少言動がアレな人さえも
受け入れる寛容さ
を持つべきではないのか?
---
class: middle, center
### コミュニティばかり強調するあまり
それ以外の技術的なことが軽視
される可能性?
---
class: middle, center
## また同じことが発生したら
また分裂するのか?
という可能性への疑問
---
class: middle, center
### Linusを例に出したのは
同じように原作者であり
正しい知識を持っていて尊敬できる
という意味でもある
---
class: middle, center
## 自分はどうするか?
どうしたいか?
---
class: middle, center
## 新しいライブラリが
技術的、安定度的に
すぐにscalazを超えるものを作れるとは思えない
---
class: middle, center
## 3年以上関わった思い入れ
---
class: middle, center
## Scalaで関数型ライブラリを作る際の限界を知っている、はず
---
class: middle, center
## 作りなおしても
そこまで違ったものは出来ない?
---
class: middle, center
## たとえscalaz側が滅びることになっても、最後までメンテしようという覚悟
---
class: middle, center
## 間違ったものを作られてそちらが流行ったら最悪なので、
---
class: middle, center
## [テストライブラリ作った](https://xuwei-k.github.io/slides/scalaprops/#1)り、ひたすら論文読んで、技術で殴る正しいツッコミだけ入れていく
---
class: middle, center
## [モナド則満たしてないですよ
と4回連続指摘するという伝説(?)](https://github.com/typelevel/cats/pull/455)
---
class: middle, center
## コミュニティが壊れても動じない心を手に入れた(?)
---
class: middle, center
## 怒り駆動開発(?)
---
class: middle, center
とくに結論とかないです
これを聞いて、みなさん
「OSSコミュニティとはなんなのか?」
を、それぞれ考えてみて欲しい