26

Я всегда слышу, как люди говорят, что лучше "объединить поток" и тому подобное, когда дело доходит до разработки программного обеспечения и тому подобного. У меня есть чувство, что это связано с основной частью ядра Linux, но я, вероятно, ошибаюсь.

А также, что является противоположностью "вверх по течению". Если нехорошо идти "вверх по течению", какая альтернатива и почему?

2 ответа2

32

Восходящий поток ссылается на создателя обсуждаемого компонента.

Например, если вы написали торрент-клиент, основанный на libtransmission, то в вашем клиенте обнаружена ошибка, которая прослеживается до libtransmission. Ошибка исправлена патчем, который теперь включен в ваш клиент.

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

Альтернативой слиянию апстрима является сохранение патча для себя.

18

Используя Ubuntu в качестве примера.

Ubuntu - это дистрибутив, который объединяет множество программ, маленьких и больших. Среди прочих графические драйверы, X-сервер и Gnome. Сама Ubuntu не разрабатывает эти программы. Ubuntu "просто" упаковывает программное обеспечение вместе, обеспечивая совместную работу отдельных компонентов. Все то программное обеспечение, которое Ubuntu собирает вместе, называется восходящим с точки зрения Ubuntu.

В процессе объединения всего этого программного обеспечения могут появиться ошибки. Ошибка может быть в одном из компонентов программного обеспечения, например в gnome, или в особом способе Ubuntu. В конце концов, дистрибутив - это дистрибутив, потому что он делает некоторые вещи по-своему.

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

Если Ubuntu решает не отправлять этот патч в восходящем направлении, или вышестоящий проект отклоняет патч (но Ubuntu решает сохранить патч), то Ubuntu технически разветвил проект.

Противоположность вверх по течению будет вниз по течению, Ubuntu находится ниже по течению от Gnome. Я не слышу / не читаю этот термин, используемый часто.

Смотрите также статью об апстриме в Википедии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .