Зачем работать с upstream
Философия, выгоды для мейнтейнера и для upstream.
На этой странице
Каждый патч в вашем SPEC-файле — это долг, который нужно обслуживать. Чем больше патчей, тем больше работы при каждом обновлении. Отправка исправлений upstream — способ этот долг сократить.
Выгоды для мейнтейнера
Меньше патчей
Когда ваше исправление попадает в upstream, при следующем обновлении вы просто удаляете патч из SPEC. Нет патча — нет проблемы с ребейзом.
Помощь от upstream
Если вы отправили баг-репорт и upstream знает, что вы мейнтейнер дистрибутива, они часто помогают с отладкой и предлагают решения.
Ранний доступ к информации
Участвуя в рассылках и обсуждениях upstream, вы узнаёте о:
- Планируемых ломающих изменениях
- Предстоящих релизах
- Проблемах безопасности до публикации CVE
Репутация
Вклад в upstream виден всему Open Source сообществу. Это ценится.
Выгоды для upstream
- Тестирование на другой платформе (ROSA Linux)
- Баг-репорты с чёткими шагами воспроизведения
- Исправления для проблем, которые они могли не заметить
- Информация о том, как их софт используется в дистрибутивах
Что отправлять upstream
| Стоит отправлять | Не стоит отправлять |
|---|---|
| Исправление бага | ROSA-специфичные пути (%{_libdir}) |
| Поддержка нового компилятора | Патч отключения -Werror (обсудите вместо этого) |
| Новая функциональность | Дистрибутивные пресеты по умолчанию |
| Улучшение документации | Ваш .spec-файл |
| Исправление сборки на новой платформе |
Правило: отправляйте то, что полезно всем пользователям проекта, а не только ROSA.
Где искать upstream
| Источник | Как найти |
|---|---|
| GitHub/GitLab | URL в теге URL: вашего SPEC |
| Bugzilla проекта | Обычно ссылка на сайте проекта |
| Рассылка (mailing list) | На сайте проекта, в README |
| IRC/Matrix | В README или CONTRIBUTING.md |
Этика взаимодействия
- Будьте вежливы. Это волонтёры, как и вы
- Будьте конкретны. «Не работает» — плохой баг-репорт
- Будьте терпеливы. Upstream может отвечать медленно
- Не дублируйте. Проверьте, нет ли уже такого бага/патча
- Говорите спасибо. Простое «Thank you for the fix!» делает мир лучше
Проверьте понимание
- Почему отправка патчей upstream сокращает вашу работу?
- Что стоит, а что не стоит отправлять upstream?
- Где искать контакты upstream-проекта?
Далее: Баг-репорты и патчи upstream