Reactions to “Has modern Linux lost its way?” and the value of simplicity

Apparently I touched a nerve with my recent post about the growing complexity of issues.

There were quite a few good comments, which I’ll mention here. It’s provided me some clarity on the problem, in fact. I’ll try to distill a few more thoughts here.

The value of simplicity and predictability

The best software, whether it’s operating systems or anything else, is predictable. You read the documentation, or explore the interface, and you can make a logical prediction that “when I do action X, the result will be Y.” grep and cat are perfect examples of this.

The more complex the rules in the software, the more hard it is for us to predict. It leads to bugs, and it leads to inadvertant security holes. Worse, it leads to people being unable to fix things themselves — one of the key freedoms that Free Software is supposed to provide. The more complex software is, the fewer people will be able to fix it by themselves.

Now, I want to clarify: I hear a lot of talk about “ease of use.” Gnome removes options in my print dialog box to make it “easier to use.” (This is why I do not use Gnome. It actually makes it harder to use, because now I have to go find some obscure way to just make the darn thing print.) A lot of people conflate ease of use with ease of learning, but in reality, I am talking about neither.

I am talking about ease of analysis. The Linux command line may not have pointy-clicky icons, but — at least at one time — once you understood ls -l and how groups, users, and permission bits interacted, you could fairly easily conclude who had access to what on a system. Now we have a situation where the answer to this is quite unclear in terms of desktop environments (apparently some distros ship network-manager so that all users on the system share the wifi passwords they enter. A surprise, eh?)

I don’t mind reading a manpage to learn about something, so long as the manpage was written to inform.

With this situation of dbus/cgmanager/polkit/etc, here’s what it feels like. This, to me, is the crux of the problem:

It feels like we are in a twisty maze, every passage looks alike, and our flashlight ran out of battieries in 2013. The manpages, to the extent they exist for things like cgmanager and polkit, describe the texture of the walls in our cavern, but don’t give us a map to the cave. Therefore, we are each left to piece it together little bits at a time, but there are traps that keep moving around, so it’s slow going.

And it’s a really big cave.

Other user perceptions

There are a lot of comments on the blog about this. It is clear that the problem is not specific to Debian. For instance:

Christopher writes that on Fedora, “annoying, niggling problems that used to be straightforward to isolate, diagnose and resolve by virtue of the platform’s simple, logical architecture have morphed into a morass that’s worse than the Windows Registry.” Alessandro Perucchi adds that he’s been using Linux for decades, and now his wifi doesn’t work, suspend doesn’t work, etc. in Fedora and he is surprisingly unable to fix it himself.

Nate bargman writes, in a really insightful comment, “I do feel like as though I’m becoming less a master of and more of a slave to the computing software I use. This is not a good thing.”

Singh makes the valid point that this stuff is in such a state of flux that even if a person is one of the few dozen in the world that understand what goes into a session today, the knowledge will be outdated in 6 months. (Hal, anyone?)

This stuff is really important, folks. People being able to maintain their own software, work with it themselves, etc. is one of the core reasons that Free Software exists in the first place. It is a fundamental value of our community. For decades, we have been struggling for survival, for relevance. When I started using Linux, it was both a question and an accomplishment to have a useable web browser on many platforms. (Netscape Navigator was closed source back then.) Now we have succeeded. We have GPL-licensed and BSD-licensed software running on everything from our smartphones to cars.

But we are snatching defeat from the jaws of victory, because just as we are managing to remove the legal roadblocks that kept people from true mastery of their software, we are erecting technological ones that make the step into the Free Software world so much more difficult than it needs to be.

We no longer have to craft Modelines for X, or compile a kernel with just the right drivers. This is progress. Our hardware is mostly auto-detected and our USB serial dongles work properly more often on Linux than on Windows. This is progress. Even our printers and scanners work pretty darn well. This is progress, too.

But in the place of all these things, now we have userspace mucking it up. We have people with mysterious errors that can’t be easily assisted by the elders in the community, because the elders are just as mystified. We have bugs crop up that would once have been shallow, but are now non-obvious. We are going to leave a sour taste in people’s mouth, and stir repulsion instead of interest among those just checking it out.

The ways out

It’s a nasty predicament, isn’t it? What are your ways out of that cave without being eaten by a grue?

Obviously the best bet is to get rid of the traps and the grues. Somehow the people that are working on this need to understand that elegance is a feature — a darn important feature. Sadly I think this ship may have already sailed.

Software diagnosis tools like Enrico Zini’s seat-inspect idea can also help. If we have something like an “ls for polkit” that can reduce all the complexity to something more manageable, that’s great.

