There is an interesting discussion going on in the Fedora Board and it gathers a lot of ideas. Some of them also say that we should give up defaults, or Fedora as an end product. I opposes such a direction and here is why:
Giving Up Defaults
Giving up defaults means giving up Linux newbies because it’d lead to the situation I call “new restaurant experience”. You go to a restaurant you’ve never been to and they give you an endless menu with tens of items usually strangely named. All you know is that you want a good meal, but you’re lost because you have no experience with the cuisine, you know almost nothing about the meals (except for ingredients) and you still need to choose something. Then the waiter comes to your rescue: “What meat do you like? Beef? Great, we’ve got this great meal with beef. You’ll love it! Would you like to give it a try?”, “Sure I would!” Or he could just say: “Beef? Great, we’ve got a huge selection of meals with beef, here see the section Beef.” Would it help you? I can say it wouldn’t help me and when I’m in an unfamiliar location, I’m looking for restaurants that have simpler menus and predictable meals just to avoid such situations.
It works the same way with software. When my friend gave me a CD with Knoppix, I saw that Linux was quite nice on the desktop and I decided to give it a try. Knoppix was just a live distro, so I was looking for some more solid distribution. All I knew was that I wanted Linux for desktop. Someone told me that Mandrake was the best option for desktop and I went for it. I was glad that they had defaults (environment, apps,…) because I could not possibly make a qualified decision since I knew very little about Linux, and I trusted Mandrake that they chose a good selection for me. Mandrake’s default environment was KDE and I was satisfied with it enough to stick with Linux. After some time, when I was settled, I explored other options and found GNOME a better option for me. But that doesn’t mean I didn’t appreciate KDE as the default option at the beginning. It helped me.
Having defaults is about guiding. You tell newbies what you think is the best experience for them and it’s usually all they want to hear. Once they get more familiar with the distro, they can explore other options and find out that there is a whole world out there. Exposing the whole selection to new, unexperienced users is not helpful, it’s discouraging. The other day, one friend of mine told me that he needed Ubuntu or Debian to install one product that is supported only on these distributions. Because he had no experience with Linux, he asked which one. Well, I told him Ubuntu because I knew that was the quickest and easiest way to his goal: having that product up and running. Just compare ubuntu.com and debian.org. Ubuntu gives you a very easy way to download and install it while Debian reveals all the complexity right at the beginning. Great for those who know exactly what they want, otherwise simply discouraging. And Debian still has defaults.
Having defaults is about focus. If you want to make a good product, you need to focus. It’s another thing Ubuntu did right (not any more with all that tablet/TV/mobile craze). It’s better to have one solid and working solution than ten unfinished and broken ones. If you have defaults, you know what really needs to work and you can focus on that.
Having defaults is about responsibility. A distribution is a huge selection of software. Something works better, something works worse. But it’s our responsibility that what we push to users as defaults is well maintained and has some future. I’m not sure if we can tell that about all desktop environments and window managers we’d have to equally offer if we had no defaults.
I believe having defaults is very important for Fedora Project. If we should have some default selection, it should be by use cases. You want a Linux for your desktop? Here is our product for desktop. You want to run Linux in the cloud? Here is our product for cloud. I know that choosing defaults is difficult and brings long discussions. But giving it up just because it’s difficult is like hiding head in sand.
Don’t get me wrong. I appreciate every new desktop environment, window manager, or application that is available in Fedora repos because freedom of choice is great, but having defaults doesn’t limit this freedom.
Giving Up Product
Making Fedora just a platform for other end products goes actually far beyond giving up defaults. Fedora would lose a lot. If you don’t have your own end product, you pretty much lose a lot of your visibility and brand. “Selling” a platform to users doesn’t make any sense because users (and most developers, too) don’t care about the platform what’s behind the product. They would use e.g. GNOME OS and just a few of them would know that there is actually some Fedora behind it and even fewer of them would care. Would it help bring more contributors? I don’t know, but I guess it probably wouldn’t. People get more likely attached to the product they’re using. While I like GNOME and I’m also a GNOME Foundation member, I’d rather switch to a different environment and stay with Fedora than stay with GNOME and switch to another distribution. This kind of attachment is very important for getting people involved and contribute. Without being the product people are using, we’d lose the ability to build such an attachment.
There was actually an attempt to build just a platform upon which others can build their products – Unity Linux. And it never took off. They never attracted enough developers while Mageia, another derivative of Mandriva which is also an end product, is doing much better. I still think a distribution like Fedora is the best wrapping for what’s called a Linux system. While e.g. GNOME is the face of the system, it’s Fedora who has the expertize from the kernel up to the desktop.
Another question is if any community would be interested in building a product based on Fedora. Why wouldn’t they choose Debian at the first place? By becoming just a platform, Fedora would lose a lot, but would we get something back, someone else on board? I doubt. And OS products generated from our own community? Regarding desktops, the GNOME part of the Fedora community might able to produce a solid desktop product, maybe KDE, too. But that’s pretty much it. I don’t see any other spins that are strong enough to build and promote products on their own.
Again, don’t get me wrong. I’d love to see Fedora as a great platform to build on, but I’d rather have Fedora as a great product to use and I don’t think that building a great product prevents us from being a good platform to build on. However, I’d encourage people to build things in Fedora rather than on Fedora.
And what would be my vision for Fedora?
A truly free and community general-purpose operating system that aims at people who create things and build solutions. It doesn’t matter whether they are designers, developers, admins etc.