В связи с развитием AI'шки количество пулреквестов в GitHub возрасло в разы.
А недостаток сопровождающих и сильная расфокусировка на ревью всего этого нейрослопа постоянно вызывает споры по запрещению AI и ограничению количества открытых пулреквестов на человека.
Так например поступают в cilium: @lexfrei подготовил пачку полезных PR решающих реальные проблемы, но на ревью можно отправить только два. При попытке войти в мемберы проекта чтобы снять это ограничение, запрос отклоняют в формате: "у тебя за последнюю неделю и так 145 открытых пулреквестов по всему GitHub, ты не сможешь уделять достаточно внимания нашему проекту"
В других проектах, например Kamaji есть проблема что патчи в их основной репо могут закрывать энтерпрайз фичи и прямым образом влиять на монетизацию проекта. Как например поддержка не самой последней версии Kubernetes.
Приходится болезненно тащить патчи и поддерживать в downstream. Проблема не только с внешними проектами, но так же и с внутренними. При цепочке зависимостей от 2 и больше время доставки конкретной фичи замедляется кратно, всё как всегда стакается на простом человеческом ревью. А ревьювить никто не хочет, т.к. и так своих забот хватает.
Сегодня пытался протащить очередную фичу, которая зависит от внешнего проекта и не смог, потому что мейнтейнер ушел спать.
Ну ладно, я могу сделать форк и накатить из него. Но всё это наводит меня на мысли, что модель пулреквестов устарела и модель стоит развернуть в сторону пушреквестов.
Итак встречайте концепция PushRequest:
- У каждого репозитория может быть сколько угодно форков.
- Каждый форк является домом для конкретного изменения или множества таковых.
- Каждый, кому не хватает какой-либо функциональности, может реализовать это изменение у себя в форке и сделать PushRequest.
- PushRequest не таргетится в основной репозиторий проекта, а заводится и публикуется глобально для всего домена форков этого репозитория.
- Адоптеры выстраивают свои зависимости таким образом чтобы деплоить из своего форка.
- Мейнтейнеры основного проекта могут просматривать все PushRequest'ы в домене форков, видеть как много людей ими пользуются, как давно они существуют и забирать себе те изменения и фиксы, которые считают нужными.
- Пользователи своих форков тоже могут смотреть список всех PushRequest'ов в домене и забирать к себе в форк те которые им хочется.
Как думаете, решит ли это проблему?
Post #735
849
- 👏 9
- 🙈 9
- ⚡ 2
- ❤ 1
- 👍 1
- 🔥 1