So, this: fedora-release-identity-cloud says “Cloud Edition”, Cloud has not been an Edition for years was apparently a surprise to people. That’s not… surprising, because sometimes we’re bad at recording decisions and disseminating information.
In this post, I’m going to give some history for the record (expanded from my comment in that bug), and then talk about what I think is necessary for considering a “new” Fedora Cloud Edition.
First, the history
When we (FESCo and the Fedora Board, which was in place rather than the Fedora Council at the time) worked out the Editions part of Fedora.next, we decided (primarily at Flock in Charlotte, but much discussion after) that we wanted three Editions focusing on what we at the time saw as major, broad, use cases. At the time, the “Pets vs. Cattle” metaphor for cloud computing was quite in vogue. Basically, Server was to handle the carefully-curated-individual server case, Cloud the at-scale one, and Workstation to be the personal platform for people developing and running those. See:
and in particular the section “Is three a magic number?”
Also from around that time, on Fedora Cloud in specific:
Key quote:
Josh spoke about the Fedora Workstation product being, in some ways, the most difficult, and my first comment about Fedora Cloud is to joke that it’s the easiest, because we start with the minimal base “and then we’re done!”
But, really, the idea of Fedora Cloud is to see what we can provide beyond that. At DevConf, I mentioned that we were exploring the idea of integrating ostree, and since then, we have agreed and are in (sometimes frantic) progress towards making that one of our key features in Fedora 21. I also talked about a Docker host image as an out-of-the-box sort of solution (a pre-assembled Lego set, if you remember back to Part II of this series). We’ve decided to combine these two things in conjunction with the upstream Project Atomic. That project provides the plans and best practices for running containerized applications, including configuration and orchestration, and Fedora (along with RHEL and CentOS) will provide the actual implementation.
Atomic Host, of course, was succeeded by Fedora CoreOS. You can see that something like Fedora CoreOS this was really always the plan. It just went on a kind of strange journey along the way.
At the time of the transition, the Cloud WG as a separate entity was basically defunct. There are some Cloud WG meetings from the time, but the focus is on Atomic, and the ticket landed in the Atomic WG tracker: Issue #158: Proposed website changes for Cloud Base → Atomic Host switch - atomic-wg - Pagure.io. This might seem a little weird procedurally, but there was not functionally a Cloud group separate from the Atomic group.
After we made that decision, there were enough people (and particularly, Dusty Mabe’s heroic work) interested in keeping a more traditional, non-ostree Fedora Cloud Base Image building and released, so we indeed kept doing it. But this was really minimal effort in Dusty’s vanishing spare time, so things like “we’ll change /etc/os-release” never really happened.
In the years after, we decided, officially, at least twice, to merge Fedora Server and Fedora Cloud (because both groups were basically just one or two overworked people), but never actually did the work of making that happen (same reason, really). See Cloud/Server merge - cloud - Fedora Mailing-Lists for one (short) thread about this.
However, all of this is just historical context. I’m not making an argument, just reviewing how we got here.
I don’t think it necessarily determines whether we should have a Cloud Edition now. We certainly have an active Cloud WG, and an active Server WG. That’s cool, and way better than the place we were at before. I don’t want to break that.
So, what’s next?
Well, Fedora.next was meant to be a five year plan. It’s been more than five years. It’s time for a strategic refresh. In fact, the Fedora Council would probably be meeting about that right now, except… that’s the kind of work that just really really works best if you can get everyone in the room to draft a proposal. I don’t think we can do it as well as a virtual thing. So we’ll need to work on some other things. That was actually going to be a topic at today’s Fedora Council meeting, but we canceled that because of the Fedora Linux 35 Go/No-Go meeting (whooo!
).
It’d be nice to have that in place to work with. But it’s pretty clear that computing has changed from where it was five years ago. We can make new decisions and do things differently. As we work on a new main Fedora website, we’re looking at positioning Editions and Spins differently, and that computing landscape change certainly hasn’t made cloud less important. The Fedora.next website refresh definitely reflected “three is a magic number”, but we don’t need to follow that in the same way this time. In fact, see A new conceptual model for Fedora for some early design thoughts on that.
Now, should Cloud be an Edition? Well, maybe. I still strongly feel that each Edition should target a distinct use — and where you deploy it or what it runs on isn’t a difference in use. Like, a theoretical Fedora Mobile Edition… that gets my attention, because it’s clearly a totally different thing from the desktop “client” space that Workstation addresses.
So from my point of view, the first thing that needs to happen is clear articulation of why Cloud and Server should be distinct Editions rather than just different deployment profiles of the same thing. How do the personas of the folks who will run each differ? How does the “market” opportunity differ (and how does it do so in a way that split Editions are best)?
Which brings me to the second thing. The Fedora Server WG recently completed a refresh of the Fedora Server PRD. The Fedora Cloud PRD hasn’t been updated since 2015. When the Board first set this out, the idea was that we would require these to be refreshed annually. In practice, that turned out to be too onerous, so we haven’t held groups to that. But, again, a lot has changed in six — almost seven! — years. It’s definitely time for a refresh (and actually I think this would be a useful exercise for the WG, Edition or not.
Also, of course, we do have Fedora CoreOS, and this should sit alongside and, as an Edition, fit nicely together with that too. (See the Fedora CoreOS PRD).
I want to be very clear: not being an Edition isn’t necessarily bad, nor does it mean we don’t care about it. We have lots of awesome stuff we do that isn’t part of an Edition. Being an Edition means it should fit into the overall story in a particular way. Editions are the Playmobil sets we have at the front of the store (or, if you prefer, pre-assembled, ready-to-play Lego sets). We also have a wonderland of building toys and action figures and everything else once you’re in the door. It’s okay for Fedora Cloud Base Image (or just Fedora Cloud, or whatever) to be one of those other cool toys. Or, maybe a store-window display is the right thing.
This isn’t my decision
So, those are my thoughts, but… let’s all figure out where we want to go here.
I think that in thinking about the first question — what’s the differentiation? — and putting together that document about the goals and distinct problem space and the plan to address it will go a long way towards making the answer obvious. But let’s hear from others on the council, Fedora Cloud WG members, Fedora Server WG members, Fedora CoreOS folks, other contributors, users in general…
And, whatever we do, let’s get to a decision we actually can confidently execute on, so we don’t find ourselves into a similar situation six or seven years from now.