No pun intended?
Usually if you don't like a piece of software, you just don't use it. And this is the core of the problem: If I got the critics correctly the problem has more to do with the way this has been "forced" onto the community. Most criticism on the substance has been just bias colored by this aspect or people being like "I was used to the old system, now I need to learn something new".
The latter is of course a totally valid point. If you want people to change their habits, you need to give them a clear reason why and — more important — they need to want to change that habit themselves.
The same greybeard friend of mine who still complains on systemd happily adopted pipewire. Why? Because he saw a clear benefit in doing so and nobody forced this onto him.
Critica might argue Pöttering now going to Microsoft is proof that he always has been the devil, I'd argue it is proof that a certain kind of culture can drive people out of open source. I could imagine a different kind of universe in which the communications between the systemd devs and the rest of the community had been different and we would not only have gotten a better systemd, but maybe also a Pöttering who would not go to MS.
The saddest thing about the whole affair is that it has a stifeling effect on new devs. Who would dare to write another systemd after that? Certainly not me.
Funny thing is they have bitten by the bugs they claimed they're immune to, so they had to apply these principles like they're first adopters of these.
I've voiced my criticisms over the years, yet I still use systemd. I don't like it, but I don't hate it either.
I want to share them, but, It'll be long, so I'll just leave links to my own comments:
1- https://news.ycombinator.com/item?id=27651567 - A general criticism comment.
2- https://news.ycombinator.com/item?id=25616356 - A general criticism thread.
3- https://news.ycombinator.com/item?id=29672248 - About bugs in systemd.
At the end of the day, if a critical component of an OS is being replaced, people at least want their concerns addressed. Want to have some conversation. Being yelled at literally and proverbially as forcing adoption of said software is bound to create some backlash.
*Edit:* Initial text contained in this reply misunderstood the parent. Corrected, clarified, softened and re-written. Sorry about that.
There are some massive quality of life improvements, but then there a few rough edges and papercuts and rather than address them, the conversation gets shut down.
I still use OpenRC + ALSA (with apulse for those programs that shit on backwards compatibility) and I too am looking at PipeWire. Beyond the not being forced aspect and actually adding something that is useful (to me), PipeWire also seems to take much more care about working with existing programs/interfaces rather then wanting to get them on the shiny new API.
Me! I want systemd capabilities in a small package. I also want it to not take over my machine like systemd did. I want to be able to compose individual daemons, not have the init subsume them.
I do like the idea of supervision systems, though, and I am glad systemd popularized (not invented) them. So since the alternatives are quite...user unfriendly (s6), I'm making my own.
It's called Ur (universal runner, also after the ancient city of Ur), and I'm building the dependency management for it, which will also go into a build system.
So why wasn't this affair stifling to me? It's because I see why people got angry: Poettering used politics to limit user choice. User choice has been a theme of Linux use for decades, and people were not happy about it. I'm not going to limit user choice, so I'm not worried about angering people in that way. I'm also not going to advertise and push Ur like systemd was. I'm going to advertise my build system, and Ur will be bundled with it, and I will help people use Ur, but I'm not going to push Ur because an init and supervision system is just too central to Linux machines to push it on people.
Actually, the dichotomy between build systems and init systems is a good example. If a distro choose a build system to base their package manager off of, and you are on that distro when they make the change, their choice does not affect your use of another build system, unless your build system does not come installed by default, in which case, you install it and then continue as normal.
But if your distro changes the init, you're in for a long period of relearning and retooling everything.
I think Poettering pushed systemd through politics because he wanted to have a popular piece of software, and that's only the real way to do it because distros adopt init systems, not users. I don't blame him for wanting a popular piece of software; I do too. That's why I have another piece of software to advertise, just so I don't have to advertise the init.
So why make it? Because I want it, and I'm on Gentoo, so I have the skills to switch out the current init (OpenRC). It's for me alone, and maybe for people who like it.
Poettering already had created PulseAudio and Avahi which were used in every major distro for years before even starting systemd. Even discounting that, politics had nothing to do with system's adoption. Rather systemd was adopted because it was technically superior to any contemporary alternative.
> But if your distro changes the init, you're in for a long period of relearning and retooling everything.
Depends on your distro's tooling and focus. At some point in the past, NixOS actually did switch away from OpenRC (IIRC) to systemd, supposedly without all that much fuss for end users.
On the other hand, migrating away from using Nix for builds would be a huge, huge deal and a big controversy to NixOS users.
You will not have this without changing the kernel itself, /sbin/init needs to run as the root process of all other processes on the machine. By design, any implementation has to "take over the machine" in some sense.
>I want to be able to compose individual daemons, not have the init subsume them.
I don't understand why anyone says this, they are individual daemons in systemd. If you are talking about just the init itself, there is no benefit to splitting that into individual daemons. The most complex part is the probably the code in between fork() and exec() that spawns services, this has to be done in all the same place, because this is the part that is actually going to be setting up the rest of the daemons. Also it is complex to write because it has to be async-signal-safe. Everything else is just configuration around that part.
>Poettering used politics to limit user choice.
This is a really nonsense statement. He didn't limit anything or use politics, you can just not use his programs. It's incredibly easy to do that in fact. The "user choice" you have is the same as it always was, it's exactly what allows you to develop your own init or use Gentoo. If you ask me, most of the drama (with both systemd and pulseaudio) was because of botched distro rollouts, not politics.
>I'm also not going to advertise and push Ur like systemd was. I'm going to advertise my build system, and Ur will be bundled with it, and I will help people use Ur, but I'm not going to push Ur because an init and supervision system is just too central to Linux machines to push it on people.
I don't know what it is about engineers that makes them reluctant to promote their own work. I see this so often. If you work is good, please advertise and promote it. Please encourage people to use it. This is a forum about start-ups, that's what you do here. Users deserve to have good solutions and they deserve to have those promoted far and wide if it can help a lot of people. Don't worry about the comments from the peanut gallery. If you are confident that your work is good and useful, you can ignore the haters. Your users will know that it's doing something good for them and that's all that matters. It does not matter that anything is "central to a Linux machine" or not, good products are good for whatever place they fit in.
Don't take this to mean you should promote bad and unproven work, your seed users should be able to tell you what's good and what isn't.
>But if your distro changes the init, you're in for a long period of relearning and retooling everything.
No, this isn't true. You could just make the init backwards compatible, which systemd actually is with sysvinit scripts. Actually, to prevent any amount of friction you can make yours backwards compatible with systemd.
Pipewire is not from Poettering. He did Pulseaudio, which is so terrible it inspired the folks to write Pipewire to replace it.
*I actually don't care strongly about systemd one way or the other but couldn't resist the joke
However, Pipewire just worked without any problems and smoothly the day it landed.
Thank FNORD for Pipewire, meanwhile.
Just kidding, I hope everything goes well for him and I've really enjoyed following his work and reading his blog throughout the years.
poettering's work attracted a disproportionate share of criticism, and moving to microsoft is not exactly a helpful move to quell that criticism. on the contrary, it will only get worse.
since he continues to work on systemd, critics will now start to decry systemd as being a microsoft product, or at least strongly influenced by microsoft. so this move is likely to strengthen the anti systemd camp. we'll see what comes from that.
I've written them in the past, so I'll not re-iterate these walls of text, but all in all, systemd had to learn some things over and over just because it disregarded people's warnings about the problems some of these design patterns create.
Being a little agreeable and open to discourse is not a bad thing.
All in all, systemd makes different trade-offs w.r.t. design, and is not radically fast when compared to what's coming before that. Capability wise it made some things easier (not possible), and some things way more harder.
It's just another iteration. Hope he doesn't pulls another "De Icaza", and all goes well for him.
OTOH, I can't trust neither him, nor Microsoft, because I look actions rather than words.
Let's see.
i expect the response would not have been much different really, so the only difference is that the response happens several months after the move, which now makes it a fait accompli.
trying to put myself into poetterings shoes the difference to me would mean that, if questioned, i could talk more confidently about why i made the move, pointing at how it affected my work, instead of speculating about it. it would also give me time to acclimate myself to the new situation.
so keeping the move quiet simply makes it easier to deal with any negative responses.
>At first I thought they were jokes or just snarky remarks, but after a day of following up with folks, it actually turns out not to be a joke.
So who's to say he didn't? Twitter seems just to be where he first heard it
I for one really like PowerShell, if it could consume bash completions I would switch to using it as my $SHELL. Right now I'm leaning to switch from ZSH to Xonsh (Python).
Reason for liking PowerShell: C# compability, OOP, semi-sane syntax.
You can do type definitions, serde multiple formats into native structures.
I don’t use many tools outside cmdlets or pwsh built-ins, but have you turned on history completions and menu complete? I find that I don’t need completions for external commands since history complete will just remember what I did last time.
On top of that, surveillance capitalism is winning over the free software / open source developers as companies like Microsoft are buying out / hiring the majority of them.
The free-software activists from the FSF and other free-software supporters have lost to the tech bros at these big tech companies that have hijacked 'open-source' and ran with it.
They have failed in their mission to stop all this closed-source software from spreading. It looks like it is here to stay; especially with the help of former free software developers.
I guess if you can’t beat them, join them.
One thing I will caution those who do take the offer, the company will use you until you are no longer necessary and then throw you out (extinguish)
It might also be worth mentioning that Poettering was an employee at Red Hat, working on these open source projects, so I'd assume he was being paid more than 50 dollars a month for his work.
Humanity could be sat around eating fruit and making art, instead we have mortgages and credit scores, because the venal systems corrupt and extortionate the progressive ones.
Eventually food on the table is needed and there is a family to feed and mortgage to pay, and working for the man isn't that bad as one once thought.
I mean, almost all prominent tech companies had those people at one stage or another. Nothing forbade them from listening to the Beatles in their Buicks or counting fat stacks to the sounds of Yellow Submarine.
It is the cold, brutal truth that is happening right now in the free software / open source ecosystem. Totally accurate.
> this is an instance of Microsoft paying an open source developer to maintain open source.
You might as well put binary blobs in a GitHub repo and call it 'open-source' or / and have telemetry baked in stealing our usage data since the term 'open-source' not only misses the point, but it is quite frankly meaningless at this point.
But we all knew that the tech-bros have hijacked the point of open-source whilst the free software movement have failed to stop all of it.
"They have failed in their mission to stop all this closed-source software from spreading." except that was never the mission, the mission was to provide an alternative to complex licensing as well as simplify the improvement and development of things "everyone needs" both law-wise and code-wise.
The only mission that could be considered to be "failed" (depending on who you ask) is licensing.
[1] https://en.wikipedia.org/wiki/Halloween_documents
[2] https://www.gnu.org/software/fsfe/projects/ms-vs-eu/hallowee...
Myself, I always despised the company because of the complete shit quality of their software, starting with DOS. That was a pile of crap from day 1, and while much has changed since then, you can still see the complete disregard for quality in so much of what they do.
It's not that they want to do bad software, it's just they don't have any short-term profit on doing so.
^: or raise children, make art, tend to community organizations, and any number of other socially beneficial activities for which a profit motive would be irrelevant or detrimental
Seriously, init systems like OpenRC do one thing and do it well. Where have I heard that before?
- systemd gives the use a unified API for working with services. The journal etc. - Nix gives the programmer a nice way to define systemd units.
If you hate systemd due to normal Linux..NixOS might change your mind.