Freenginx là một nhánh mới của Nginx, web server nguồn mở hỗ trợ 1/3 tổng số trang web. Liệu nhánh phụ này có thay thế công ty dẫn đầu thị trường đã gây dựng được uy tín nhiều năm không? Tại sao bạn nên quan tâm đến nó?
Nginx là gì?
Nginx (phát âm là "engine x") là một web server mã nguồn mở miễn phí ra mắt vào năm 2004. Nó có thể cấu hình dễ dàng và cũng đã tìm được một vị trí thích hợp như một proxy server.
Theo Netcraft, mức độ phổ biến của Nginx đã tăng dần, vượt qua đối thủ cạnh tranh nguồn mở lâu đời là Apache và IIS độc quyền của Microsoft vào năm 2019.
Được phát triển ban đầu bởi Igor Sysoev và hiện được F5 duy trì, Nginx là phần mềm nguồn mở để phục vụ web, reverse proxy, cache, cân bằng tải và truyền phát media. Theo Web Server Survey, thậm chí hai thập kỷ sau khi ra mắt lần đầu, Ngnix vẫn là máy chủ web hàng đầu phục vụ 23,21% tổng số trang web.
Đáng lưu ý là chỉ có hai nhà phát triển "cốt lõi" đang hoạt động là Maxim Dounin (OP) và Roman Arutyunyan. Maxim là người đóng góp lớn nhất vẫn còn hoạt động. Maxim và Roman về cơ bản chiếm 99% sự phát triển hiện tại. Vì vậy, đây là một fork khá có tác động.
Trong thông báo của mình trên danh sách gửi thư nginx-devel, Dounin nêu bật tranh chấp ban đầu khiến Nginx phát hành bản vá bảo mật giải quyết hai lỗ hổng nghiêm trọng. Dounin nói thêm:
Tôi không còn có thể kiểm soát những thay đổi nào được thực hiện với Nginx trong F5 và tôi không còn coi Nginx là một dự án nguồn mở và miễn phí được phát triển và duy trì vì lợi ích cộng đồng. Vì vậy, bắt đầu từ hôm nay, tôi sẽ không tham gia phát triển Nginx do F5 điều hành nữa. Thay vào đó, tôi đang bắt đầu một dự án thay thế, dự án này sẽ do các nhà phát triển điều hành chứ không phải công ty.
Freenginx không phải là sự thay thế fork và drop-in đầu tiên cho Nginx: Angie được tạo ra bởi các nhà phát triển Nginx khác của Nga khi F5 rời Nga vào năm 2020 và nó hiện được quản lý bởi công ty Web Server của Nga. Diogo Baeder, nhà phát triển backend chính tại DeepOpinion, nhận xét:
Nginx là một phần mềm và nền tảng đáng kinh ngạc, nhưng tôi tự hỏi liệu có phải đã đến lúc phải tạo ra một giải pháp hiện đại hơn dựa trên Rust hay không. Việc có một giải pháp theo mô hình tương tự, "hiểu" ngôn ngữ cấu hình Nginx và đạt mức hiệu suất tương tự, nhưng với sự an toàn về bộ nhớ và việc áp dụng rộng rãi cộng đồng Rust có thể dẫn đến một dự án mới tuyệt vời - thậm chí có thể làm với Nginx những gì Nginx đã làm với Apache HTTP.
Freenginx là gì?
Vào ngày 14 tháng 2, nhà phát triển cũ của Nginx, Maxim Dounin, đã công bố Freenginx, một nhánh của Nginx. Maxim thực hiện hành động này để phản đối các quyết định của công ty hiện đang sở hữu Nginx, F5. Ông đã viết:
[Tôi] không còn coi nginx là một dự án nguồn mở và miễn phí được phát triển và duy trì vì lợi ích cộng đồng.
Phiên bản đầu tiên của Freenginx (1.25.4) ra mắt vào ngày 20 tháng 2 năm 2024, với một số bản sửa lỗi nhằm giải quyết các lỗ hổng liên quan đến quyền truy cập bộ nhớ. Đây là những lỗ hổng bảo mật phổ biến có thể cho phép các tác nhân độc hại tấn công những trang web.
Freenginx có tốt hơn Nginx không? Có nên bắt đầu sử dụng nó không?
Chỉ sau một lần sửa đổi, Freenginx hầu như không có gì khác biệt so với phiên bản ban đầu. Đây là điều diễn ra với tất cả các nhánh. Theo thời gian, một nhánh sẽ dần dần khác biệt với phần mềm ban đầu của nó, trong khi các dự án còn lại sẽ đi theo những con đường khác nhau.
Mục tiêu đã nêu của Freenginx là tập trung nhiều hơn vào các cải tiến liên quan đến bảo mật và do nhà phát triển dẫn dắt thay vì bị thúc đẩy bởi các quyết định từ cấp quản lý ở trên.
Khi nhánh con trưởng thành, mọi quá trình di chuyển sẽ ít mang tính chất thay thế tương tự. Vì vậy, bây giờ là lúc để thay đổi nếu bạn thích hướng đi của Freenginx hoặc nếu bạn muốn hỗ trợ mục tiêu của nhà phát triển.
Tuy nhiên, không cần thiết phải thay ngựa ở giai đoạn này của cuộc đua. Nginx sẽ không đi đâu cả và sẽ luôn có quyền đưa các thay đổi của Freenginx vào cơ sở code của nó.
Có những web server nào khác?
Apache vẫn là giải pháp thay thế chính cho Nginx, đặc biệt là trong các hệ sinh thái nguồn mở nơi nó được cài đặt theo mặc định hoặc dễ cài đặt. Hai web server này hiện đang chiếm lĩnh thị phần và trải nghiệm với một trong hai máy chủ này đều có giá trị.
Nhưng điều này không nói lên toàn bộ câu chuyện. Số liệu thống kê về thị phần từ các nguồn khác nhau không thống nhất và xu hướng có thể thay đổi nhanh chóng nếu một công ty chịu trách nhiệm lưu trữ một số lượng lớn trang web thực hiện thay đổi.
Những tùy chọn nhỏ hơn bao gồm OpenResty - một biến thể Nginx khác có vị trí lưu trữ thích hợp cho các ứng dụng Lua - và GWS của Google. GWS được Google sử dụng độc quyền, nhưng có thị phần rõ ràng do số lượng trang web Google tạo ra.