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

Open VSX

Open VSX — это открытый реестр расширений (registry) для редакторов кода и интегрированных сред разработки (IDE), совместимых с протоколом расширений Visual Studio Code (VS Code). Он служит альтернативой официальному маркетплейсу расширений Microsoft (Visual Studio Marketplace) и предоставляет платформу для публикации, хранения и распространения расширений без привязки к проприетарной инфраструктуре Microsoft.

История

Проект Open VSX был создан компанией Eclipse Foundation в 2020 году как ответ на необходимость создания независимой, открытой и сообществом управляемой экосистемы расширений для VS Code. Изначально Visual Studio Marketplace был единственным источником расширений для VS Code, но он был проприетарным, контролировался Microsoft и не позволял сторонним разработчикам создавать альтернативные клиенты или инструменты для работы с расширениями.

В 2020 году, после того как Microsoft объявила о внесении изменений в лицензионное соглашение, которые ограничивали использование протокола расширений VS Code в сторонних IDE, Eclipse Foundation инициировала создание Open VSX. Проект был официально анонсирован в марте 2020 года. Основной целью было создание реестра, который бы полностью соответствовал принципам открытого исходного кода, был нейтральным по отношению к вендорам и мог использоваться любыми проектами, включая такие IDE, как Eclipse Theia, Gitpod, VSCodium и другие.

Первая стабильная версия Open VSX была выпущена в 2021 году. С тех пор реестр активно развивается, привлекая как индивидуальных разработчиков, так и крупные компании, которые публикуют свои расширения.

Архитектура и принципы работы

Open VSX функционирует как централизованный реестр, который хранит метаданные и файлы расширений. Он реализован на основе открытого протокола, совместимого с API Visual Studio Marketplace, что позволяет использовать его в качестве замены в большинстве клиентов.

Основные компоненты

  • Серверная часть (backend): Написана на TypeScript и Node.js, использует базу данных PostgreSQL для хранения метаданных и файловую систему (или облачное хранилище) для хранения самих расширений.
  • API: Предоставляет RESTful API для поиска, установки, обновления и публикации расширений. API полностью совместим с API Visual Studio Marketplace, что позволяет использовать стандартные инструменты VS Code.
  • Веб-интерфейс: Доступен по адресу open-vsx.org, предоставляет возможность просматривать, искать и скачивать расширения, а также управлять профилями разработчиков.
  • Клиентская часть (CLI): Инструмент командной строки ovsx для публикации и управления расширениями.

Протокол расширений

Open VSX поддерживает стандартный протокол расширений VS Code, который включает в себя:

  • Манифест расширения (package.json): Описывает расширение, его зависимости, активацию и точки входа.
  • Пакет расширения (.vsix): Архив, содержащий все файлы расширения, включая манифест, код, иконки и локализации.
  • API расширений: Набор JavaScript/TypeScript API, которые расширения могут использовать для взаимодействия с редактором.

Отличия от Visual Studio Marketplace

Open VSX и Visual Studio Marketplace имеют ряд ключевых различий, которые влияют на их использование и экосистему.

ХарактеристикаOpen VSXVisual Studio Marketplace
ЛицензияОткрытый исходный код (Eclipse Public License 2.0)Проприетарная, контролируется Microsoft
УправлениеEclipse Foundation (независимая некоммерческая организация)Microsoft
ДоступностьПолностью открыт для всех, включая сторонние IDEДоступен только для продуктов Microsoft (VS Code, Visual Studio)
ПубликацияБесплатно, через CLI или веб-интерфейсБесплатно, через веб-интерфейс или API, но с ограничениями
МодерацияМинимальная, основана на сообществеЦентрализованная, с проверкой на вредоносное ПО
ИнтеграцияВстроена в Eclipse Theia, Gitpod, VSCodium, Code-OSSВстроена только в VS Code и Visual Studio
Размер реестраЗначительно меньше (тысячи расширений)Огромный (сотни тысяч расширений)

Применение

Open VSX используется в нескольких ключевых сценариях:

Альтернативные IDE

Основное применение Open VSX — это обеспечение работы расширений в редакторах, которые не могут использовать Visual Studio Marketplace по лицензионным или техническим причинам. К таким редакторам относятся:

  • Eclipse Theia: Платформа для создания облачных и настольных IDE, которая использует Open VSX в качестве основного реестра.
  • VSCodium: Сборка VS Code с открытым исходным кодом, которая по умолчанию использует Open VSX вместо Visual Studio Marketplace.
  • Gitpod: Облачная среда разработки, которая также интегрируется с Open VSX.
  • Code-OSS: Исходный код VS Code, который может быть собран без проприетарных компонентов.

Корпоративные среды

Компании могут развернуть собственный экземпляр Open VSX для внутреннего использования, что позволяет:

  • Контролировать, какие расширения доступны разработчикам.
  • Обеспечить безопасность, исключив расширения из внешних источников.
  • Публиковать внутренние расширения, не делая их публичными.

Сообщество разработчиков

Open VSX предоставляет платформу для публикации расширений, которые не могут быть опубликованы в Visual Studio Marketplace из-за политики Microsoft (например, расширения, нарушающие авторские права или содержащие критику). Однако такие расширения могут быть удалены администраторами Open VSX, если они нарушают законы или правила сообщества.

Критика и ограничения

Несмотря на свою полезность, Open VSX имеет ряд ограничений и подвергается критике:

  • Неполнота реестра: Большинство популярных расширений, включая такие как Python, JavaScript (TypeScript), GitLens, Prettier и другие, не публикуются в Open VSX их авторами. Это связано с тем, что Microsoft не поощряет публикацию в альтернативных реестрах, а многие разработчики не видят в этом необходимости.
  • Проблемы с безопасностью: Из-за минимальной модерации и отсутствия автоматического сканирования на вредоносное ПО, Open VSX более уязвим для публикации вредоносных расширений. Хотя сообщество старается отслеживать такие случаи, риск выше, чем в Visual Studio Marketplace.
  • Зависимость от сообщества: Проект поддерживается добровольцами и Eclipse Foundation, что может приводить к задержкам в обновлениях и исправлении ошибок.
  • Отсутствие некоторых функций: Open VSX не поддерживает все функции Visual Studio Marketplace, такие как автоматическое обновление расширений через фоновый процесс, а также не предоставляет аналитику использования для разработчиков.

Интересные факты

  • Open VSX является частью более широкой экосистемы Eclipse Cloud Development Tools, которая включает в себя Eclipse Theia и Eclipse Che.
  • В 2021 году компания Google объявила о поддержке Open VSX в своем проекте Project IDX, облачной IDE на базе Code-OSS.
  • Некоторые крупные компании, такие как Red Hat и IBM, публикуют свои расширения в Open VSX, чтобы обеспечить их доступность для пользователей альтернативных IDE.
  • Проект VSCodium, который является полностью открытой сборкой VS Code, использует Open VSX по умолчанию, что делает его единственным способом установки расширений для пользователей этой сборки.

Источники

  • Официальный сайт проекта Open VSX (open-vsx.org)
  • Репозиторий проекта на GitHub (eclipse/openvsx)
  • Документация Eclipse Foundation по Open VSX
  • Статья "Open VSX: The Open Source Alternative to the VS Code Marketplace" (2021)
  • Обсуждения на форумах сообщества Eclipse Theia и VSCodium

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

На главную BFOmetr →