- FacebookはPresto立ち上げの土台となったが、コミュニティとFacebookの要件が噛み合わなくなり、早く離れる必要があった
- PrestoはFacebookのIPO直前である2012年にオープンソースとして始まった
- PrestoがFacebookインフラの中核プロジェクトになると、エンジニアやマネージャーの関心を集めた
- これは成功の兆しでもあったが、その一部はオープンソースコミュニティと同じ目標を持っていなかった
- コミュニティの方針は「誰も特別ではない」だった
→ すべての人のコードはレビューされるべきであり、単にFacebookで働いているというだけでコミット権限を得ることはできない - Facebookのエンジニアは「印象的な(Memorable)」仕事を作らなければ昇進できないため、そうした仕事が速度を遅くしていた
→ 最終的には、Facebookのエンジニアが自動的にコントリビューター権限を持つことが決まった。より速く動けるようにするために - Facebookのエンジニアが悪いように見えるが、実際にはそうではない
→ このような競争の激しい会社では、エンジニアは印象的な仕事ができなければ昇進できず、解雇される - この問題は、オープンソースコミュニティを中立に保とうとしていた方針を変えてしまうことだった
→ そのため、プロジェクトを健全に維持するにはプロジェクトをフォークすべきだと考えた - この時点で最大の誤りは、名前を変えずにそのままPrestoとしておいたことだった
→ 「Presto」という名前はFacebookではなくコミュニティが所有していると信じていたが、コミュニティがプロジェクトを離れたとき、FacebookだけがPrestoに残って単独の所有者になってしまった - さらに大きな問題は、Facebookに残っていた人たちを怒らせてしまったことだった
→ 私たちはFacebookが社内でフォークし、コミュニティはそのまま残すと思っていたが、競合するプロジェクトを作る努力までしていた - 既存のPrestoDBと区別するためPrestoSQLと名付けたが、最終的にTrinoへ変更した
- Trinoへ変更したことで、コミュニティは安定し、成長し始めた
2件のコメント
単に名前を変更しただけだと思っていたのですが、実際には fork していたもので、それに伴う経緯や哲学があったのが興味深いですね。
少し調べてみると、prestodb/presto の主要なコントリビューターたち(少なくとも4人)は trinodb/trino で活発に貢献しており、2019年ごろ以降は従来の prestodb/presto 側には貢献がないようです。
https://github.com/trinodb/trino/graphs/contributors
https://github.com/prestodb/presto/graphs/contributors
補足説明がかなり長かったので簡単に要約しましたが、
結論としては、Presto があまりにも広く使われるようになり、Facebook 内でも存在感を持つようになると、
そのためにコミュニティの目標とは異なることが起きるようになり、その結果として名前まで変えて再出発した、ということですね。
ただ、私もまだ Presto のほうがなじみがあり、Trino はまだあまり口になじみません。
Trino - ビッグデータ向け分散 SQL クエリエンジン