One of the big things that we're trying to get to with Fedora 7 is making it a lot easier for people to take Fedora and create a version (a “spin”) that's suited better for their particular environment. This has a lot of applications for different types of environments. One of the downsides is that it raises the pretty large questions around what spins we should provide by default for download.
The original thinking here was that we would create a desktop oriented spin, a server spin and a KDE spin. Heated discussions have ensued since then. The questions have revolved around a few big things:
As is probably evident from above, it's been the plan that the “desktop” spin would try to provide a pretty similar set of functionality to what you have historically gotten with a default install of Fedora. This then includes GNOME, OpenOffice.org, support for lots of languages, etc. With all of this, we pretty quickly get to 3 CDs.
The first question that then comes up is “how do you get it smaller?”. Unfortunately, the answer really is that you have to cut functionality. Either support for large chunks of the world or something like OpenOffice.org.
The second question is always “what about doing development”? The spin as provided above doesn't have any of the development tools (gcc, etc) that one might want or any of the development libraries or headers. Adding the development bits to this spin isn't that big of a deal, though — most users are likely to get a DVD iso as opposed to CDs so adding an additional CD worth of size isn't a huge burden.
In addition to just the spin described here, we are planning to provide a Live CD that maps pretty closely to the default install of this spin. Some of the functionality will be reduced for the fitting on a CD, but what can be done will be. That then can help the people for whom the additional CD of development is a problem.
The server spin is perhaps even more contentious. There's not a clear answer if the server spin should be “bare minimal to get a shell and run yum” or if we want to provide something which is more usable someone wanting to set up their first Linux based server. The latter implies some amount of graphical environment and tools for configuration. The graphical environment is also somewhat for parts of the world which don't use a roughly Latin alphabet that they can actually read what's being printed on the screen. The other wrinkle with a server specific spin is the lifetime — Fedora releases are maintained for a far shorter period of time than a lot of people who run servers will want. How do we deal with these?
What do we want to solve?
By FUDCon (and especially after the Fedora Server spin discussion on Friday), it was starting to become clear that our original idea of doing a desktop, a KDE and a server spin wasn't going to do a good job of meeting the needs and desires of our users. So we stepped back to think about what we're concretely trying to achieve. We came to a pretty short list.
- Must provide a way for people to do their own custom versions including packages from all of the Fedora universe.
- Want to provide at least one installable “single CD Fedora” to help in parts of the world with less bandwidth
- Need to provide a way to install via media for the following cases:
- Desktop environment
- Developer use
- Simple LAMP server
- Try to be as little of a burden on our mirror and testing infrastructure as possible.
We're well on our way with the first point and a lot of what's from here is documentation, cleaning up of error handling and just providing examples for people. We still have a pending action item to provide clear guidance on what you can call such a thing.
The second is actually something which is pretty well handled with Live CD. The idea of a single installable CD for the desktop is still appealing, but feels less and less doable as the set of expected stuff grows. The Live CD, though, can have a few different constraints get us there. And with the work that's been done so that you can install from the Live CD using anaconda,
The fourth is the really tricky one. While tools such as jigdo help here, they inherently make things more fragile and also limit the platform you can use for downloading isos. Also, the additional testing is there for every additional media set, no matter what.
The Fedora 7 Proposed Solution
Given all of the above, we think that the best idea for Fedora 7 might be to provide the following as the official, release-day Fedora 7 spins:
- Fedora 7 Desktop LiveCD
- Fedora 7 KDE LiveCD (to be driven by Rex Dieter and the Fedora KDE community)
- Fedora 7 DVD. With everything for desktop, development and “mainstream” server tasks. This ends up replacing what was previously Fedora Core. The current thinking is that this would be provided as a DVD iso only.
- Fedora 7 Everything. 2+ DVDs. More bits than you can shake a stick at. Not available on the mirrors; bittorrent only. Hopefully can share the first disc with the Fedora 7 DVD.
- Make your own Fedora 7 step-by-step guide. This is important to help ensure that people understand and can make their own custom spins.
The question now is “what do people think of this?” In a lot of it's the easy way out — we avoid answering the hard questions just by bailing. At the same time, it gives us more time to have discussions about those hard problems as well as making it so that the discussions can occur with people really trying things out. Instead of saying “I want everything to fit on one CD”, people can use pungi and try to actually get to one CD. Or two. Or whatever. And then come to the discussion with facts as opposed to a vague idea.
Have comments? Leave a comment or use some other smoke signal method of letting me know.