 So my name is Brian Stinson, I work on the community platform engineering team at Red Hat. Typically the thing I spend my day job on is working on CentOS Stream, which I'm here to talk to us a little bit about today. For the most part, I kind of want to want us to think a little bit about what happens, what happened before CentOS Stream kind of came on the stage and you may have heard one or two things about CentOS Stream before. And so I want us to kind of go back maybe, you know, think about a year ago about how the relationship worked between Fedora, Red Hat, Enterprise Linux and CentOS Linux. And it looked something probably like this, and sorry about those little transitions there. When you think about what Red Hat is doing to build Red Hat Enterprise Linux, you know, we always thought of Fedora as the upstream. You know, with the individual projects even further upstream. So we gather everything up into Fedora, package it together, and at certain points during the life cycle there, Red Hat takes the content from Fedora and turns it into Red Hat Enterprise Linux. And then down the road we would do CentOS Linux, which was built from the same sources as REL. And if you think of this in terms of interactions and code flows and things like that, there's a whole lot of arrows going around, right? Sometimes REL takes things from Fedora. Sometimes we found things out in the CentOS Linux space that people wanted to make changes, fix bugs, things like that. And so we've got these arrows kind of going around everywhere. We found kind of a few things that are interesting related to that. Mostly that this feedback loop of Fedora REL CentOS and then back and forth and back and forth, that loop ended up becoming kind of long. People who were using CentOS Linux would, they were only able to affect things after REL release is already done and baked and sent out. And then there's also the fact that a lot of REL development happens inside of Red Hat. And that's something that we wanted to kind of take a look at a little bit. And so I want to talk a little bit about some of the goals for the CentOS Stream project. And CentOS Stream was announced a while ago now. We're kind of in the middle of the bootstrap phase here, which we'll talk about in just a little bit. But some of the higher level goals that we're talking about, I just want to kind of go through some of those real quick. The first one is transparent development of the next REL minor release. And so what does that mean? If you think of where we are in terms of the lifecycle right now, you may have noticed that Red Hat Enterprise Linux just released the beta for 8.3. And we think that CentOS Stream is probably going to be a vehicle for where folks can actually get a preview of what's going into the next minor release of REL. So 8.3 and it seemed to be 8.4, things like that, before it actually comes out. And we want that for a couple of reasons. Number one, transparency is important to us. And feeding into the development of the next REL minor release is just important to get feedback as early as possible. So if you go back a couple of slides ago where we had all those arrows floating around, we want people who are actually consuming Enterprise Linux to be able to affect things on a reasonable time scale. One of the goals that are one of the ways that we actually make the transparent development of the next REL minor release happen is we want to collaborate directly with REL maintainers. And I know we're used to doing that in Fedora a little bit. REL maintainers participate actively in both in Fedora and then developers are also pretty active there in Fedora and in the upstreams of everything that makes it into our releases. But this is another point where we found a kind of a space that we needed to fill with a distribution that's focused on that REL minor release and pulling everyone together so that you can collaborate directly with maintainers working on the minor releases was really important. And then as part of the CentOS project in general, CentOS Stream gives us some interesting things. It gives us some layers of experimentation is what I call it. If you're familiar with the special interest group process in CentOS, right now we have folks like RDO, the OpenStack folks, who are building their content on top of the community build system and some other things. This lets us do some interesting things because if we have a preview of the next minor release, folks like RDO, even some of the other upstream projects can come and build on top of CentOS Stream and then get a preview of what's going to come out next. And so they have a pretty good indication of what's going to come out for the future minor releases. But one thing that we're considering too is expanding the idea of a SIG to kind of take some of the exploratory contributions as we kind of feed into this process. So CentOS Stream is very narrowly focused on feeding into the REL development process. But we want to take that content and allow some other places for people to do other bits of experimentation on Enterprise Linux when maybe Fedora has actually moved on to looking further in the future. And so if we have all these goals pulled together with CentOS Stream focused on a minor release and we do the same thing that we're used to about bringing up a REL major release in Fedora, the overall, and I know this is going to be kind of simple, and so I want you to know that this is a very simplified diagram, but this is what we're thinking here. Moving CentOS over here in the middle so that it sits kind of in the middle of what the Fedora lifecycle is and what feeds into Red Hat Enterprise Linux. This is kind of the like a really cartoonish picture of what we would like to see. And it puts things kind of in a better place so that we all have a viewpoint of what's coming next with REL. And I want to talk a little bit about what we're doing right now because again we're in the middle of the bring up phase with CentOS Stream and so we're not, we're working towards that ideal picture that we just showed just a minute ago. We're in the middle of the bring up phase and I want to talk a little bit about some of our constraints that we have because this is moving CentOS Stream sort of towards the middle to where it's upstream of the next minor version of REL, that sort of thing. That's a big shift in both mindset and then also process. There's a lot of stuff that happens when REL developers do their day to day work. They pull stuff directly from upstream and rebase packages, they pull stuff from Fedora and backport things into REL and we didn't really want to upset the, you know, a lot of the internal processes that they go through on a day to day basis. While we're in the middle of building the infrastructure to make this happen and so that's why I say, you know, there's some caveats here about being in the middle of the bring up phase and we'll talk a little bit about how the sources flow. I'm going to take an individual package and we'll just kind of walk through what it looks like here real quick. So let's say you wanted to affect something in the mudder package. This screenshot here is git.centos.org and you can see a number of different branches. If you've paid attention to the CentOS ecosystem before, you kind of know how this works. The C7 branch, all of that stuff is content that makes it into CentOS Linux 7. Same thing for C8. Those are sources that come directly from Red Hat after a release happens. So they push to that branch, it gets rebuilt into CentOS Linux and then shifted out that way. I don't want to focus too much on those because, again, this is for stream purposes. If you look down at the very bottom of that branch list, there's a C8S branch. That's where we basically build the content for each and every package that comes in. And to kind of lift the covers on how that process happens a little bit, we're still doing a little bit of work to actually take sources from internal to Red Hat and pull them back out into the public so that we can give that preview and stuff. I'll talk a minute about how we expected to address that a little bit. But yeah, for now the C8S branch, you can consider that at this point in time, August 7th, 2020. The C8S branch points at what we think is probably going to make it into Red Hat Enterprise Linux 8.3. So if you want to make a change, you can interact with these sources in here, see what's going on on each of the branches. And I know I see Carl George here in chat. He's our steward of some of these patches here. So he'd be a good person to double check with about how to make all this happen. But there is a version in Red Hat Bugzilla called CentOS Stream. And that's sort of the touch point for where we actually bring patches into the company and get them in front of the REL maintainers and stuff. So there's a couple of ways that you can do this. You can do patches directly against get.centos.org. And then I'm volunteering Carl to kind of help manage some of that process because he's already volunteered. But the idea is we attach a patch to a Bugzilla, and then it makes it through the normal REL process that happens today. And I promise I won't bore you with all of those details because that would be a few talks in and of itself. But attaching things to a Bugzilla gets it on the REL maintainers radar. And they do the things that they do in order to get a REL build internally. So internally there's a REL build of Mudder. And then we pick it up from one of the nightlies. And the way that we do that is you can see this is a list of the commits that we have for this package. And you can see that there's the 3.32.2-46 is the one that we pushed in. So this made it into a REL nightly compose at some point. And then we pulled those sources into get.centos.org to get them going for stream. And then we can see what the build looks like here. You can see that Carl did this build for us and tagged it in for a compose. And then it shows up on the mirrors. So this is mirror.centos.org slash centos slash 8-stream. And you can see that there's the regular repository layout. I could have dug in here and showed you the actual package but you'll just have to trust me that it's all in there. Our aim is to actually make this process transparent. We're working on a lot of automation to bring these sources from internal to external while we're in the middle of the 8-life cycle and stuff. But we're also looking to get this out as quickly as possible. And the last I heard, we have all of the sources pushed from last night's nightly. We're catching up on builds because that typically takes a while. But you'll see that stuff reflected fairly quickly out on mirror.centos.org that you can install on your machine today and trial this out. So this is how we're making it happen today. What's coming up next? There's a few things and again while we're in this bring up process there's a little bit of work for us to do just as a team to keep things going. I mentioned that we're pulling the sources internally. We're doing our best to keep ahead and make sure that we push the content both on a source level but also on a binary level on a regular basis so that we have a steady stream, no pun intended of content, that comes to your workstation as you do updates and things like that. We want to start building SIGs. And we've got some pretty well-established ones that are building against CentOS Linux. And we're going to start with some of those to kind of transition over to doing regular builds against CentOS stream. And we think that's going to help quite a bit with both catching things as they come in but also allowing us and the SIGs and Red Hat and the different maintainers to all have a conversation together about what does Enterprise Linux look like as we go over the phases of REL8. And those are important conversations to have and it's why we call CentOS stream the shared space because CentOS stream is meant to be kind of directed by Red Hat and by the maintainers. Those people are meant to be in charge of what happens here. But it's a place for us all to get together and to talk about bugs, features, anything that we want to see as we head on towards future versions of REL. And so we want to exit the bring up phase. This is not the end state for what we want to see out of stream because to be honest the whole pulling internal sources and bringing them external and then building them and then releasing them to the mirrors and all that stuff that's a little bit awkward to meet our goal. If you go back to that cartoon picture of CentOS in the middle we want to get out of this bring up phase and see what that means in order to be a true upstream of the next minor release of REL. So what does that mean? It means we need to settle in into our space taking regular handoffs with ELN. So ELN is meant to be the sort of the proving ground for building Fedora Rahide with an enterprise build route and talking about some of the things that that means. I think there's a good talk on Sunday from Steven Gallagher about how ELN fits in this picture. But we think that these will be controlling venues for different parts of the enterprise Linux space. And so ELN is very active during the bootstrap phase of a major version. CentOS Stream is active during the bring up phase for each minor version and we all interact together with Red Hat. Ultimately we want the REL maintainers to take over both in terms of dealing with content that comes in from pull requests or changes that you want to make as the community. We want them to be active in that process and making sure that they have the tools and everything that they need in order to make that happen. And we've got plenty of infrastructure to bring up in order to help them with that. But this is the ultimate goal is REL maintainers. When you interact on a package for CentOS Stream, you're interacting with the REL maintainers. And so I want to end up with a few of the different spaces that you can come and talk to us right now. First of all, if you want to download and try CentOS Stream, it's available for you right now. We've got install media. I think we need to re-spin some cloud images soon so that you have that sort of thing. But you can head to the download page. There's a link to the ISOs and things like that. We've got an IRC channel, half CentOS Stream on FreeNode. And if you hit up the CentOS Development mailing list, we're happy to take some questions there. And then there's some documentation and FAQs out on the wiki for that. So I ended up a little bit early in order to take some questions from the chat if we have them. And I'm just scrolling through. So if we have questions here, I am happy to look at them. Otherwise, we can end this up. And there we go. We have a good question. How much of Stream is still based on CentOS Linux and how long until it's self-sufficient? That's a good question. So talking about this in terms of how we brought CentOS Stream up in the first place, we kind of pulled together CentOS Linux and in order to kind of bootstrap a lot of the package content. In terms of content, CentOS Stream is well independent of the content that's in CentOS Linux. We're down to basically finding out pieces of the branding and notifying the user the fact that this is indeed CentOS Stream instead of CentOS Linux. And so there's a lot of tiny details now. But in terms of content, the two distributions are produced separately. Let's see. Are there container images available for Stream? Currently, we are not producing container images. We are re-spinning the install media on a regular basis. So we're shooting for at least once a week. And then the same thing with the cloud images. Those are a little bit further behind, but the idea is that we want to get those on a regular basis as well. I don't see any more questions here. So I'm going to wrap it up and thank you all for attending the talk.