Live data from Hacker News

Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

mhatta.medium.com

191–200 of 273 posts

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#191
post #45

An idea from the 'Crossing the Chasm' book is to find a niche where whatever characteristics of the product you're working on can win. You are not going to win going head to head with the entrenched competitors. What does that look like for Hurd?

I don’t know enough about Hurd to say, but as an example MINUX found its niche as the control software for Intel’s management system. As a result MINUX is/was more widely deployed than Linux for a few years. Still might be.

Just for clarification, you mean MINIX. Fun fact, even Andrew Tanenbaum only learned about this through news coverage:

https://www.cs.vu.nl/~ast/intel/

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#192
post #169

Weird that a lack of systemd was called out as a problem. Your pid1 can be any of a myriad of tools, systemd is just the (current) dominator. Only a few years ago I was working on RHEL machines without any systemd to speak of.

Agree, systemd is not the last word in init systems.

There are use-cases where linux/whatever is used to run a single system across a cluster of hosts. For this, you need a scheduler to dispatch across a set of machines.

There is room to debate whether init should happen at the system level (driven by OS tooling), or at the application level (not driven by OS tooling).

Systemd is bound by single-host assumptions. Hence, systemd is either inadequate (OS tooling) or else too complicated (application driven).

If you wanted to do something in the spirit of systemd (OS tooling), but which was suitable for clusters, the scheduling function would live as a consensus across a grid of hosts. Hosts would have a simple init that joined that consensus at boot and which acted as an agent for the init consensus.

This would scale down to all the use-cases systemd currently covers - you could have a consensus of one.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#193
post #45

An idea from the 'Crossing the Chasm' book is to find a niche where whatever characteristics of the product you're working on can win. You are not going to win going head to head with the entrenched competitors. What does that look like for Hurd?

That's the wrong framing for Hurd. Hurd isn't a "product" that's trying to "win" by beating competitors.

It's a project that's being built by and for people that care about it.

You might as well ask "How can my local pick-up basketball team find a niche to make money, like NBA players do? Can we all wear more colorful jerseys so TV stations cover us?" No, that's silly, the point of the pick-up basketball team isn't to make money, it isn't to beat a competitor, like the NBA, for sports coverage, it's to hang out with friends and have fun.

That's what many free software projects are like. And if enough people come to hang out and have fun, it might organically become bigger and better, but if you start making it the point of it, it ruins it. If you tell the pick-up basketball people "No, you can't join, you're not photogenic enough", you won't have friends soon. If you start telling hurd developers "We need to take on MS, stop working on that thing you care about, no one else cares about it", the project will die.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#194
post #45

An idea from the 'Crossing the Chasm' book is to find a niche where whatever characteristics of the product you're working on can win. You are not going to win going head to head with the entrenched competitors. What does that look like for Hurd?

I don’t know enough about Hurd to say, but as an example MINUX found its niche as the control software for Intel’s management system. As a result MINUX is/was more widely deployed than Linux for a few years. Still might be.

I don't know why this comment got downvoted? Purely on spelling?

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#195
post #65
post #64

Earlier quoted context omitted.

>You are not going to win going head to head with the entrenched competitors. Linux, (not big and professional like gnu), is not going to win but could find a niche somewhere. Hm, ok.

Yep, it found a "niche": people could actually hack on it and get it to do stuff, rather than waiting around for the other thing, which wasn't even really a thing yet anyway. Linux has a large, large established user base at this point. If you want to attract people to a different platform, you need a compelling reason. For people just looking to look/experiment/learn/play, 'something new' that's more easily understo…

Going off base, as this is about Hurd vs GNU/Linux.

On the IoT space it seems like not everyone is keen in having to deal with GPL and Linux, hence the myriad of FOSS MIT/Apache licensed OSSes that now exist.

Zephyr, NuttX, Mbed, Amazon RTOS, Redox, Tock...

And then there still the commercial alternatives.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#196
post #8

Earlier quoted context omitted.

I agree, it's odd. I don't have anything recent, but back in 2004, the majority of the Linux kernel code was in its drivers: https://dwheeler.com/essays/linux-kernel-cost.html I expect that most of the current Linux kernel code is also for handling hardware (that is, drivers + the code to handle various architectures).