The next best thing is a good map — good manpages, detailed logs, good error messages. If software would be more verbose about the permission errors, people could get a good clue about where to look. If manpages for software didn’t just explain the cavern wall texture, but explain how this room relates to all the other nearby rooms, it would be tremendously helpful.

At present, I am unsure if our problem is one of very poor documentation, or is so bad that good documentation like this is impossible because the underlying design is so complex it defies being documented in something smaller than a book (in which case, our ship has not just sailed but is taking on water).

Counter-argument: progress

One theme that came up often in the comments is that this is necessary for progress. To a certain extent, I buy that. I get why udev is important. I get why we want the DE software to interact well. But here’s my thing: this already worked well in wheezy. Gnome, XFCE, and KDE software all could mount/unmount my drives. I am truly still unsure what problem all this solved.

Yes, cloud companies have demanding requirements about security. I work for one. Making security more difficult to audit doesn’t do me any favors, I can assure you.

The systemd angle

To my surprise, systemd came up quite often in the discussion, despite the fact that I mentioned I wasn’t running systemd-sysv. It seems like the new desktop environemt ecosystem is “the systemd ecosystem” in a lot of people’s minds. I’m not certain this is justified; systemd was not my first choice, but as I said in an earlier blog post, “jessie will still boot”.

A final note

I still run Debian on all my personal boxes and I’m not going to change. It does awesome things. For under $100, I built a music-playing system, with Raspberry Pis, fully synced throughout my house, using a little scripting and software. The same thing from Sonos would have cost thousands. I am passionate about this community and its values. Even when jessie releases with polkit and all the rest, I’m still going to use it, because it is still a good distro from good people.

85 thoughts on “Reactions to “Has modern Linux lost its way?” and the value of simplicity”

I really like the simplicity of OpenBSD. One indication of its simplicity is that the same OS can be used for servers and desktops alike. A simple install command from the lean base install (suitable for server) makes the OS into a desktop.

I think the two key phrases here are “intransparency” and “insufficient design”. These are at least the things I see causing all of the troubles.

Examples: Gnome threw CORBA out the door in favour of dbus, because CORBA “caused problems”. Now I google for a list of those problems so I can follow the decision. No such thing. It’s probably all on the mailing lists, but nobody took the time to make a list and do an informed decision. I don’t say the decision is bad, but they way it is communicated is absymally intransparent.

And lack of design? It is being thought again about (d)bus activation and how that is done via systemd. Where is the comparison with COM, CORBA and .NET that all do the same thing? Why is the new version better than existing technology?

To me the decision process is horribly opaque and so are the systems that come out of it. To this day I do not know why polkit uses Javascript (you read that right) to implement access control checks. Javascript? Seriously? Why?

End then there’s of course the fact that some of the people involved just seem really horrible programmers :-/

The decision to move from CORBA to D-Bus was made quite a long time ago. This page https://wiki.gnome.org/TwoPointThirteen/Platform mentions that Gnome’s CORBA (ORBit2, libbonobo) is “heading towards planned deprecation” and was written for Gnome 2.14 released in March 2006. Wikipedia even says that Bonobo has been deprecated since Gnome 2.4 (https://en.wikipedia.org/wiki/Bonobo_%28component_model%29#Planned_deprecation ), but that might be a typo. And even at the start of D-Bus development in 2002, people from Gnome and Red Hat were involved. So the need for a “new” IPC system has been there quite early.
Give that long span of time it’s not surprising that it’s hard to find the discussion of this change. But I suspect that you can find it somewhere in the archives of gnome-devel-list from approximately 10 years ago.
FYI, the D-Bus FAQ contains a small comparison between D-Bus and CORBA http://dbus.freedesktop.org/doc/dbus-faq.html#corba .

Concerning Javascript in polkit: I also find it weird that they thought they needed a Turing complete language for configuration. But if you accept that, then I don’t think Javascript is such a bad choice. It’s certaily better suited for this purpose than Python, Ruby or shell scripts.

I do not doubt that there was a good reason for deprecating CORBA (and with it bonobo components). I just like to see a document where those good reasons are all written down. I just used dbus is an example for “opacity”, because the documentation I know of is still very much incomplete (after 9 years).

But there are others. XDG_VIDEOS_DIR’s sole specification seems to be small C a library implementing the path lookup. And systemd handles it differently than that library. Erm, why?

This makes me feel quite the opposite of “warm and fuzzy”. I’d like to have clear cut abstract concepts that are actually recognizable in the core components and that are documented somewhere so that things are at least somewhat traceable.

And I stopped to have that for a part of my desktop system (I use xfce so it’s not to large a part). To the point where I started to mount my usb sticks manually again, because I am just sick and tired of trying to find out where to configure the privileges in the current incarnation of HAL/gvfs/fookit software.

I’m also not quite so sure that I want to be able to encode an endless loop in my policy file ;-).

