- Facebook là bệ phóng để Presto bắt đầu, nhưng khi nhu cầu của cộng đồng và của Facebook không còn khớp nhau thì cần phải tách ra sớm
- Presto bắt đầu là mã nguồn mở vào năm 2012, ngay trước khi Facebook IPO
- Khi Presto trở thành dự án trung tâm trong hạ tầng của Facebook, nó bắt đầu thu hút sự chú ý của các kỹ sư và quản lý
- Đây cũng là dấu hiệu của thành công, nhưng một số người trong số họ lại không có cùng mục tiêu với cộng đồng mã nguồn mở
- Chính sách của cộng đồng là "không ai là ngoại lệ"
→ Mã của mọi người đều phải được review, và không thể có quyền commit chỉ vì làm việc tại Facebook - Các kỹ sư ở Facebook phải tạo ra những công việc "ấn tượng (Memorable)" thì mới được thăng tiến, và điều đó làm chậm tốc độ phát triển
→ Cuối cùng, người ta quyết định để các kỹ sư Facebook tự động có quyền contributor để có thể di chuyển nhanh hơn - Nghe có vẻ như các kỹ sư Facebook là bên xấu, nhưng thực tế không phải vậy
→ Trong một công ty cạnh tranh khốc liệt như vậy, kỹ sư nếu không làm ra các công việc đủ ấn tượng thì sẽ không được thăng chức, thậm chí bị sa thải - Vấn đề ở đây là điều đó làm thay đổi nỗ lực giữ cho cộng đồng mã nguồn mở mang tính trung lập
→ Vì thế, để dự án có thể duy trì lành mạnh, họ cho rằng cần phải fork dự án - Sai lầm lớn nhất ở thời điểm đó là không đổi tên mà vẫn giữ nguyên là Presto
→ Họ tin rằng cái tên "Presto" thuộc về cộng đồng chứ không phải Facebook, nhưng khi cộng đồng rời khỏi dự án thì Facebook là bên duy nhất còn lại trong Presto và trở thành chủ sở hữu duy nhất - Vấn đề lớn hơn là điều đó khiến những người còn ở lại Facebook tức giận
→ Họ nghĩ Facebook sẽ fork nội bộ và để nguyên cộng đồng như cũ, nhưng thay vào đó lại còn bỏ công xây dựng một dự án cạnh tranh - Để phân biệt với PrestoDB hiện có, dự án được đặt tên là PrestoSQL, nhưng cuối cùng đổi thành Trino
- Sau khi đổi thành Trino, cộng đồng mới dần ổn định và bắt đầu tăng trưởng
2 bình luận
Tôi cứ tưởng chỉ đơn giản là đổi tên, nhưng hóa ra đó là một bản fork, và thật thú vị khi đằng sau nó còn có câu chuyện cùng triết lý riêng.
Tìm hiểu thêm thì thấy các contributor chủ chốt của prestodb/presto (ít nhất là 4 người) đang đóng góp rất tích cực cho trinodb/trino, và từ khoảng năm 2019 trở đi dường như không còn đóng góp nào cho phía prestodb/presto cũ nữa.
https://github.com/trinodb/trino/graphs/contributors
https://github.com/prestodb/presto/graphs/contributors
Vì phần giải thích bổ sung khá dài nên tôi đã tóm tắt ngắn gọn.
Kết luận là khi Presto được dùng quá nhiều và cũng có vị thế bên trong Facebook,
đã phát sinh những việc đi chệch khỏi mục tiêu của cộng đồng để phục vụ điều đó, nên cuối cùng họ đổi cả tên và khởi động lại.
Tuy vậy, bản thân tôi vẫn quen với cái tên Presto hơn, còn Trino thì vẫn chưa thấy thuận miệng.
Trino - công cụ truy vấn SQL phân tán cho dữ liệu lớn