I've been meaning to write this for a week, but I wanted to do some research first. The more I read and thought on it, the issue became broader, the subject line kept changing and this message starting looking like an article. I will try to choose my words carefully; I do not intend to offend anyone nor do I want to appear biased.

I hadn't used any graphical package manager on fedora for almost a decade (yumex was the last one) because I had been burned too many times and I don't trust them, but after doing a little work in the AppData area, I thought I'd take a look at gnome-software. It is one of the most beautiful UIs I have ever seen. It is elegant, simple yet functional, tidy, gorgeous to look at and it manages to stand out from all the other "market" or "store" applications. It incorporates some of the competition's best features, while avoiding their pitfalls (try living with Ubuntu's software center for a couple of days). I wholeheartedly agree with Richard Hughes in that software centers compliant with the AppStream specification help promote applications and are beneficial to both the users and the developers.

About a week ago, while wondering why MATE applications do not appear in gnome-software, Richard was kind enough to point to a blog post from September 2013:

http://blogs.gnome.org/hughsie/2013/09/19/gnome-software-on-mate-and-xfce/

I thought that developers and users might find it useful, so to quote Richard:

tl;dr: If you want to run GNOME Software on MATE or XFCE you need to set an environment variable likeĀ GNOME_SOFTWARE_COMPATIBLE_PROJECTS=MATE,GNOME,XFCE

This might have gone unnoticed since then, but I think it is an issue worth (re)visiting.

I can understand and defend the design choices that have been made; allowing a user to mix and match packages from different DEs with different aesthetics, compiled against different/incompatible libraries or having three different applications appear as "Text Editor" or "Dictionary" would lead to a sub-optimal user experience. From that standpoint it makes sense to hide from the user packages tied to other DEs, especially if the same functionality is provided by Gnome packages. Of course, a user might install an application e.g. compiled against gtk2 and the result would be the same.

I have not tested this much in other Fedora versions, only in F22 with GNOME. There, the default value in org.gnome.software compatible-projects is set to 'GNOME', 'KDE', 'XFCE'.
(see https://mail.gnome.org/archives/commits-list/2013-November/msg00656.html)
I do not understand this particular choice to include some DEs and exclude others. Why not enable or disable all of them? LXDE and MATE developers might be prone to attribute this to malice. Personally, on almost every machine I use, I have mixed packages from various sources - some due to personal preference, others because they offer unique functions.

Then again, does gnome-software aspire to be a "universal" package manager on Fedora? If it does, then why not offer packages from every DE and metapackages for other environments? If gnome-software aims to be novice-user-friendly, at least the latter should definitely be an option. Let's not forget that Gnome is a modern desktop environment, that requires fairly modern hardware to run on and that is not always available. Also, can gnome-software be the distro-wide default package manager while adhering to the HIG?

Allow me to digress a bit. Sometime in 2000, my professor told me that in order to use some molecular modeling packages and to modify their FORTRAN source code, I had to get linux, so after some searching, I went to a local bookstore and bought SuSE 5.3 or 6.0, can't remember any more (on a 56k analog modem at the time, downloading the iso or doing a network install was out of the question). The box came with two massive manuals (and some cute stickers) from which I learned the concept of the window manager or desktop environment. The choices I had been given got me really excited (almost as much as when I got my mouse wheel working) and after some weeks of playing with each DE, I routinely switched from KDE to enlightenment or to fvwm, according to the requirements of the task at hand, or just my mood. For years I kept the habit of alternating between almost every environment that was packaged for my distro, until I did not have the time to keep up with every change, so I settled with GNOME (mostly). Then came GNOME 3 and in the ensuing upheaval I gave every other DE another try. These days I use GNOME on my workstation, MATE on a netbook I take with me whenever I have field work (which sometimes literally means working in a field) and on an ancient dual Athlon MP workstation. On some other systems I manage or have lying around, I run E19, XFCE, MATE and GNOME.

I have converted many friends and acquaintances over to linux, but for the past 2-3 years I don't think I have pointed anyone to anything but Ubuntu and I feel some guilt about it. For a number of reasons I can't quite put my finger on, Fedora does not "feel right" for newcomers. The upgrade process, software management and support time-frame are certainly among them. Most of these otherwise bright people have their IQ drop to the value of its logarithm when they sit in front of a computer screen and they all seem to suffer from a natural aversion towards the terminal and towards RTFM. I'm sure you are all well aware of them. When you tell them to go to fedoraproject.org and download the iso, you can be certain that a phone call is imminent, asking for step-by-step instructions, even though everything is well-documented. Explaining to them the difference between linux and distribution is hard and if you start talking about spins, they lose you. If they decide to search for a solution to an issue by themselves, they have no problem executing any commands they may find in a blog post from 2005, ignoring all the error messages that inevitably come along and then they will look genuinely surprised because something broke. Last week I upgraded my old workstation to F21. It has a GeForce 6800 that whenever I had used nouveau instead of nvidia's driver, seriously overheated and the computer sounded like the vacuum cleaners of yore. After the upgrade, I couldn't get to gdm, but entering MATE manually worked, so after a little digging, I found out about an issue with mutter and nvidia's driver. I tried a newer version of the driver from rpmfusion's build system, that didn't work, so I switched to lightdm. Now imagine one of those people, being faced with the same issue right after the adrenaline rush of upgrading with fedup. Even I have kept my main system on F20 because I need CUDA and I can't switch to OpenCL.

Many of these people however exhibited an excitement far greater than mine, when after complaining about Unity for various reasons, I presented them with the alternatives. They were happy to spend time trying out other DEs, pointing out what felt right and what wrong. Some of them tried all of KDE, Cinnamon, MATE, LXDE, XFCE, GNOME and Enlightenment, for weeks even, before deciding what worked for them and their workflow. To my semi-surprise, some of those on higher-spec machines ended up on GNOME, which I thought had a steeper learning curve compared to most of the others (I still had to tell them about hidden stuff like gnome-session-properties or to get gnome-tweak-tool and look in extensions.gnome.org for extensions).

Having said all that, I hear a lot of people complaining about losing users to Ubuntu, Mint and others, or why things like project Sputnik don't involve our community. The biggest issue here is which is the targeted user base of Fedora, if there is one? And what are the use cases we want fedora to cover? Can we have "Freedom" and be "First" and still cater to everyone's needs?

Well, that's it.
Happy holidays everyone!