Understanding the upstream-downstream development model¶
In open-source software development, the terms upstream and downstream describe the relationship and flow of code between projects. Think of it as a river:
- Upstream is the original source project the “source of the river”. This is the main, public project where developers add new features, fix bugs, and accept community contributions.
- Downstream refers to a separate project that takes its code from an upstream source. Downstream teams then adapt, package, or certify that code for a specific audience or product.
Code and fixes ideally flow from the upstream project to the downstream ones. This model encourages contributors to send their changes back upstream, which ensures the original project improves and all downstream users benefit.
AutoSD and RHIVOS¶
The relationship between AutoSD and Red Hat In-Vehicle Operating System (RHIVOS) is a clear example of this model:
- AutoSD is the upstream project. It serves as the public, in-development, open-source binary distribution and development preview for RHIVOS.
- RHIVOS is the downstream product. It is the hardened, certified, and commercially supported operating system derived from the upstream AutoSD project.
Red Hat engineering teams track packages in the upstream AutoSD project to identify code suitable for automotive safety use cases. They then integrate the chosen AutoSD code with Red Hat Enterprise Linux (RHEL) and perform the rigorous testing, maintenance, and evidence generation required to continuously certify RHIVOS for functional safety (FuSa).
To participate in open-source automotive innovation and help shape Red Hat In-Vehicle OS, join the CentOS Automotive SIG and contribute to the upstream AutoSD project.
Additional resources