Ok, deep breath Software is like a river. It flows "upstream" to "downstream" In the open source world, it starts with individual software projects. They have all kinds of people contributing to them, but usually a core group of devs. And often popular ones are backed by a company or organization. Examples of projects you probably know: Firefox (Mozilla), bash (Free Software Foundation + others), Linux kernel (Linux foundation). This is where the river starts - all the way upstream. Developers commit code to fix bugs, release new features/versions, etc. And they release the source code to everything in their repos. Each project is totally different, with different goals, methods, languages, culture, etc. Now they all have source code available, but nobody wants to go out and collect all that code and compile it themselves. Ever heard of "Linux from Scratch"? It's a neat learning experience, but it's hard lol. Enter Linux distributions. Specifically, Fedora in our case Fedora has a large team of people that go out to these projects and package them up. It's a fast-moving distro that releases a new version every 6 months (I think they're working on Fedora 37 now?). They go out and grab new software from all these thousands of projects all the time to import into their distro ...So it's easy to run Fedora on your laptop, and you don't have to go and compile every darn piece of software you want! And this is great, if you're in Fedora's target audience. But.... the end of life for a Fedora release is like 13 months after it gets put out. Then you're expected to upgrade to the next release in line. Constant new stuff, and you have to make sure you keep your PC up to date. But there are businesses, and also individuals, who don't want to move nearly that fast. Places can't afford to upgrade a fleet of 1,000 servers or whatever every year. And they want support for their software for longer than that. Enter RHEL, which is downstream from Fedora Every 3 years (used to be every 5), Red Hat will take the current Fedora release, with all its major package versions and such, and freeze it. They take a large subset of the source code packages from that release, and begin patching/building them. This becomes a major RHEL release Examples: RHEL 6 --> based on Fedora 12+13. RHEL 7 ---> based on Fedora 19 (and a bit of 20). RHEL 8 ---> Based on Fedora 28. RHEL 9 is based on Fedora 34 Rocky Linux is downstream of RHEL, but with the express goal of being exactly identical. Kind of unusual in the open source world, but totally valid as a goal. So the software river flows upstream -> downstream: Software development (source code commits) ---> Fedora ----> RHEL ----> Rocky CentOS used to be where rocky is, all the way downstream in that listing. But Rocky's reason for existing is CentOS got moved around, and morphed into "CentOS Stream" So right now, the flow looks like: Software development ----> Fedora ----> CentOS Stream ----> RHEL ----> Rocky Bug reports and patches can flow "upstream" as well. Like if people using/building Fedora notice something wrong in bash (for example), often times they'll create a patch to fix it in Fedora. And they can talk to the people who make bash (upstream), and show them the patch and say "hey, this fixes a bug - you should include this in your next release!" That's why in Rocky lots of our bug reports we say you need to "report it upstream" - we usually mean you should take this to Red Hat (RHEL) or CentOS Stream's bugtracker. Because Rocky's goal is to match RHEL exactly - if they have a bug or an issue, then so should we Once they fix it, the fix then flows "downstream" to us, and we build the next updated RHEL source that they released Ok, whew. Lecture mostly over. Make sense? lol I think this process is so obvious to many people, that they never take the time to really explain it. And just assume everyone else understands it too Student 3:02 PM makes a ton of sense! wow! I sincerely hope all of this is being logged / captured... Skip Grube 3:03 PM And this is generally how the Linux world works, it's not unique to Fedora/Red Hat/Rocky. Debian ---> Ubuntu ---> Linux Mint has a very similar thing going One final question (may be two) and I will stop. Dont want to take the rest of your day Q. What if Red Hat freezes a snapshot of CentOS Stream, works in closed doors for a year and then releases as RHEL ? Is that what happens ? If so, how is it anyway different from what they use to do before ? That's not quite how it works, this is where it gets a little complicated. I'll try to explain it with a more accurate downstream "drawing": software development ----> Fedora ----------------------> Centos Stream ------> RHEL ---> Rocky So now, the development for CentOS 9 Stream happened first, and the RHEL packages follow close behind. CentOS Stream is like a 6-12 month "preview" of new versions being released into RHEL. And a part I left out - CentOS stream + RHEL become a kind of closed cycle after the Fedora release goes out of support. All patches/fixes/etc. are then done either by RHEL engineers or CentOS stream workers (can be the same people sometimes) Ex: Fedora 28 (which RHEL/Rocky 8 is originally based on) used kernel version 4.18. Fedora 28 ended updates shortly after RHEL 8 was released, in 2019. No more updates, ever for that Fedora - everyone moved on to Fedora 29+30 But... RHEL 8 will continue using the 4.18 kernel versions, with supported patches + updates from Red Hat. Until its end-of-life in 2029. They will support it all the way through. Even though Fedora and others have long since moved on to 5.x kernels (I think we're on 5.15 or 5.17? I don't even know lol) It's also why PHP 5.4 is now ancient, but is still supported in RHEL 7. Until 2024 Because when Red Hat froze that version of Fedora, they said "We are committing to supporting this version of PHP all the way through the RHEL lifecycle" (10 years). And if there's a back-breaking security bug discovered in PHP 5.4, they will develop the patches/minor updates themselves to fix it. Up until 2024 anyway. Lots of times it's not quite as scary as it sounds - a nasty bug often can affect multiple PHP versions. So they can take the fix from upstream PHP 7.4 and apply it (mostly) to the 5.4 code It should also be noted RHEL (and Rocky I guess) are like the most conservative Linux distros in existence. At least that I know of. Nobody else in open source does 10 years of support cycles lol Big part of Red Hat's success, imho Ok, lecture officially over! Class dismissed :upside_down_face: