The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Проблемы с финансированием каталогов пакетов открытого ПО

18.02.2026 23:21 (MSK)

Майкл Уинсер (Michael Winser), сооснователь инициативы Alpha-Omega, нацеленной на повышение безопасности открытого ПО, выступил на конференции FOSDEM 2026 с докладом, поднимающим вопрос устойчивости инфраструктуры при нынешних моделях финансирования каталогов пакетов PyPI (Python), npm (Node.js), Crates.io (Rust), RubyGems (Ruby) и Maven Central (Java). При экспоненциальном росте числа загрузок и объёма хранимых данных финансирование отмеченных каталогов практически не увеличивается, что создаёт риски нарушения их устойчивой работы и мешает развитию механизмов для выявления вредоносных пакетов и защиты от атак через зависимости.

Отмечается, что многие каталоги пакетов работают на грани рентабельности, полагаясь на непостоянные гранты, пожертвования и безвозмездное предоставление ресурсов. Около 25% расходов каталогов приходится на оплату каналов связи. Далее следуют хранение данных (18%), вычислительные мощности (15%) и борьба с вредоносной активностью (12%). На разработку новой функциональности тратится лишь 2% средств, а подготовка документации и вовсе не вошла в первую десятку статей расходов.

По оценке Уинсера, содержание каталога масштаба Crates.io, обрабатывающего около 125 миллиардов загрузок в год, обходится в 5-8 миллионов долларов ежегодно, причём без учёта безвозмездно предоставляемых ресурсов - например, сеть доставки контента Fastly обслуживает трафик Crates.io бесплатно. Для PyPI, обслуживающего более 700 тысяч пакетов с суммарным трафиком порядка 747 петабайт в год (189 Гбит/с), одна лишь оплата каналов связи без спонсорства Fastly составила бы около 1.8 миллионов долларов в месяц.

Особую обеспокоенность вызывает рост числа вредоносных пакетов, в том числе создаваемых с помощью средств генеративного искусственного интеллекта. Медианное время от публикации вредоносного пакета до его удаления составляет 39 часов - более чем достаточно для распространения по цепочке зависимостей. В сентябре 2025 года данная проблема проявилась на практике: самораспространяющийся червь Shai-Hulud поразил экосистему NPM.

Рассмотрено несколько гипотетических способов покрытия расходов каталогов пакетов, ни один из которых, судя по проведённым расчётам, не способен полностью компенсировать все затраты. Наиболее очевидный путь монетизации - введение платы за пропускную способность или доступ к пакетам, неизбежно приведёт к увеличению интенсивности кэширования и появлению сторонних зеркал, предлагающих бесплатный доступ, что создаст проблемы с отслеживанием публикации вредоносного содержимого и фрагментацией экосистемы. При этом, как отметил Уинсер, каталоги фактически являются естественными монополиями - им принадлежит пространство имён, - однако стоимость создания альтернативного каталога стремится к нулю, что делает это положение неустойчивым.

