Sử dụng Ubuntu làm ví dụ.
Ubuntu là một bản phân phối bao gồm rất nhiều phần mềm với nhau, nhỏ và lớn. Có trình điều khiển đồ họa, máy chủ X và Gnome, trong số những người khác. Bản thân Ubuntu không phát triển những phần mềm đó. Ubuntu "chỉ" đóng gói phần mềm lại với nhau, đảm bảo rằng các thành phần riêng lẻ hoạt động cùng nhau. Tất cả phần mềm mà Ubuntu đang đóng gói cùng nhau được gọi là ngược dòng theo quan điểm của Ubuntu.
Trong quá trình kết hợp tất cả các phần mềm với nhau, các lỗi có thể xuất hiện. Lỗi có thể nằm ở một trong các thành phần phần mềm, ví dụ như gnome hoặc có thể là do cách thức đặc biệt của Ubuntu đang làm. Xét cho cùng, một bản phân phối là một bản phân phối vì nó thực hiện một số thứ theo cách rất riêng của nó.
Nếu lỗi xảy ra do cách Ubuntu đang làm, thì Ubuntu sẽ phải tự sửa lỗi đó. Nếu lỗi trên thực tế là ở một trong các thành phần phần mềm, ví dụ như Gnome, thì Ubuntu sẽ phải vá Gnome. Khi Ubuntu gửi bản vá lại cho Gnome, vì vậy những người khác cũng có thể hưởng lợi từ bản vá, sau đó Ubuntu sẽ gửi bản vá đó ngược dòng .
Nếu Ubuntu quyết định không gửi bản vá đó ngược dòng hoặc dự án ngược dòng từ chối bản vá (nhưng Ubuntu quyết định vẫn giữ bản vá), thì về mặt kỹ thuật, Ubuntu đã rẽ nhánh dự án.
Ngược lại với thượng nguồn sẽ là hạ lưu, Ubuntu là hạ nguồn từ Gnome. Tôi không nghe / đọc thuật ngữ đó được sử dụng thường xuyên.
Xem thêm bài viết về thượng nguồn trong Wikipedia.