7 คะแนน โดย xguru 2022-08-05 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • Facebook เป็นจุดเริ่มต้นให้ Presto แต่เมื่อความต้องการของชุมชนกับของ Facebook ไม่สอดคล้องกัน ก็จำเป็นต้องแยกออกมาให้เร็ว
  • Presto เริ่มต้นเป็นโอเพนซอร์สในปี 2012 ก่อนที่ Facebook จะ IPO ไม่นาน
  • เมื่อ Presto กลายเป็นโปรเจ็กต์แกนกลางของโครงสร้างพื้นฐานที่ Facebook ก็ได้รับความสนใจจากทั้งวิศวกรและผู้จัดการ
  • นี่เป็นสัญญาณของความสำเร็จด้วย แต่คนบางส่วนในนั้นไม่ได้มีเป้าหมายเดียวกับชุมชนโอเพนซอร์ส
  • นโยบายของชุมชนคือ "ไม่มีใครพิเศษกว่าคนอื่น"
    → โค้ดของทุกคนต้องได้รับการรีวิว และไม่สามารถได้สิทธิ์ commit เพียงเพราะทำงานอยู่ที่ Facebook
  • วิศวกรของ Facebook ต้องสร้างผลงานที่ "น่าจดจำ(Memorable)" จึงจะได้เลื่อนตำแหน่ง ทำให้งานลักษณะนี้กลับทำให้ความเร็วช้าลง
    → สุดท้ายจึงตัดสินใจให้วิศวกรของ Facebook มีสิทธิ์ contributor โดยอัตโนมัติ เพื่อให้เดินหน้าได้เร็วขึ้น
  • อาจดูเหมือนว่าวิศวกรของ Facebook เป็นฝ่ายผิด แต่จริง ๆ ไม่ใช่
    → ในบริษัทที่มีการแข่งขันสูงแบบนี้ หากวิศวกรสร้างผลงานที่น่าจดจำไม่ได้ ก็จะไม่ได้เลื่อนตำแหน่ง และอาจถูกเลิกจ้าง
  • ปัญหาของเรื่องนี้คือมันทำให้แนวทางการรักษาชุมชนโอเพนซอร์สให้เป็นกลางต้องเปลี่ยนไป
    → จึงคิดว่าหากอยากให้โปรเจ็กต์คงความแข็งแรงไว้ได้ ก็ควร fork โปรเจ็กต์ออกมา
  • ความผิดพลาดที่ใหญ่ที่สุดในตอนนั้นคือไม่ได้เปลี่ยนชื่อ แต่ยังใช้ชื่อ Presto ต่อไป
    → เดิมเชื่อว่าชื่อ "Presto" เป็นของชุมชน ไม่ใช่ของ Facebook แต่เมื่อชุมชนออกจากโปรเจ็กต์ Facebook ก็กลายเป็นผู้ถือครอง Presto แต่เพียงผู้เดียว
  • ปัญหาที่ใหญ่กว่านั้นคือมันทำให้คนที่ยังอยู่ใน Facebook โกรธ
    → เราคิดว่า Facebook จะ fork ภายในองค์กร แล้วปล่อยให้ชุมชนดำเนินต่อไปเหมือนเดิม แต่กลับทุ่มแรงสร้างโปรเจ็กต์ที่แข่งขันกันขึ้นมาแทน..
  • เพื่อแยกจาก PrestoDB เดิม จึงใช้ชื่อ PrestoSQL แต่สุดท้ายก็เปลี่ยนเป็น Trino
  • หลังเปลี่ยนเป็น Trino ชุมชนก็เริ่มมีเสถียรภาพและเติบโตขึ้น

2 ความคิดเห็น

 
ehlegeth 2022-08-05

เดิมทีผมนึกว่าแค่เปลี่ยนชื่อเท่านั้น แต่จริง ๆ แล้วเป็นการ fork ออกมา และน่าสนใจที่มีเรื่องราวกับแนวคิดเบื้องหลังตามมาด้วย
พอลองดูแล้ว ผู้มีส่วนร่วมหลักของ prestodb/presto (อย่างน้อย 4 คน) ก็กำลังมีส่วนร่วมอย่างแข็งขันกับ trinodb/trino และตั้งแต่ราวปี 2019 เป็นต้นมา ก็ดูเหมือนว่าจะไม่มีการมีส่วนร่วมกับฝั่ง prestodb/presto เดิมแล้ว

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

 
xguru 2022-08-05

คำอธิบายเสริมค่อนข้างยาว เลยสรุปสั้น ๆ ไว้ดังนี้
สรุปคือเมื่อ Presto ถูกใช้งานอย่างแพร่หลายมากขึ้น จนมีสถานะสำคัญภายใน Facebook เอง
จึงเกิดงานที่มีทิศทางแตกต่างจากเป้าหมายของชุมชนขึ้นมา และจากเรื่องที่เกิดตามมานั้นก็ถึงขั้นเปลี่ยนชื่อแล้วเริ่มต้นใหม่กันเลย

แต่สำหรับผมเองก็ยังคุ้นกับชื่อ Presto มากกว่า และ Trino ก็ยังไม่ค่อยติดปากเท่าไร
Trino - เอนจินคิวรี SQL แบบกระจายสำหรับบิ๊กดาต้า