В прошлом году при рассмотрении вопроса финансирования каталогов организацией OpenSSF были предложены такие меры, как введение дополнительных платных возможностей, например, предоставление расширенной платной статистики; коммерческое сотрудничество, помогающее финансировать поддержание инфраструктуры пропорционально создаваемой нагрузке или в обмен на стратегические преимущества; многоуровневые модели доступа, сохраняющие открытость для обычных пользователей, но вводящие платные опции для тех, кому требуется повышенная надёжность и большой объём трафика.

  1. Главная ссылка к новости (https://www.theregister.com/20...)
  2. OpenNews: Инициатива Alpha-Omega, нацеленная на повышение безопасности 10 тысяч открытых проектов
  3. OpenNews: ИИ как новый вектор атаки на разработчиков ПО
  4. OpenNews: Анализ конфиденциальных данных, захваченных червём Shai-Hulud 2
  5. OpenNews: Компания Anthropic выделила 1.5 млн долларов проекту Python
  6. OpenNews: PyPI, Сrates.io, Packagist и Maven подняли вопрос сохранения устойчивости инфраструктуры
Автор новости: Геракл
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64823-pypi
Ключевые слова: pypi, npm, crates, rubygems, maven, fin
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (34) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:50, 18/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну так пусть сделают возможность сделать официальные зеркала.
     
     
  • 2.4, Аноним (4), 00:08, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема глубже. Нужен стабильный поток финансов. Не представляю, где его взять без принудительной монетизации (скажем, для корпораций, как сделали в докере)
     
     
  • 3.9, Аноним (9), 00:13, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сообщество™ могло бы донатить.
    Но оно не будет, тк "вы что?! платить?!!"

    Поэтому есть классный способ - подписка на услугу:
    "Пара баксов в месяц и получаешь доступ.
    Для студентов скидки."
    Но Cообщество™ это тоже не приемлит, тк обирают халяву.

    Для старых пакетов возможно подошел бы вариант с торрентом... но тут могут быть технические трубности.

     
     
  • 4.12, Аноним (4), 00:18, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Донаты — это несерьезно. Сегодня донаты есть, а завтра — нет.
    Монетизация должна быть принудительная. По—хорошему, платить должны все. Речь идет об профессиональном инструменте. Студентам можно бесплатный доступ давать после верификации.
    Это идеальный вариант. Начать можно с корпов, их легче «прижать». В Docker Inc мудро поступили.
     
     
  • 5.20, Аноним (-), 00:35, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Монетизация должна быть принудительная. По—хорошему, платить должны все.

    Ахаха! Даже не верю что читаю такое на этом форуме)

    Сразу же начнется нытье про дедушку, который всего лишь хочет пересобирать мир каждый день, но у него нет копеечки на подписку и поэтому у него украли все деньги через дыру в ядре.

    Громогласно будут прдеть в лужу любители шапочек из фольги.

    Отдельно будут вопли из ccaнциoнных пomoek.

     
  • 4.19, Аноним (19), 00:35, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты как-то странно и глупо ехиднячаешь по поводу сообщества, подразумевая что оно только берёт. При том что всё что распространяется через эти каталоги сообществом сделано и поддерживается.
     
     
  • 5.21, Аноним (-), 00:40, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > подразумевая что оно только берёт

    Если бы оно только брало, то это было бы еще терпимо.
    Так оно еще варежку открывает))

    > При том что всё что распространяется через эти каталоги сообществом сделано

    Да ну!
    Тебе в голову не приходило, что люди, которые пишут либы, и люди, которые их качают, это два практически непересекающихся множества?

    > и поддерживается.

    Если бы оно ими поддерживалось, то самой проблемы и данной новости не было бы.

     
  • 2.7, Аноним (7), 00:12, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так пусть сделают возможность сделать официальные зеркала.

    У нужно будет платить за содержание еще и всех зеркал?
    Да ты финансовый гения, я посмотрю

     
     
  • 3.13, Аноним (9), 00:18, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну, идея не лишина смысла.
    Это могут быть разные оганизации.
    Например если развернуть отдельной зеркало в ЕС или татах, то их могли бы финансировать какие-то местные объединения.
     
     
  • 4.18, Аноним (4), 00:33, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Неправильно перекладывать ответственность на местные объединения.
    Платить должен тот кто качает пакеты. Принудительно. За каждый скачанный байт.
     
  • 2.17, Аноним (17), 00:32, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно. Да хоть стопитсот неофициальных, ведь проблема решается элементарно криптографически, если у всех официальный самообновляемый клиент со вшитым сертификатом/публичным ключом. Как у Debian, хотя бы. Ведь, я надеюсь, там все пакеты подписаны.
     
  • 2.33, Аноним (-), 01:37, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем тратить денег на создание официального зеркала, если эти же деньги можно задонатить официальному? С экономической точки зрения это имеет больше смысла.
     

  • 1.2, Аноним (2), 23:51, 18/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если девупсы массово научатся хотя бы в '''RUN --mount=type=cache,target=<cachedir>''', то уже от этого объем трафика значительно сократится
     
     
  • 2.6, Аноним83 (?), 00:11, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Заставить всех кешировать очень просто: нужно порезать скорость отдачи до каких то весьма неудобных значений, чтобы каждый пакет тянулся хотя бы минут 5-10, даже если он на полтора килобайта.
     
  • 2.8, Фонтимос (?), 00:12, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Девупсы лучше пусть донаты почаще отстегивают со своих барышей на инфраструктуру реп.
     
  • 2.10, q (ok), 00:15, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проблема контейнеров в том, что они слоеные и невоспроизводимые. Если изменился нижний слой, иди пересобирай верхние. Решение -- сделать content-addressable storage на уровне отдельных файлов, как в Nix. Тогда бы и трафик экономился, потому что пришлось бы докачивать лишь отдельные файлы, а не the whole fucking layer. Но контейнерам до этого еще чесать и чесать.
     

  • 1.3, Аноним (9), 00:08, 19/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошие цифры.
    Именно поэтому васяны не смогут создавать нечто подобное.
    Не потому что у них нет денег, а потому что они не захоят их платить.
     
  • 1.5, Аноним83 (?), 00:09, 19/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Потому что модель подобного ущербная, как и паттерны использования.

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

    Пограмисты тоже не лучше: наплодили лефтпадов на каждый чих.

     
     
  • 2.25, пох. (?), 01:16, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    девляпсы не очень в этом виноваты - большинство дурацких "каталогов пакетов" не позволяют нормально создать себе один раз кэш и раздавать его при сборке.

    Поэтому все разваливается и нельзя исправить очепятку в хеловроте, потому что росопозор заблокировал npm, с которого нужно скачать лефтпад.
    Но наши специалисты уже работают над этим, мы вам непременно сообщим когда пересоберем.

     
     
  • 3.32, Аноним83 (?), 01:29, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется позволяют, хоть и не в явном виде.

    Как минимум можно пустить их через сквид.

    Как максимум всякие pip/uv хламят всё скаченное в одну папку, её можно тупо по сети куда то смонтировать.

     

  • 1.11, Аноним83 (?), 00:18, 19/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Не было у нас на работе девляпса, зато был статический билдер: заходишь туда по ссш, делаешь git pull, потом git checkout и запускаешь скрипт который собирает всё минуты за 4.
    Ну да, просто рук не хватало туда билд агента упихать чтобы он там на тачке это сам делал...

    Пришёл девляпс, сделал всё по красоте: теперь там какая то виртуалка на каждый запрос билда из гуя создаётся с нуля, туда клонируется с нуля репа с исходниками гигабайт на 5, потом доставляются пакеты и потом оно начинает собиратся. Итого минут 10-15 чтобы получить тот же результат.

    Наверное нормальные девопсы где то есть в природе, просто их безос выкупил и держит на острове и никому не показывает.

     
     
  • 2.15, Аноним (15), 00:31, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > заходишь туда по ссш

    И ты каждому даешь доступо по ссш?

    > делаешь git pull, потом git checkout

    Ок, а если кому-то тоже надо, то он просто ждет?))

    > репа с исходниками гигабайт на 5

    Репа на 5Гб собиралась 4 минуты?
    Обожаю байки с опеннета))

     
     
  • 3.23, localhostadmin (ok), 00:55, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > И ты каждому даешь доступо по ссш?

    Его можно дать только тому, кто будет эти комманды выполнять. Или просто создать бесправного пользователя, который будет в сети иметь доступ только к тому, что надо и выполнять только нужные комманды

    > Репа на 5Гб собиралась 4 минуты?
    > Обожаю байки с опеннета))

    Откуда ты знаешь, что там за репа? Может он написал какой-нибуть жирный сайтик на питоне и сделал ему обвязки на сях или расте? Тогда эти обвязки вполне могут 4 минуты собираться

    > Ок, а если кому-то тоже надо, то он просто ждет?))

    Что ему надо?

     
  • 3.24, пох. (?), 01:12, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > И ты каждому даешь доступо по ссш?

    он еще и собранный ими КОД собирается у себя выполнять, представляешь?

    > Ок, а если кому-то тоже надо, то он просто ждет?))

    у нас операционки - многозадачные.
    просто собирает свой билд рядом, в чем проблема -то?

    >> репа с исходниками гигабайт на 5
    > Репа на 5Гб собиралась 4 минуты?

    если из этих гигабайтов 4 никому ненужная история за пятнадцать лет, а оставшийся один это графические элементы, десяток пдфов и два скрипта - действительно, непонятно, чего так долго-то.

    shallow clone это ж секретная технология с острова Безноса, кто ее узнал - назад дороги нет, только через акулий желудок.

     
     
  • 4.30, Аноним83 (?), 01:27, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да, там большая история коммитов во всех основных репах, потому они так много весят сами по себе и клонируются/разворачиваются долго.

    Честно говоря я планировал сделать чтобы можно было параллельно собирать, но не сделал, потратил это время на оптимизацию сборки по скорости :)

     
  • 3.26, Аноним83 (?), 01:20, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Каждому разработчику.
    Но в общем конечно да, пока было несколько человек это не было проблемой, но от девляпса ожидалось что он автоматизирует этот заход и последующие действия, а не будет динамически создавать виртуалки с нуля.

    Да, там реп в сумме на 5гб.
    Но большая часть закеширована, те ОС и пакеты не собираются каждый раз с нуля.
    И в оставшейся репе на пару гигов один гиг занят статическим файлом, а остальное компилится за 2,5 минуты когда есть прогретый ccache, которому естессно неоткуда взятся на динамическом билдере.

     

  • 1.14, Аноним (15), 00:24, 19/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Можно просто ввести ограничения.

    Например обязательная регистрация.
    Тогда будет видно кто сколько качает.
    Но это может вызвать подгорание у идейных анонов и прочих шизокакиров.

    Можно поступить проще.
    Бесплатный анон - качаешь медленно.
    Зарегистрировался? Первые N гигабайт быстро, потом медленно.
    Хочешь всегда быстро? Вот прайс на подписки.

    Это бы быстро научило всяких девляпсов кешировать скачанное, разворачивать свои локальные хранилища и не наглеть.
    Хотя последнее мало вероятно.

     
  • 1.16, Аноним (16), 00:32, 19/02/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.22, Аноним (22), 00:51, 19/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Crates.io (Rust)

    этих вообще не надо финансировать

     
     
  • 2.28, Rev (ok), 01:26, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Религиозных фанатиков забыли спросить.
     

  • 1.27, Ананоним (?), 01:24, 19/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Эти раковые опухоли не нужны.
     
  • 1.29, funny.falcon (?), 01:27, 19/02/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И в этом смысле решение Go выглядит довольно разумно: нет центрального репозитория, качайте каждый пакет с его git репы. А большинство реп на GitHub, который принадлежит Microsoft. В итоге, мелкомягкие оплачивают банкет.
     
     
  • 2.34, Аноним (34), 01:40, 19/02/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >качайте каждый пакет с его git репы

    Буквально всегда так было, пока не пришли эффективные менеджеры. Это, к тому же, отчасти закрывает проблему с распространением пакетов с вирусами.

     

  • 1.31, Аноним (34), 01:28, 19/02/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру