Открыть сервис

Freenginx

Freenginx — это свободный и открытый веб-сервер и обратный прокси-сервер, созданный в 2024 году как форк (ответвление) проекта Nginx. Разработка ведётся независимым сообществом под руководством бывшего разработчика Nginx Максима Дунина. Основной целью проекта является создание альтернативы, свободной от влияния корпоративных интересов, в частности, компании F5 Networks, владеющей Nginx.

История

Проект Nginx, изначально созданный Игорем Сысоевым, долгое время развивался как открытое программное обеспечение. В 2019 году компания F5 Networks приобрела Nginx Inc. После этого в сообществе возникли опасения относительно будущего модели управления проектом и его лицензионной политики. В 2022 году из Nginx выделился форк Angie, созданный бывшими сотрудниками Nginx Inc.

В 2024 году ситуация обострилась. В феврале 2024 года Максим Дунин, один из ключевых разработчиков Nginx, объявил о создании форка Freenginx. Причиной стало несогласие с политикой F5 Networks, которая, по его словам, начала внедрять в Nginx изменения, не согласованные с сообществом и направленные на извлечение коммерческой выгоды. В частности, сообщалось о попытках включения в код Nginx функций, связанных с проприетарными продуктами F5.

Дунин заявил, что Freenginx будет полностью свободным проектом, управляемым сообществом, без какого-либо корпоративного контроля. Разработка ведётся на платформе GitHub, где доступен исходный код.

Особенности и отличия от Nginx

Freenginx на момент создания базировался на последней стабильной версии Nginx (1.25.x) и унаследовал все её основные возможности. Ключевые отличия от Nginx и форка Angie:

  • Независимость от F5 Networks: Freenginx не имеет никаких связей с компанией F5 Networks и её дочерними структурами. Разработка ведётся исключительно силами сообщества.
  • Отсутствие коммерческой направленности: В отличие от Nginx, который может включать функции, ориентированные на корпоративных клиентов F5, Freenginx ориентирован на потребности широкого круга пользователей, включая хостинг-провайдеров, разработчиков и администраторов.
  • Открытость процесса разработки: Все решения по развитию Freenginx принимаются публично в репозитории проекта. Любой желающий может предложить изменения, участвовать в обсуждениях и тестировании.
  • Отсутствие дополнительных функций: В отличие от форка Angie, который добавил ряд новых функций (например, динамические модули, улучшенное управление трафиком), Freenginx на начальном этапе сосредоточен на поддержании совместимости с Nginx и обеспечении стабильности. Планируется постепенное добавление новых возможностей, но без спешки и с учётом мнения сообщества.

Технические характеристики

Freenginx наследует архитектуру Nginx, основанную на асинхронной, неблокирующей модели обработки запросов. Это обеспечивает высокую производительность при работе с большим количеством одновременных соединений, особенно при обслуживании статического контента.

  • Протоколы: HTTP/1.1, HTTP/2, HTTP/3 (QUIC), WebSocket, FastCGI, uWSGI, SCGI, gRPC.
  • Модули: Поддерживается модульная архитектура. Статические модули компилируются вместе с сервером, динамические модули могут загружаться во время работы.
  • Конфигурация: Используется декларативный язык конфигурации, аналогичный Nginx.
  • Платформы: Freenginx компилируется и работает на большинстве Unix-подобных операционных систем (Linux, FreeBSD, macOS) и на Windows (с ограничениями).

Применение

Freenginx, как и Nginx, используется в следующих сценариях:

  • Веб-сервер: Для обслуживания статических файлов (HTML, CSS, JavaScript, изображения) и как фронтенд для динамических приложений (например, на PHP, Python, Ruby).
  • Обратный прокси-сервер: Для распределения нагрузки между несколькими бэкенд-серверами, балансировки трафика, кэширования контента и терминирования SSL/TLS.
  • Балансировщик нагрузки: Для распределения входящих запросов между несколькими серверами приложений.
  • Почтовый прокси: Для проксирования почтовых протоколов (SMTP, IMAP, POP3).
  • Платформа для разработки: Используется для локальной разработки и тестирования веб-приложений.

Сообщество и лицензия

Freenginx распространяется под лицензией BSD 2-Clause, что позволяет свободно использовать, модифицировать и распространять код как в открытых, так и в проприетарных проектах. Сообщество активно развивается, ведётся обсуждение на GitHub, в чатах и на форумах. Проект приветствует вклад от всех желающих.

Критика и перспективы

На момент создания Freenginx столкнулся с рядом вызовов:

  • Неопределённость с будущим: Как и любой форк, Freenginx зависит от активности сообщества и способности привлечь достаточное количество разработчиков для поддержки и развития проекта.
  • Отсутствие коммерческой поддержки: В отличие от Nginx, который имеет коммерческую поддержку от F5 Networks, Freenginx на начальном этапе полагается только на сообщество.
  • Конкуренция с другими форками: Существуют другие форки Nginx, такие как Angie и Tengine, которые также предлагают альтернативные пути развития. Выбор между ними зависит от конкретных потребностей пользователя.

Тем не менее, Freenginx представляет собой значимую альтернативу для тех, кто ценит независимость и открытость в разработке. Его будущее будет зависеть от способности сообщества поддерживать проект и привлекать новых участников.

Источники

  • Официальный сайт проекта Freenginx.
  • Репозиторий проекта на GitHub.
  • Публичное заявление Максима Дунина о создании форка.
  • Статьи на профильных ресурсах (Habr, OpenNet).
  • Документация Nginx.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →