Концепция разработки программного обеспечения
В разработке программного обеспечения , когда программное обеспечение разветвляется или использует цепочку библиотек / зависимостей , upstream относится к проблеме, которая возникает в программном обеспечении, связанном с цепочкой. Это направление, которое направлено к первоначальным авторам или сопровождающим программного обеспечения . Обычно оно используется в контексте версии, ошибки или патча .
Разработка в апстриме позволяет другим дистрибутивам извлекать из этого выгоду, когда они выбирают будущий релиз или объединяют последние (или все) апстрим-патчи. [1] Аналогичным образом, первоначальные авторы (поддерживающие апстрим) могут извлекать выгоду из вкладов, которые исходят из пользовательских дистрибутивов, если их пользователи отправляют патчи в апстрим.
Этот термин также относится к ошибкам; ответственность за ошибку лежит на вышестоящей стороне, если она не вызвана портированием дистрибутива , не относящейся к вышестоящей стороне модификацией или интеграцией.
Примеры
- Патч, отправленный в восходящем направлении, предлагается первоначальным авторам или сопровождающим программного обеспечения. Если он принят, авторы или сопровождающие включат патч в свое программное обеспечение, либо немедленно, либо в будущий релиз . Если патч отклонен, лицо, отправившее патч, должно будет поддерживать свой собственный дистрибутив программного обеспечения автора.
- Upstream repository или source code distribution version , который может быть либо релизом с тегом версии, для которого исходный код был специально упакован, определенным коммитом или master (жаргон для последнего коммита). Где пользовательские дистрибутивы (например, форки) могли упустить исправления ошибок и улучшения (зрелость проекта, привязанного к исходным авторам, upstream) в результате не слияния (всех) upstream-патчей. В таких случаях пользовательский дистрибутив мог даже быть адаптирован в соответствии с конкретными потребностями и требованиями тех, кто его использует или поддерживает. Это также часто наблюдается с зависимостями (пакетами поставщиков), где берущий просто соглашается на базовую версию один раз и имеет тенденцию придерживаться ее, со временем накапливая так много (произвольных) модификаций или нестандартных применений в своей среде, что слияние последних upstream-патчей в их пользовательский дистрибутив будет невозможно без серьезной дополнительной работы по обеспечению совместимости патчей и функций, а также избегания дублирующих патчей ошибок, которые они исправили сами (и по-своему), в то время как upstream также имеет патч для этого. Многие пользователи пользовательских дистрибутивов по-прежнему отбирают и объединяют критически важные исправления (например, исправления уязвимостей безопасности).
Смотрите также
Ссылки
- ^ "Оставаясь рядом с проектами Upstream :: Fedora Docs". Проект Fedora . Получено 2022-01-18 .