With respect, this is your opinion, but my opnion is totally different about systemd.
The problem is not that we have different opinions, the problem is that I’m beeing forced to use systemd in wheezy and jessie, the problem is that I have no choice (the reason may be a bad design, the reason being one program taking it all).
Now I’m mounting pen-drives at hand with pmount in wheezy, and waiting form Devuan to stop this crazyness in Debian. And very frustrated because the Debian lords not respected the social contract.

Anyway, what I wanted to say is that there _is_ choice. Look at it this way: a distribution’s job is to choose a kernel, choose user-land software, and do something that meets its goals with all of this (the goal can be stability, performance, lightness, eye-candy…). There are many distributions. You just have to choose the distribution that most closely matches your own goals. As for Debian, they pondered a lot on this issue, and they made their choice. No one is forced to use Debian.

Of course, you could say that you wish to use Gnome, but cannot do that anymore without some amount of systemd being there. Well, if the Gnome project did this, it must be because they saw some value in this choice. If you do not agree, you can use another desktop environment.

systemd programs are only taking the space that miscellaneous projects and distributions are _willing_ to let them take. Are all these projects and distributions suddenly blind and incompetent? Maybe, maybe not; we probably have different opinions on the matter…

There are efforts underway to bring some order and fiability to Linux, and I do think that systemd and wayland for example are such efforts.
IMHO, you cannot judge the results of these efforts based on observations of an _unstable_ distribution (ie: work in progress).

Lately, I tend to use one of the methods of sySTEmd fanboys, saying the same thing again and again, so here it is :

We need to evolve the way we see things

Yes we do.
We also need to progress in our way to talk about them.

There’s one barebone distro becoming bigger and bigger, this distro is the Gnome-Systemd Linux (let’s call it RHGSDL) and it has quite a lot of derivatives which will become more and more similar : RHEL, Fedora, Debian, Arch, Opensuse, Mandriva …

The core idea of this distro is that, to ‘fix’ linux, the whole system must rely on a unique process which control every other thing and that package/software dev/maintainers will work for that distro only (by making all their softwares/packages dependant on SystemD). The developpers of systemD think that most will do that because it’s ‘easier’ than to work for themselves and the whole community with other distros.
Maybe they are right to rely on lazyness and selfishness of those who make the strengh and diversity of GNU/Linux but, on the other hand, those who chose to give their time and skills in a free softwares unpaid work have maybe other higher motivations. Time will tell.

Time will tell also if the technical choices, and, among them, a single point of failure were good for this distro. Also their political choices. Some of the derivatives force SYSTEMd as default and do just not support alternatives, some are pretending to support alternatives while, by playing with recursive (sometimes ‘forged’) dependencies and compatibility break, they make it installed quite silently with other packages and almost mandatory once it’s installed. And they are the first distro who openly wants to either eat or destroy any other distro by orphaning them and systematically casting a slur/talking down/dissing anyone who legitimatly criticises SYStemd.

Still, RHGSDL is only a distro and we need to help and support the others who want to offer the choice to their users. I mean : LFS, Gentoo, Slackware, PCLinuxOS, Refracta, Crux, GNU Guix, Kali Linux, Sorcerer, Source Mage, Void Linux, Plop Linux, Pisi Linux, Bedrock Linux, GoboLinux, 0Linux, 4MLinux, Puppy Linux, Tiny Core… (plus LSD Linux, Trios and Devuan, if they ever become real forks) and all their derivatives.
There are also other kernels and, in particular, BSD. FreeBSD/PC-BSD/MidnightBSD seem to be quite good to give it a try without knowing much of it.

Now, there’s something I would like to say to the sysTEMd fanboys.
You say that it ‘fixes’ Linux, it handle things ‘better’, it is the only way to use the ‘newer’ functionalities, it is ‘needed’, it is ‘The Future’, it is ‘The Progress’, there’s ‘no alternatives’, no-one is able to develop alternatives following the ‘awesome development speed’ of it, others “do not respect the LSB” when sysTemd does, others “do follow stupidly the LSB” when systeMd do correct it, the users and devs who don’t think alike are just idiots or know nothing, the unix philosophy is obsolete, those who don’t follow you are of no interest etc.
If you’re right, then the linux kernel is not able to suit your desires and -fortunately- it doesn’t depend on SyStEmD yet. If you believe in what you’re saying, the Unix way and the linux community doesn’t suit your needs.
Then, the best way for you, SysTemD dev and al., is to take a break with the linux world, make your own kernel, going along with your system, and your own community, according with your philosophy, and it will be really easy for you as you are the ones ‘who know and do better’. You do not need, previously, to waste GNU/linux and our time.

>Why does it bother you that someone is happy with something you don’t like and recommends it as a potential better experience than having to revert silly problems that should have been resolved 10 years ago like mounting devices by hand?

Because many times when someone has a problem with Linux or Windows there comes an Apple apologetic and recommends it as the solution for all problems. I’m not bothered that you are happy with your Mac and I can actually understand it in a way.

But you are posting this as an answer to a post that was about “removed options in the printer dialog box” and a follow-up to a thread about problems becoming difficult to diagnose on Linux. Excuse me, ever tried to diagnose a problem under OSX? You would wish to have the Linux facilities, then. It’s about as terrible as it gets and even if you find the culprit, often times there is no workaround due to “removed options” because no one needs it.

And funny that you mention “silly problems that should have been resolved 10 years ago”. Yes, I think selecting a standard PC-keyboard layout shouldn’t be something that I need to read threads on the internet for and install two different programs (look on the net, it’s full of threads about this). It should be under “System Preferences->Keyboard” but it isn’t since someone at Apple decided “no one will use that”.

Or two monitors, not really a thing that became the hot shit yesterday. Why does it have so many problems with that?

And funny that you mention automounting. Try automounting an EXT3 USB Stick under OSX. The finder will flat-out tell you it’s not possible and aks you to format the stick. That would be fine but from the command-line (you know, with becoming root and everything) it works flawlessly (and even appears in the finder afterwards). Apparently not such an easy problem to fix, eh.

People mindlessly recommending OSX in a posting about vanishing configuration options, less options for customization and difficult to diagnose problems is probably not the right thing to do.

But honestly, it does not bother me at all. And if I came across as rude I apologize.

I find the manual to be reasonably comprehensive and descriptive. Right now the manual is written with the present Stable (Wheezy) release in mind. I presume it is being updated in a repository and will be released along with Jessie.

To anyone interested, I would guess that Osamu would be receptive to improvements and expansions to various sections of the manual.

> Because many times when someone has a problem with Linux or Windows there comes an Apple apologetic and recommends it as the solution for all problems. I’m not bothered that you are happy with your Mac and I can actually understand it in a way.

That’s how the internet works. Someone says they have a problem that someone else notices is easily solved with a change from technology X to Y and they mention it. I didn’t say it solved all problems everywhere, and I’m not an Apple apologist what a nice straw man. I don’t even use Apple *, I’m an Android fan and I use Linux everywhere but workstations where OS X is a better fit. There’s a reason RedHat and SuSE won’t go near the desktop market, it’s a market that doesn’t make sense for GNU/Linux.

> But you are posting this as an answer to a post that was about “removed options in the printer dialog box” and a follow-up to a thread about problems becoming difficult to diagnose on Linux. Excuse me, ever tried to diagnose a problem under OSX? You would wish to have the Linux facilities, then. It’s about as terrible as it gets and even if you find the culprit, often times there is no workaround due to “removed options” because no one needs it.

It’s actually about “Has modern Linux lost its way?”, my response to that is absolutely yes. I also have diagnosed problems under OSX, to a degree you probably haven’t since I toy with hackintoshing in addition to owning an rMBP.

> And funny that you mention “silly problems that should have been resolved 10 years ago”. Yes, I think selecting a standard PC-keyboard layout shouldn’t be something that I need to read threads on the internet for and install two different programs (look on the net, it’s full of threads about this). It should be under “System Preferences->Keyboard” but it isn’t since someone at Apple decided “no one will use that”.

> Or two monitors, not really a thing that became the hot shit yesterday. Why does it have so many problems with that?

My two monitors are working fine, they aren’t even thunderbolt, they are mini display port.

> And funny that you mention automounting. Try automounting an EXT3 USB Stick under OSX. The finder will flat-out tell you it’s not possible and aks you to format the stick. That would be fine but from the command-line (you know, with becoming root and everything) it works flawlessly (and even appears in the finder afterwards). Apparently not such an easy problem to fix, eh.

Another straw man, taking something that doesn’t belong to the OS, making an argument that it should work (when nothing says it will) then whining that it doesn’t work. You’re welcome to buy drivers though if you need them: http://www.paragon-drivers.com/extfs-mac/

> People mindlessly recommending OSX in a posting about vanishing configuration options, less options for customization and difficult to diagnose problems is probably not the right thing to do.

It’s not mindless, remember what I said in my first comment. Former LONG TERM Linux user, and a distribution manager. A very technical person who decided it wasn’t worth the drama or the trouble to use it as a workstation or desktop OS. Not a n00b here to preach OSX regardless of what you might want to believe.

> But honestly, it does not bother me at all. And if I came across as rude I apologize.

You did, but no worries, I’m used to it. It’s status quo in the Linux community.

With the obvious differences that systemd is orders of magnitude smaller than win32, that the parts systemd-shim wants to emulate (i.e. not udev, journald, the init system, …) are even smaller, that the systemd is available so it’s easier to understand than the black box of win32, that the developers can be reached easily, that there are a smaller number of (or none) consumers of obscure undocumented API behavious, etc.

Ok, so where does it allow me to remap the Home and End keys of my Microsoft Keyboard to “Go to start of line” and “Go to end of line”. Where does this allow me to move the “@”-character from the L-key to the Q-key? Where does this allow me to remap curly braces and brackets to where they are used to be on an ISO keyboard (this is probably not a problem for US-keyboard users). I never asked about re-mapping modifier keys.

> My two monitors are working fine, they aren’t even thunderbolt, they are mini display port.

Yep, I’m using one HDMI and one Mini Display port and everytime I attach them while the MacBook is sleeping (e.g. after coming in to work), there’s a big chance it will completely screw everything up when waking up. But of course, denying that someone even has these problems is also a solution :-)

> Another straw man, taking something that doesn’t belong to the OS, making an argument that it should work (when nothing says it will) then whining that it doesn’t work.

I’m sorry, I meant to say NTFS there instead of EXT3, which makes it even worse in my eyes. NTFS USB Stick, finder compalins about uninitialized disk. Using “mount -t nfs /dev/diskblabla /Volumes/blabla” works perfectly and even the finder finds it afterwards. Why? No idea!

> Former LONG TERM Linux user, and a distribution manager. A very technical person who decided it wasn’t worth the drama or the trouble to use it as a workstation or desktop OS. Not a n00b here to preach OSX regardless of what you might want to believe.

I respond by content of the comment and not by what the author claims to be.

> You did, but no worries, I’m used to it. It’s status quo in the Linux community.

Oh, you just had to bring that one, eh. But better than the Apple community where I am told that wanting to use NTFS USB Sticks with OSX is “using it wrong”…

I did not remember asking for your assistance in doing those things. I found all of this stuff out long ago. My question is:

1) Why do I need to download multiple programs just to use a non-MAC keyboard. And actually creating the layout takes much longer than the 5 seconds it takes to google the program.

2) Why would I pay 19.95$ to automount NTFS, when, using the command line “mount”, the system is apparently capable of doing that just fine out of the box? Why can’t Finder just do it? And seriously? 19.95$ to mount a Windows USB stick? SERIOUSLY? It’s not like OSX or those machines come for free?

But yes, I see. Apparently in the mind of a MAC-User it’s totally fine that setting a keyboard layout requires Googling, Downloading of multiple tools and then creating your own layout (which, btw, in Ukelele is everything but straightforward). It’s apparently also fine that the system does not come with the capability to auto-mount one of the most used filesystems without paying or going to the command line.

Read: Just more Linux white knighting, in a thread about Linux losing it’s way. 1. You need to download things on any platform to do things. Sometimes that’s hidden behind yum install, apt-get, emerge, and sometimes you click your mouse in a browser. 2. For the same reason you’d purchase a game in Steam on your Linux computer. You’re always welcome to write your own GNU NTFS driver for OS X if you have the talent, or you can rely on the work of others if you don’t..or you can pay for it. Once upon a time the best audio drivers and display drivers for Linux were not free (4OSS and SciTech SNAP).

Yes, I also see. I see comments of the entitled who thinks everything should be free and given to them for nothing. I get it. Also, I guess you’ve never had to google anything on your precious GNU/Linux platform either. Right…

I cannot help but wonder how many use-cases there are where people actually buy or build a computer system with two screens, two mice and two keyboards attached to them. And where the USB ports are divided so that one group is reachable from chair “seat0” and the other only from chair “seat1”. Must I imagine a classroom with one computer with 20 keyboard cables, 20 screen cables and 20 mouse cables attached to it? I’m sorry but I find it hard to think of any real practical application of having more than 1 seat.

Classrooms, in-flight entertainment, kiosks can all be done with a client-server model with light-weight X terminals (each 1 seat).

(Now if you only have 1 screen, you could do a three-way split-screen with three people each with his/her own keyboard typing away next to each other. Is this the use-case that multi-seat is designed for?)

And for this, all of us Linux users and developers have to:
“Note (and this is important!) that if a device is assigned to seat0, it will usually not carry such a tag and you need to enumerate all devices and check the “ID_SEAT” property manually.”

Except if we write stuff like pulseaudio:
“If you are writing user-level software interfacing directly with kernel drivers (like PulseAudio), consider ignoring seat information completely, and make available to the user all devices he/she can access.”

The practical issues of this article are in areas of GNU/Linux I never worked on. (Command line interpretation is not part of Linux, you know.)

However, the significance of a practical issue is always based on values, and every recommendation presumes certain values.
I noticed the person who recommended MacOS because it works”. In what sense does MacOS “work”? It won’t let users fix bugs at all. It is a nonfree system with DRM, and it transmits users’ unsaved files to Big Brother. Is that “working”?

While reading your post the only thing than came to my mind…. you have problem with new things. In a way similar in complaint as might come from Windows users who have changed to Linux.

I have been using Linux for over 10 years.. I generally welcome change. I was a bit confused with systemd at first but after using for a month or so I love it. I started using it for two years ago and the more I use it the more I like the simplicity of it. Yes, it means I have to relearn how to do some stuff but the result is much more predictive. Journald is also more competent and makes stuff easier to find.

So… you feel it is less predictive because it is new to you and you don’t fully understand it yet. Give it time and things will fall into place.

I think that is too simplistic an answer. I actually enjoy new things. But not new things that add pain for no real benefit. Please note AGAIN this post is NOT about systemd. I wasn’t even running systemd when I wrote it.

I agree with this. There are a ton of new features that I am interested in, ZFS being one of them. This is what drew me to the BSDs. I started after the issues I ran into with a systemd-ified Debian system. Then I decided to do my due dilligence to see if I was being unfair. I read articles about it, listened to Lennart interviews, etc.

One thing that really turned me off of systemd is when I heard Lennart say that the systemd team wanted to “own everything between the kernel and the application layer.” This kind of struck me as recreating Linux in their own image. He even said that at some point in the future, they wanted to replace all package managers with a cgroup/docker-style solution. This may be a good thing or it may not. It seems that this would change the distros into one unifiied, homogenized whole. I’m really not sure I’m onboard with this. To me, it feels like the systemd team is saying “you can have any color car you want, as long as it is red.”

Andrew, you’re the “well, it works fine for me on MY box” developer that everyone loves to hate. Who cares if you don’t have problems with multiple monitors on your machine, it doesn’t help the person who does have those problems.

Systemd may be the first step to commercialize Linux. After this, the minds behind this move will go for destroying Linux root access control/user permission set up to make it vulnerable like Windows OS’s such that they – antivirus makers, crapware sellers can make another Windows-like eco-system. Systemd alone will drive for unification of distros and later there will be a push for using a particular package management system pushed inorder to achieve this.
What I and many old Linux users (and are not developers) want may be a Gentoo Linux with Debian package management. It’s literally 3 or 4 distributions commercializing and monopolizing Linux sphere in the future that includes Ubuntu, RedHat and other big shots literally reducing Linux into OS X and Darwin model.

What many will want is a balance between rolling release and fixed release distros with a Debian package management system with the efficiency of Gentoo or such niche distros. Where do we fit?

That was written in 1994, way before my time, but maybe history is merely repeating itself now. A solution was proposed in that same document, which I interpret to involve:
* saving users from having to find, compile and integrate software by themselves,
(Debian still seems to do pretty well there)
* supporting the widest variety of hardware configurations,
(we’re starting to see older hardware or whole architectures dropped unfortunately)
* being *accepting* of users’ specific needs and ideas, help them be involved in development, to produce something that will be useful to more people,
(I think the systemd integration marks the peak of Debian’s failure to meet this goal)
* making it as easy for others to install and use, as it is for you as a developer.
(many parts of the OS are lacking here, not just the installer; documentation is important to this)

I think those values are what led Debian to be called ‘the Universal OS’, but in recent times many seem to be renouncing this, in favour of creating the best possible niche OS for only themselves.

Well, I’m a new Jessie user but not new to linux. I installed Jessie from a DVD just a few days ago. I am nearly 60 at this time and I did install a released version. I personally see no benefit to Jessie. I did a clean install but it needs so much more stuff done than Wheezy. I use a KDE desktop environment.

There are MANY little things I don’t like. For one thing, the moving of items to my desktop sucks. I can’t just pull someone on my visible desktop and have it copy for rme. I have to put it in my desktop ‘folder’ and then pull my item within that folder to my visual desktop and instead of just copying the folder, it asks me if I want an icon, a folder or something else. Can’t remember right now. If you are moving a folder and you choose folder, it is an open thing on the desktop displaying all the contents. I don’t like that. So you choose icon. However, if I drag something from a usb drive to the desktop, it appears to copy it but it’s really only pasting something that can’t be read unless I leave my usb drive plugged in. This is irritating as hell.

So all the little changes like this — are making me revert backwards. It’s not a great upgrade in my opinion. I’ll wait till Debian 9 comes out and try it out. But I think Debian 8 is a flop. I mean it’s good software but not for me. I like ease of use.

Wheezy with KDE is perfect. I’m not a tile person so KDE tempers that for me..

