Before GitHub

29.04.2026 · 5 мин

Знаете, что меня зацепило в статье Armin Ronacher? Он напомнил, как мы в 2005-м поднимали Trac на своём сервере, настраивали Subversion и раздавали исходники через tarball-архивы. Казалось, это навсегда. А потом грянул GitHub — и мир изменился за каких-то пару лет.

Но история не закончилась. Сейчас мы наблюдаем странную амнезию: новые разработчики не помнят, как выглядела разработка до 2008-го, и не замечают, что платформа, которую мы считаем вечной, начинает трещать по швам.

Давайте разберёмся, что мы потеряли — и что, возможно, возвращаемся.

Эпоха до GitHub: свои сервера и собственная инфраструктура

В 2000-х, если ты хотел хостить open-source проект, у тебя было два пути: свой сервер или ничего. Большинство выбирали первое.

Trac (система управления проектами и отслеживания багов) был стандартом де-факто. Ты поднимал его на Linux-сервере, настраивал права доступа через Apache — и получал вики, тикеты и просмотр исходников в одном флаконе. Плюс интеграция с Subversion (система контроля версий — записывает все изменения в коде), который был главной альтернативой Git до 2005 года.

Релизы выкладывали как tarball (архивный файл, как zip, но для исходного кода) на FTP-сервере. Пользователи скачивали, собирали из исходников, жаловались в mailing list. Баг-репорты приходили в почту, трекились в Excel или текстовых файлах.

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

SourceForge как первая альтернатива

Первой попыткой демократизировать хостинг стал SourceForge (первая крупная платформа для хостинга open-source проектов), запущенный в 1999 году. Это был огромный шаг вперёд: бесплатный хостинг, автоматическая сборка, файловый архив, баг-трекер.

Но были проблемы:

К 2008 году SourceForge всё ещё доминировал, но уже чувствовалось, что нужна свежая кровь.

Революция GitHub: как всё изменилось

В апреле 2008 года Tom Preston-Werner запустил GitHub. Идея была проста: Git + социальная сеть.

Что изменилось:

К 2010 году GitHub стал местом, где хостится каждый значимый open-source проект. Python, Ruby, JavaScript — всё переехало. SourceForge начал умирать.

ЭВОЛЮЦИЯ ХОСТИНГА КОДА
───────────────────────
1999          2008          2016          2024
  │             │             │             │
  ▼             ▼             ▼             ▼
SourceForge ──▶ GitHub ──▶ npm/GitHub ──▶ ???
(manual)     (social)    (ecosystem)    (fragmentation)
От самодельных серверов к централизации и обратно

Обратная сторона: взрыв микро-зависимостей

GitHub сделал публикацию кода невероятно простой. Опубликовать npm (менеджер пакетов Node.js — хранилище готовых библиотек для JavaScript) пакет — вопрос минуты. Результат?

В 2016 году случился left-pad incident: один разработчик снял с публикации свой крошечный пакет (11 строк кода), который использовался в тысячах других пакетов. Сломались сотни проектов, включая React и Babel.

Это не баг — это фича. Низкий порог входа породил экосистему из миллионов пакетов, где средний размер зависимости — несколько десятков строк. Каждый pull request в npm — это потенциальная точка отказа.

Что происходит с GitHub сейчас

GitHub всё ещё доминирует, но появляются трещины.

В 2024 году были серьёзные инциденты с downtime — крупные проекты (включая некоторые зависимости экосистемы Rust) временно теряли доступ к репозиториям. Но дело не только в стабильности.

Copilot (AI-помощник от GitHub, который пишет код за вас) генерирует тонны синтетического кода, который выглядит как вклад, но не имеет отношения к реальной разработке. Pull request-ы от ботов заполняют историю, а настоящие контрибьюторы теряются в шуме.

Более того, ключевые проекты начали уходить. Zig и Strudel объявили о переезде на собственные инфраструктуры. Причина? Зависимость от проприетарной платформы, которую они не контролируют.

Так куда мы катимся?

Мир разработки сейчас в точке, похожей на 2005-й: централизация надоела, но альтернативы ещё не созрели.

GitHub — это новый SourceForge. Не в смысле «плохой», а в смысле «доминирующий, но не безальтернативный». Мы видим рост self-hosted решений (Gitea, Forgejo), децентрализованных подходов (Radicle), и просто усталость от одного игрока на рынке.

Armin Ronacher в своей статье Before GitHub напоминает важную вещь: инструменты были всегда, просто разные. Свои сервера → SourceForge → GitHub →???

Вопрос не в том, вернёмся ли мы к ручному хостингу. Вопрос в том, что будет следующей «одной платформой», которую мы все примем как данность — и сколько лет она продержится.

ЦИКЛ РАЗРАБОТКИ
───────────────
   ▲
   │   Сложность
   │   растёт
   │      ╱╲
   │     ╱  ╲   ← хотим
   │    ╱    ╲    простоту
   │   ╱──────╲
   │  ╱        ╲
   │ ▼          ▼
   └──────────────▶
        Время
Централизация → сложность → децентрализация → простота → цикл повторяется

Ссылки

Дмитрий Полухин — продуктовый дизайнер. Пишу про разработку, AI и дизайн интерфейсов. Обо мне, контакты и профили.