I think that the most charitable answer is that Ubuntu changed it's basic premise, and some people don't like the newer approach.
Back when Ubuntu started, it was explicitly a variation of Debian with a GNOME desktop, plus some custom parts to make a "Linux for Human Beings", such as an easy-to-use installation process. Mark Shuttleworth had been a Debian developer, Canonical hired it's technical people from Debian contributors, and everybody was sensitive to the need for Ubuntu to work with the upstream projects (and vice versa).
Linux is a complicated system of components, and desktops are far more complex than servers, so it's essential for developers with different employers to cooperate to get things done. Important decisions require developers from multiple organizations to reach a consensus. It can be a slow and frustrating process, and it's easy for awkward people to cause a lot of hassle for everyone else.
In practice, Canonical always struggled to work well with others, and eventually they switched to developing their own convergence stack (to span desktops, smart TVs and mobile) that happens to use Linux components but shares increasing less common ground with the rest of the community: using their own graphics systems, desktop environment, and their own software packaging systems. In other words, Ubuntu has been morphing from community-friendly Debian variant to an Android-style single-vendor system.
Google can do this with Android and not take the same level of flak because Android has always been a commercial product that happens to have FOSS components, and they seem to cooperate reasonably well with the rest of the community in areas of shared interest.
I've stopped letting these people lead me by the nose. For the community support and staying compatible I'm currently sticking with an Ubuntu upgrade path, but I've long left the default user interfaces behind. For a window manager I use openbox with tint2. I don't find much utility in the Debian/Ubuntu derived distros like Linux Mint, jumping from being based on Ubuntu,to Debian, then back to Ubuntu and breaking compatibility along the way.
I think a big part of the problem is Red Hat. Not that they're malicious or doing something wrong or anything of the sort; just that they're overrepresented in key projects that determines the direction of Linux. With enough people in key positions it is much easier for others to write off working upstream because they have different business interests and feel like contributing is working for you rather than with you. Here LWN with their stats on contributor affiliation for kernel releases can help (since they show that they're not even mostly one company), as does having people employed by the Linux Foundation. This doesn't occur as much for non-kernel software though.
I'm not so sure Kernel contribution is really such a big deal in day to day linux usage.
Sure, everyone loves if stuff just works - but if I'm looking back to my first years of Linux (1998-2007) and the last (nearly) decade - I haven't actively cared what kind of kernel, what version of kernel or whatever I am running on my laptops or servers. It just works[tm]. I'm really not trying to downplay the kernel developers' work - but if you're not using the latest hardware or need the last bit of performance.. many people could live with security fixes alone (hey, surprise, all the kernels in LTS distros only do get security backports).
(For me at least) in the last 5+ years the real development was in userland (for better or worse) - but I've stopped caring for anything besides "works fine" on a kernel level. Sad? Maybe.
Right; I just mentioned the kernel because it's the only thing I know of with consistent stats on what companies are contributing (and I mostly skip over those anyway). I just don't know anybody who publishes the same for, say, Gnome. It probably doesn't help that the boundary between the various projects need for a desktop Linux are blurrier.
And lets not forget the Torvalds policy of "we do not break user space". This makes it hard to get new stuff into the kernel, because any interface between the kernel and userspace that the new stuff expose will from that day on be set in stone.
The desktop devs on the other hand seems all too willing to break existing interfaces, treating them more like internal code than something exposed to third parties.
No, I am saying that sometimes it is necessary to seriously modernise the 50+ year old UNIX architecture, as great as it is.
Out of the people who complain about systemd, I have heard very little of them actually managing dozens of servers with it daily, however I have heard tons of praise from sysadmins, because it is a lot saner writing & managing systemd unit files, rather than a bunch of hacky shell scripts, so much so that FreeBSD, the "*nix way or the highway OS", wants a clone of systemd for themselves.
Also, there are non-systemd options, look at Gentoo or Void Linux.
Thing is that the init side of systemd is the least of the problems.
Right now the Freedesktop approved way of handling suspend and hibernate on a Linux laptop is via systemd-logind, the systemd session and seat manager!
What used to handle it, powerkit/powerd, is not pretty much just a wrapper around the power management parts of logind.
Never mind that logind itself upped and replaced consolekit, that could be used independently.
Or that these days udev, a project for managing the content of /dev on Linux installs, and that existed for almost a decade on its own, is these days part of the systemd source ball. On paper it can be used independently, but in practice the procedure for extracting udev from systemd change at random intervals.
And where did you get the idea that FreeBSD wants to clone systemd?! Best i recall is that the developer of launchd (the OSX/MacOS inspiration for parts of systemd) was lobbying for FreeBSD to adopt Launchd. But he was largely rebuffed and has since opted to develop his own FreeBSD fork instead.
There is some effort underway to clone the external systemd APIs, but last time i read anything about it they had gotten hung up on the ever morphing nature of logind.
And more recently there has been effort spent towards developing a BSD DE that do not depend on anything Freedesktop derived, systemd included. Because The major reason for having anything Systemd related on the BSDs was to support the major DEs, Gnome in particular.
So no, the BSDs are in no way "envious" of the systemd shoggoth. And why should they be? Their own init scripts are a haven of sanity compared to the sysv derivative that RH and Debian/Ubuntu clung to for so long. Heck even venerable Slackware adopted a variant of it, and they seem uninterested in replacing it any time soon.
I think that building a good UI for the desktop is only possible if UI developers agree on "look-and-feel" and that may be simpler for Canonical than for a community like Debian and they came to the conclusion that building their own is just the way to go. AFAIK their home-grown desktop is FOSS, so it's not like you are buying into a proprietary system and this is tremendous.
When I started with Linux I used a distribution like Mandrake with a KDE Desktop and by default you got several text editors, browsers and other tools (the drop-down menu was huge) and for me as a starter (I did not know any programming then and just wanted to play with a different OS coming from a Microsoft stack) I was overwhelmed and although I could appreciate the customization it was hard to get started as there were too many options.
Ubuntu changed that and they really thought a lot about how to improve the Linux Desktop experience and IMHO they did very, very well. E.g. I use Ubuntu as you can find lots of documentation, it is supported well in cloud infrastructure and they (re)distribute a lot of packages.
In particular I do not get critics about the Desktop Environment. In no way made Ubuntu your Desktop less customizable and I use e.g. xmonad as my WM which is totally straight-forward and it just works. My mom uses the default Desktop and is pretty happy with it.
That may be controversial, but I think there are often just 2 points of users; those that want it to just-work without any configuration and those who want to customize everything. I think Ubuntu is doing pretty well (currently, I hope that never changes) in both camps.
> I think that building a good UI for the desktop is only possible if UI developers agree on "look-and-feel" and that may be simpler for Canonical than for a community like Debian and they came to the conclusion that building their own is just the way to go.
Yes, and it seems like a number of other distribution developers have come to the same conclusion as well. We really need some thoughtful analysis about this trend.
> AFAIK their home-grown desktop is FOSS, so it's not like you are buying into a proprietary system and this is tremendous.
Source availability is part of enabling a broader developer community, but there's a huge amount of other work that is needed, as well. I haven't looked at the current state of Unity development, but the reputation of the project is that it is built for Ubuntu.
> Ubuntu changed that and they really thought a lot about how to improve the Linux Desktop experience and IMHO they did very, very well.
I totally agree: Ubuntu really was revolutionary when it started. It's kind of amazing how many innovative things Mark Shuttleworth and his team did right at the start.
> That may be controversial, but I think there are often just 2 points of users; those that want it to just-work without any configuration and those who want to customize everything. I think Ubuntu is doing pretty well (currently, I hope that never changes) in both camps.
There is also a third audience for any piece of software that is large enough to be programmable: developers. For desktops, you have third-party theme authors as well as application developers, people that want to work on the desktop software itself, maintainers of other Linux OS components, and folks that want to use the source code to build their own custom projects.
> developers. For desktops, you have third-party theme authors as well as application developers, people that want to work on the desktop software itself, maintainers of other Linux OS components, and folks that want to use the source code to build their own custom projects.
I think they are part of the "possibility to customize-everything" crowd. The most important point for me in a distribution is its security record and a good package system to support all common use-cases. The default desktop should totally be targeted to casual users, as experienced users will not agree with your base-configuration system anyway (I remember YAST from SUSE), so I appreciate strong opinions there, in particular less is more (the original Ubuntu approach compared to other distributions at the time).
> I think they are part of the "possibility to customize-everything" crowd.
Sometimes, yes: I know developers that do customize heavily, but personally the furthest that I go is changing a desktop wallpaper :) (DevOps: I switch between systems all of the time).
The sentence wasn't very clear, but I was really talking more about APIs and developer experience: one of the reasons why projects switch from GTK/GNOME tech to QT is that it's apparently much easier for them to work with.
Back when Ubuntu started, it was explicitly a variation of Debian with a GNOME desktop, plus some custom parts to make a "Linux for Human Beings", such as an easy-to-use installation process. Mark Shuttleworth had been a Debian developer, Canonical hired it's technical people from Debian contributors, and everybody was sensitive to the need for Ubuntu to work with the upstream projects (and vice versa).
Linux is a complicated system of components, and desktops are far more complex than servers, so it's essential for developers with different employers to cooperate to get things done. Important decisions require developers from multiple organizations to reach a consensus. It can be a slow and frustrating process, and it's easy for awkward people to cause a lot of hassle for everyone else.
In practice, Canonical always struggled to work well with others, and eventually they switched to developing their own convergence stack (to span desktops, smart TVs and mobile) that happens to use Linux components but shares increasing less common ground with the rest of the community: using their own graphics systems, desktop environment, and their own software packaging systems. In other words, Ubuntu has been morphing from community-friendly Debian variant to an Android-style single-vendor system.
Google can do this with Android and not take the same level of flak because Android has always been a commercial product that happens to have FOSS components, and they seem to cooperate reasonably well with the rest of the community in areas of shared interest.
(All IMO).