Basically, the problem is that the Windows culture has migrated into Linux with the former Windows developers.

We need to tell them — adopt the culture, or get out.

This is the same problem we have with 3rd world immigration to 1st world countries… people move to 1st world countries to escape 3rd world problems… and then, as seen, for example in the “suburbs” of Paris, they proceed to re-implement their dysfunctional third-world culture in their new home… basically, the equivalent of shitting in the middle of the dinner table at a fine restaurant, because even though they don’t like eating where people shit on the middle of the dinner table — they’re so used to doing it, they just can’t help themselves.

Yeah, I’m late to the party. On purpose. I’ve been working with Unix systems for over 40 years, and with FreeBSD as my desktop for 20. I started with FreeBSD because it had application management tools and no other open Unix-like system did at the time. Over the years, I’ve looked at Linux a few times, but never found a good reason to switch. And a good reason not to – the GNU tools are aptly named NOT UNIX. I wanted to stay with Unix, so I stayed with FreeBSD.

But I found myself running Linux in a VM for the same reason I ran Windows in a VM: to use some proprietary or non-portable application I needed. This has gotten common enough that when I built a new desktop, I decided try Linux since it at least solves the worst problem of Linux: I can use a window manager with a UI that was designed this century. And I chose Ubuntu because I’m switching to make it easier to run applications, so I I wanted the distribution that would make that as easy as possible.

And the more I use it, the more it reminds me of Windows. The system seems to start with the assumption that the user is an idiot. Failures are hidden if possible, and if not the error message are pretty much worthless for diagnosing the issue. At least they’re unique enough that google sometimes helps – just like Windows. Lots of system tools have their own security model, which almost inevitably means I can’t do simple things I ought to be able to do without a sudo. They’re trying to protect me from myself, and like those idiotic “Are you sure?” prompts that everyone just powers through, they make things worse. Either convenience or necessity forces me to do something to disable those mechanisms, which inevitably means I wind up disabling protections that really ought to be left in place.

I don’t know that GNU/Linux has lost it’s way. To me, this feels like where Linux has been heading all along: it’s chasing Windows users, and of necessity becoming more like Windows as it does so. It’s clearly not following the Unix way, but it really never has.

To be clear, I don’t think the issue is the linux kernel. Yeah, there are things I’d change, but those aren’t this kind of issue. It’s the utilities and applications built on top of them that are the problem. The GNU utilities don’t even pay lip service to “do one thing well”. They add features willy-nilly and duplicate functionality between each other sort of at random. Naturally, the stuff built on top of them carries this on, and it gets worse. If I could have found a distribution using the BSD userland on top of a Linx kernel, I’d have tried that. But it doesn’t seem to exist…

It amazes me why no one here really seems to “get it” about why Linux is being systematically degraded with excessive complexity needlessly being built into its designs, with chaotic methods now replacing predictable methods, by changing designs to supposedly fix things that were never broken, by adding adding false requirements for new features under the guise that they are needed to protect the user’s security,.. and on and on and on it goes. This is happening now because information technology, computer companies, and government have taken over the control of Linux.
They use it for their needs and do not care at all about the needs of
userland. The more proprietary, rapidly evolving, and undocumented software they can get into the Linux bundle.. the more control and profits they receive in return. The more complex the software it, the easier it is to hide hacks for spying on the users, etc. It is really simple, just follow the money and soon you will “get it”.

I started using Linux in 1993. I wrote multiple Linux books, thousands of online articles about Linux, transitioned multiple organizations to Linux and helped many personal acquaintances to switch in the late ’90s and early ’00s.

By the mid-late 2000s, however, I was having the same experiences that you describe having. Things were probably breaking at the same rate as ever, but now repairing the breakages was requiring more and more time, investment, and learning.

In the late ’00s I went back to grad school to do a Ph.D. And there came a day in 2009 when I had run the package updates on my own personal work machine in hopes of solving a couple minor problems and of course it broke boot, and then once I had fixed boot I realized it had broken some other things. I needed to triage and fix X, suspend/resume, and a few hardware drivers for user-facing accessories. I forget which ones. I further realized that yet again, file locations, formats, security models, and other infrastructure had “evolved” enough that I needed to pull out my “backup” laptop to be able to run a web browser and Google for details, since manual pages were nonexistent or out of date for some of these things.

And it wasn’t a major version update; just the regular round of package updates from the default Fedora repo, on a fairly uninvolved personal computer.

About four hours into things and very frustrated because I was spending a day on getting my desktop environment back (not configuring it to my liking, but just getting it to work once again) rather than on my dissertation. And I suddenly realized that I was doing this on a 3-6 month cycle, regularly these days. And that I was maintaining an entirely separate, second laptop so that when updates did “break everything” I had the ability to Google from home to be able to track down what had changed and fix things on my main machine. It seemed like madness. I had a dissertation to finish.

