Re: CentOS Stream, RHEL, and Fedora [was Re: What is Fedora?]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Jun 22, 2023, at 2:01 AM, Matthew Miller <mattdm@xxxxxxxxxxxxxxxxx> wrote:
>> 
>>> 
>>> ELN is a build of (some) Fedora packages with EL-specific options, so
>>> it requires Fedora.
>> ELN can exist off an internal non fedora tree. Just depends who is
>> updating the tree.
> 
> Sure, but... that's the _opposite_ of the direction things are going.
> Previously, what happened to make a major RHEL release was:
> 
> 1. Some Fedora Linux Release -> an internal bootstrap
> 2. ...  a year or so of secret work ...
> 3. RHEL Beta
> 4. RHEL Release
> 5. CentOS Linux rebuild
> 6. Internal RHEL build process, internal work on minor release
> 7. RHEL updates appear in publiuc
> 8. CentOS Linux rebuilds of those.
> 
> There's no connection to Fedora beyond the intial fork, and a lot of work
> done inside Red Hat without any transparency.

This was one of our key reasons to look at Fedora as an explicit upstream for the next generation of Amazon Linux. Without a feedback loop for contributions and changes, it severely limits what you may even want to incorporate, as merging this all for the next major release could be a major pain.

Even trivially small things (such as bug fixes) that are beneficial to all (a random semi-recent example is making `lshw` not do a DNS lookup) weren’t *really* possible to quickly throw a pull request up for before CentOS Streams.

There were other really nice properties of Fedora as well, such as each release having a mass-rebuild and thus you can be fairly sure that at any branch point, everything is quite likely to all build together.

> Now, CentOS Stream brings that to the surface:
> 
> 1. Fedora Rawhide continually updated
> 2. ELN maintained in parallel, as part of Fedora
> 3. At some point, ELN branched to new CentOS Stream
> 4. ... a year or so of CentOS Stream development in public ...
> 5. RHEL Beta forked from that, released
> 6. Work on RHEL updates visible in CentOS Stream
> 7. Updates appear in CentOS Stream
> 8. Updates released to RHEL
> 
> Note that with CentOS Stream 10 / RHEL 10, step 3 here will _maintain git
> history from Fedora, which is a big improvement in preserving all of the
> incredible, valuable work from Fedora contributors.

Maintaining git history is certainly fantastic from a transparency point of view.

Beyond just git trees, we have had a few discussions in the Amazon Linux space on what we do with changelogs in the RPMs as well, especially with the increasing move to rpm-autospec, which means that git-merge of our own trees/rebuilds ends up with the old trick of “Release matches upstream, so it’s easy for humans” no longer that useful.

There’s some balance of:
- respect and refer to the amazing work done in the Fedora community
- Don’t give Amazon Linux users the false impression that $random_fedora_contributor is who made the change in Amazon Linux that broke their $thing - that’s not fun for anybody.
- Be clear as to the changes occurring in an Amazon Linux package update

right now, for AL2023, We have an rpm-autospec-like thing at build time that will merge an `amzn-changelog` file that’s present in the git repo with the ‘%changelog’ in the SPEC file on SRPM build. The aim here is to be able to add changelog entries that are amzn specific easily, while not creating merge conflicts all the time

It’d be great if we ended up with CentOS Stream and Amazon Linux doing the same thing, if only for consistency and being able to set some good expectation / good practice for distros downstream from Fedora.

Maybe it’s a question for Fedora developers: how do you *want* downstream distributions to behave in this area?

There’s guidelines for https://fedoraproject.org/wiki/Remix and https://fedoraproject.org/wiki/Spins_SIG along with https://fedoraproject.org/wiki/Releases/FeatureGenericLogos making some parts of downstream distros easier to do.

> All of this is the exact opposite of Red Hat preparing to make some new base
> for RHEL. Additionally, this model provides a clean path for
> Red-Hat-opinionated decisions to differ from those we make from Fedora. Take
> BTRFS as an example. Or, the increase in CPU baseline. Like this:

This reminds me of the item on my TODO list of to start a discussion around how we can better have distro and package level option switches that both Fedora and downstream distros can flip on and off over time. I’ll go do that now...


> Fedora Linux: Community Space
> -----------------------------
> 
> * Community engineering decisions
> * No special code privileges due to your employer
> * Community-run infrastructure with RH investment, significant resources
>  from Amazon, contributions from other companies
> * Community quality engineering with RH investment
> * Community support
> * No cost
> 
> 
> CentOS Stream: Shared Space
> ---------------------------
> 
> * Red Hat Engineering decisions with community input
> * Pull requests from the community, approval from Red Hat engineers
> * Red Hat-provided and maintained infrastructure
> * Red Hat quality engineering with partner and community involvement
> * Community support
> * no cost

It’s also a good place to collaborate on some of the common base components of a Fedora based distro that has a longer support life cycle than a Fedora release gets. This may be a more significant part of the Amazon Linux story as AL2023 and beyond ages, as well as we tune how we interact with upstreams with bug fixes in an existing OS version.

> 
> 
> Red Hat Enterprise Linux: Product Space
> ---------------------------------------
> 
> * Red Hat Engineering decisions with customer input
> * Red Hat engineers and only RH engineers do the work
> * Red Hat infrastructure
> * Red Hat quality engineering (mostly done in Stream, though)
> * Enterprise support
> * Subscription, including low- and no-cost options
> 
> 
> Previously, we had a whole convoluted thing which people tried to describe
> in terms of MC Escher paintings. This is far better, and Fedora is in a
> better place. In the earlier setup, CentOS _was_ sometimes positioned as a
> competitor (although generally, those of us working in the actual Fedora and
> CentOS communities didn't have any interest in playing that game.)

If I was going to put a diagram of where Amazon Linux sits in that ecosystem, it’d likely look something like this:

Fedora ——> Amazon Linux
      \____> CentOS Stream —> RHEL
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux