Matthew Garrett

Re: Default offerings, target audiences, and the future of Fedora

Eric (a fellow Fedora board member) has a post describing his vision for what Fedora as an end goal should look like. It's essentially an assertion that since we have no idea who our users are or what they want, we should offer them everything on an equal footing.

Shockingly enough, I disagree.

At the most basic level, the output of different Special Interest Groups is not all equal. We've had issues over the past few releases where various spins have shipped in a broken state, because the SIG responsible for producing them doesn't have the resources to actually test them. We're potentially going to end up shipping F20 with old Bluetooth code because the smaller desktops aren't able to port to the new API in time[1]. Promoting these equally implies that they're equal, and doing so when we know it isn't the case is a disservice to our users.

But it's not just about our users. Before I joined the Fedora project, I'd worked on both Debian and Ubuntu. Debian is broadly similar to the current state of Fedora - no strong idea about what is actually being produced, and a desire among many developers to cater to every user's requirements. Ubuntu's pretty much the direct opposite, with a strongly defined goal and a willingness to sacrifice some use cases in order to achieve that goal.

This leads to an interestingly different social dynamic. Ubuntu contributors know what they're working on. If a change furthers the well-defined aim of the project, that change happens. Moving from Ubuntu to Fedora was a shock to me - there were several rough edges in Fedora that simply couldn't be smoothed out because fixing them for one use case would compromise another use case, and nobody could decide which was more important[2]. It's basically unthinkable that such a situation could arise in Ubuntu, not just because there was a self appointed dictator but because there was an explicit goal and people could prioritise based on that[3].

Bluntly, if you have a well-defined goal, people are more likely to either work towards that goal or go and do something else. If you don't, people will just do whatever they want. The risk of defining that goal is that you'll lose some of your existing contributors, but the benefit is that the existing contributors will be more likely to work together rather than heading off in several different directions.

But perhaps more importantly, having a goal can attract people. Ubuntu's Bug #1 was a solid statement of intent. Being freer than Microsoft wasn't enough. Ubuntu had to be better than Microsoft products on every axis, and joining Ubuntu meant that you were going to be part of that. Now it's been closed and Ubuntu's wandered off into convergence land, and signing up to spend your free time on producing something to help someone sell phones is much less compelling than doing it to produce a product you can give to your friends.

Fedora should be the obvious replacement, but it's not because it's unclear to a casual observer what Fedora actually is. The website proudly leads with a description of Fedora as a fast, stable and powerful operating system, but it's obvious that many of the community don't think of Fedora that way - instead it's a playground to produce a range of niche derivatives, with little consideration as to whether contributing to Fedora in that way benefits the project as a whole. Codifying that would actively harm our ability to produce a compelling product, and in turn reduce our ability to attract new contributors even further.

Which is why I think the current proposal to produce three first-class products is exciting. Offering several different desktops on the download page is confusing. Offering distinct desktop, server and cloud products isn't. It makes it clear to our users what we care about, and in turn that makes it easier for users to be excited about contributing to Fedora. Let's not make the mistake of trying to be all things to all people.

[1] Although clearly in this case the absence of a stable ABI in BlueZ despite it having had a dbus interface for the best part of a decade is a pretty fundamental problem.[2] See the multi-year argument over default firewall rules and the resulting lack of working SMB browsing or mDNS resolving[3] To be fair, one of the reasons I was happy to jump ship was because of the increasingly autocratic way Ubuntu was being run. By the end of my involvement, significant technical decisions were being made in internal IRC channels - despite being on the project's Technical Board, I had no idea how or why some significant technical changes were being made. I don't think this is a fundamental outcome of having a well-defined goal, though. A goal defined by the community (or their elected representatives) should function just as well.

IMHO the "average user" has indeed mostly abandoned PCs in favor of tablets and smartphones, as far as home use is concerned.

I'm not sure a convergence a la GNOME Shell makes sense -- the most successful execution in this category is probably OS X/iOS, and notice that they ship the OS X-based iOS *first*, and only gradually tailor OS X later to make the user experience more consistent.

So yes, making the default end-user-friendly is a good idea, but I think "confusing" features should only be hidden by default, not yanked out altogether, and only if advanced configuration tools like gnome-tweak-tool and dconf-editor become first-class supported apps. Otherwise we're chasing a user segment that doesn't exist in sufficient numbers yet.

And someone better do something about GNOME Shell's graphics stack. I've given up using it on a top-of-the-line 2013 Dell ultrabook because it just gobbles up RAM and CPU cycles like crazy. (Yes, it's using an Intel graphics chipset)

IMHO the "average user" has indeed mostly abandoned PCs in favor of tablets and smartphones, as far as home use is concerned.

It does not matter how often people repeat this there is no evidence to support this broad claim. People are not replacing their PCs with smartphones (and neither tablets) what happens is that more smartphones and tablets are sold then PCs. That does not mean that people throw away their PCs and use them instead.

Mostly use them in addition to their PCs. People tend to not buy new PCs anymore unless the old one breaks because there is no reason to do so. They consider their current hardware "good enough" for their tasks, so no need to upgrade. So the saved money is spent elsewhere (ex. tablets).

"It does not matter how often people repeat this there is no evidence to support this broad claim. People are not replacing their PCs with smartphones (and neither tablets) what happens is that more smartphones and tablets are sold then PCs. That does not mean that people throw away their PCs and use them instead."

This doesn't change anything u still need GNU/Linux distribution(s) to recommend to your friends to use on tables/phones. It's the same story as it was and still is with PCs and Macs. What changed is devices list got longer and that is a good thing.

About Matthew

Power management, mobile and firmware developer on Linux. Security developer at Nebula. Member of the Linux Foundation Technical Advisory Board. Ex-biologist. @mjg59 on Twitter. Content here should not be interpreted as the opinion of my employer.