7 Punkte von xguru 2022-08-05 | 2 Kommentare | Auf WhatsApp teilen
  • Facebook half beim Start von Presto, aber als die Anforderungen der Community und von Facebook nicht mehr zusammenpassten, musste man sich schnell trennen
  • Presto wurde 2012 als Open Source gestartet, kurz vor dem Börsengang von Facebook
  • Als Presto zu einem zentralen Projekt der Facebook-Infrastruktur wurde, zog es die Aufmerksamkeit von Engineers und Managern auf sich
  • Das ist zwar auch ein Zeichen des Erfolgs, aber einige von ihnen verfolgten nicht dieselben Ziele wie die Open-Source-Community
  • Die Community-Regel lautete: "Niemand ist etwas Besonderes"
    → Der Code aller muss reviewt werden, und nur weil jemand bei Facebook arbeitet, bekommt er nicht automatisch Commit-Rechte
  • Facebook-Ingenieure mussten für Beförderungen "beeindruckende (memorable)" Arbeit liefern, was solche Arbeiten verlangsamt hat
    → Am Ende wurde entschieden, dass Facebook-Ingenieure automatisch Contributor-Rechte bekommen, damit man sich schneller bewegen kann
  • Es wirkt, als seien Facebook-Ingenieure das Problem, aber tatsächlich ist das nicht so
    → In einem so stark kompetitiven Unternehmen können Engineers ohne beeindruckende Arbeit nicht befördert werden und werden entlassen
  • Das Problem daran ist, dass dadurch der Versuch verändert wird, die Open-Source-Community neutral zu halten
    → Deshalb kam man zu dem Schluss, dass das Projekt geforkt werden muss, damit es gesund bleiben kann
  • Der größte Fehler zu diesem Zeitpunkt war, den Namen nicht zu ändern und bei Presto zu bleiben
    → Man glaubte, dass der Name "Presto" der Community und nicht Facebook gehörte, aber als die Community das Projekt verließ, blieb Facebook allein bei Presto zurück und wurde zum alleinigen Eigentümer
  • Ein noch größeres Problem war, dass die Leute, die bei Facebook geblieben waren, verärgert wurden
    → Wir dachten, Facebook würde intern forken und die Community so belassen, wie sie war, stattdessen wurde sogar Aufwand betrieben, ein konkurrierendes Projekt aufzubauen
  • Zur Abgrenzung von PrestoDB wurde es zunächst PrestoSQL genannt, später aber in Trino umbenannt
  • Mit der Umbenennung in Trino hat sich die Community nun stabilisiert und begonnen zu wachsen

2 Kommentare

 
ehlegeth 2022-08-05

Ich dachte, es sei nur der Name geändert worden, aber offenbar war es ein Fork, und ich fand die dazugehörige Geschichte und Philosophie interessant.
Als ich es mir etwas genauer ansah, stellte ich fest, dass die wichtigsten Contributor von prestodb/presto (mindestens vier) bei trinodb/trino aktiv beitragen, und seit etwa 2019 gibt es offenbar keine Beiträge mehr zur bisherigen prestodb/presto-Seite.

https://github.com/trinodb/trino/graphs/contributors
https://github.com/prestodb/presto/graphs/contributors

 
xguru 2022-08-05

Die ergänzende Erklärung ist recht lang, daher habe ich sie kurz zusammengefasst.
Letztlich lief es darauf hinaus, dass Presto so stark verbreitet war und dadurch auch innerhalb von Facebook an Bedeutung gewann,
dass für diesen Zweck Dinge entstanden, die nicht mit den Zielen der Community übereinstimmten — deshalb wurde am Ende sogar der Name geändert und ein Neustart gemacht.

Aber auch ich bin noch stärker an Presto gewöhnt, und Trino geht mir noch nicht so leicht über die Lippen.
Trino - Verteilter SQL-Abfrage-Engine für Big Data