Could one not make the case that maybe device driver support doesn't belong in the kernel itself?

Yes, that is how it works in most sane operating systems, even more so nowadays where writing userspace drivers is preferable to dynamically loadable modules.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#197

Earlier quoted context omitted.

It's a good thing that you warned them off, or they might've accidentally gone and done something interesting or enjoyable.

Yep, because everyone who is going to do something interesting or enjoyable starts with the question "should I use language X because it's cool?". Look, I'm as into cool FS-hacks as anyone, but writing a new filesystem has 99+ problems and the language used is either the last of them, or it isn't even in the set. Granted, you could (on Linux) write a little pseudo-filesystem (e.g. /proc or /sys) and not face any of t…

Writing a basic filesystem using FUSE is pretty simple, fun, and can occasionally be useful.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#198
post #95
post #88

Earlier quoted context omitted.

Do we have more hardware isolation? There was a pretty strong argument against microkernels - a driver running in userspace can still bork the whole machine if the hardware being controlled can write to memory at arbitrary addresses.

Yes, there's IOMMUs. On the other hand, datacenters have become so large that a 1% performance improvement can amount to millions of dollars in hardware and energy savings, so the extra cost of a microkernel might not be very welcome outside consumer devices.

Hardly of value with kubernetes everywhere running on top of type 1 hypervisors.

Microkernels have won, even if monolitich kernel advocates haven't yet got the message.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#199
post #45

An idea from the 'Crossing the Chasm' book is to find a niche where whatever characteristics of the product you're working on can win. You are not going to win going head to head with the entrenched competitors. What does that look like for Hurd?

That's the wrong framing for Hurd. Hurd isn't a "product" that's trying to "win" by beating competitors. It's a project that's being built by and for people that care about it. You might as well ask "How can my local pick-up basketball team find a niche to make money, like NBA players do? Can we all wear more colorful jerseys so TV stations cover us?" No, that's silly, the point of the pick-up basketball team isn't t…

> It's a project that's being built by and for people that care about it.

Okay, then tell us why we should care about it when more popular operating systems fit our needs better anyways.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#200
post #45

An idea from the 'Crossing the Chasm' book is to find a niche where whatever characteristics of the product you're working on can win. You are not going to win going head to head with the entrenched competitors. What does that look like for Hurd?

That's the wrong framing for Hurd. Hurd isn't a "product" that's trying to "win" by beating competitors. It's a project that's being built by and for people that care about it. You might as well ask "How can my local pick-up basketball team find a niche to make money, like NBA players do? Can we all wear more colorful jerseys so TV stations cover us?" No, that's silly, the point of the pick-up basketball team isn't t…

I mean, if the goal is "install a niche kernel for the sake of it", sure that's... a reason, but all the modern non-mainstream kernels (aka not Darwin or NT) at least have a purpose as to why you'd pick them.

* Linux is the de facto kernel used on most servers, has great support and is the third pick after the mainstream kernels for a good reason. It's also usually someone's first introduction to Unix-based systems these days, so there's loads and loads of documentation available (even if the quality of that documentation runs the gamut from "acceptable" to "who wrote this").

* BSDs are rock solid and a great pick if you're targeting reliability. Knowledge on a BSD changes little with the years and that's a big bonus.

* Plan9 is interesting because it provides a unique approach to system design by taking the "everything is a file" approach to its logical limit. That doesn't make the system itself the most useful in the world but it is an excellent system to study and borrow good ideas from.

The main reasons I can see to use Hurd are... ideological opposition to Linux and being a microkernel. While the latter has interesting implications, the usual GNU problem of "we don't try to support any hardware unless it ideologically conforms" really gets in the way of wanting to use it and that's definitely a broader GNU problem but it's a much larger for problem for something as crucial as a kernel.

Also not helping things is that to my understanding, Hurd kind of has a start-stop nature to its development - that is, the project is on life support unless someone starts dissing it, so it picks up back for a few months to show how it's totally alive. Very much more of a spite driven project these days than a legitimate option.

Post reply on HN