My first thought was that I needed to switch distros once again, something that I’d done a couple times over the previous fifteen years running Linux. And I prepared for about an hour for the idea of downloading several other distros and trying them all out, and the prospect of an entire weekend of experimentation, followed by selection, and then configuration of my choice, and then data restoration, and then…

it suddenly struck me that for me, an investment in Linux as a daily computing environment and in Linux knowledge as an asset was not a good investment any longer. I needed to be working on my Ph.D. To my shock, I consciously saw that for the first time, after being a Linux evangelist, coder, and professional almost from the very beginning and for the entirety of my working adult life, Linux was not helping me to do the work I needed to do. In fact, it had become an obstacle.

I quickly discounted Windows as an alternative, as I had years and years of shell scripts and data in formats that really needed a *nix environment for an easy transition. With half a day left, I quickly hit the local Best Buy, got a blank HD to play with, got ahold of a “hackintosh” distro, and actually got an environment up and running on my laptop within an hour or so. It was actually easier than installing an average Linux distribution to get to OS boot, and about 1000% easier from there to “fully working and nice desktop environment.”

Within days I was in Mac OS 95% of the time. Within months I’d bought a MacBook Pro.

My environment these days is OS X + MacPorts with a lot of the old “Linux world” resources installed that way. I even understand that there are probably better alternatives (“Homebrew?”) but MacPorts works, I keep it updated, and it has never broken the environment. Even major OS updates are blissfully easy. I rarely have to resort to CLI OS configuration and even in the few cases where I do (maybe once a year?) it’s on the order of a single command entered as root that’s readily found on Google. I can’t remember the last time I had to edit the equivalent of a dotfile or an /etc file. I buy off-the-shelf accessories (printers, scanners, etc.) and don’t even think about compatibility. I plug it in and go. Usually I don’t even need to install any software to make it work—it really does “just work” about 90% of the time. When it doesn’t, I don’t spend time on it, I just return what I bought and buy the competitor instead and that one will “just work”. I have had a 100% success rate with this, and the amount of time to hop back to retail and do an exchange (say, 20-25 minutes) is far less than the time I used to spend getting things to work in Linux.

I finished my Ph.D. as a Mac user. I’ve been MacOS only since that fateful day in 2009, now going on 9 years. I’m not actually a Mac evangelist, which is probably the biggest compliment possible to Apple; I forget about Mac OS as a factor in my life entirely. It’s just not something I even pay attention to. That never happened with Linux.

I think there’s a cultural problem in the FOSS world that will be tough to resolve. It’s utopian. Linus included. There is an emphasis on doing things the “right way” rather than in a “resilient way.” The idea seems to be that if you need resilience, you haven’t done it “right.” Once you get it “right from the start,” there will be no need for anything else.

So there are frequent redesigns under the “this time we’re doing it the right way” banner. This breaks API/ABI/environment all the time. Everything is re-implemented from the ground up on an ongoing basis, with major reimplementations hitting the repos on a fairly frequent cycle—or worse, appearing piecemeal in the repos on a weekly basis, creating a running “breaking things” series of events.

They have not yet learned that in fact there is no universal “right way”—it’s tradeoffs all the way down, and they’re not technical, they’re social—mutually exclusive things are ideal for different users and use cases, and you can’t serve them all. You have to grit your teeth, choose, and serve the ones that you decide to serve well, then tweak and support the imperfect indefinitely, without starting any revolutions (as opposed to launching a revolution once a month).

Maintainability is far more important than universality or technical perfection. But FOSS coders, who have always been largely utopian in their outlook, continue to chase the latter two, at the expense of the first.

When computing was a much smaller universe, the costs of this choice weren’t as evident. But now the amount of infrastructure and ecosystem that need to be present for a “complete set of everyday computing resources” have multiplied as the use cases for computing in everyday life have multiplied—and the costs of poor practical maintainability for users are evident.

But the culture still has not changed.

Every couple of years I quickly install the latest Ubuntu or the latest Fedora in a VM, just to see how things are. I think *once* I’ve managed to actually install as far as a desktop that worked. I limit myself to about an hour on a weekend to experiment and see—and most of the time, that doesn’t get me through the host of problems that emerge during install or basic configuration.

So every time I have that “I wonder how Linux is doing, and whether it’s worth it to switch back” feeling, which is a remnant of all those years spent with and evanglizing for Linux, it is quickly answered with “about the same as ever, plus about 25% worse since the last time I looked. Nope, not even close to being worth considering.”

I’m old enough and experienced enough now with people and organizations and life in general to realize that given the founding ethos, assumptions, and culture of FOSS, this is unlikely to ever change.