4 ms·
1. There is value in 'central control' several reasons; - the people required to work on it - in a timely fashion - in a coordinated fashion - the resources
by 23B1 2y ago
1. There is value in 'central control' several reasons;
- the people required to work on it
- in a timely fashion
- in a coordinated fashion
- the resources required
- bugs, updates, maintenance
2. The competition for aforementioned talent
3. The competition for aforementioned resources
4. Profit motive
- sdwr 2y agoHad to scroll a long way to find this, I suspect this is far more important than any technical issue. Having an "owner" is a strong incentive/coordination point to get stuff done. You need the right owner, but the 95% of projects that don't get it right, we don't hear about. We hear all the time about how code structure mirrors org structure. A distributed project encourages fiefdoms, a centralized one asks for a taskmaster with final say.
- anyfoo 2y agoAnd what prevents a microkernel from having the exact same owners as a monolithic kernel, working on the exact same things? This isn't web development, where "microservices" came up as a way to distribute complex software across stakeholders. There are very hard purely technical reasons for (or against!) microkernels, and the majority of microkernels (if not all) are still released and distributed in a "monolithic" model, i.e. an update distributes all components of it (modulo delta updates, which is also just a technicality).
- 23B1 2y ago> And what prevents a microkernel from having the exact same owners as a monolithic kernel, working on the exact same things? Nothing inherent to the software is preventing anything. You could be right about the technical justifications. But OP's question wasn't "which is better?" it was "why?"
- anyfoo 2y agoI am addressing the “why” that you both claim. The person I replied to said, I quote: > A distributed project encourages fiefdoms, a centralized one asks for a taskmaster with final say. What does the distinction between microkernel and monolithic kernel have to do with whether the project is “distributed”, or whether it is a “fiefdom”?
- 23B1 2y agoresources: time effort money buy-in morale credit pride
- anyfoo 2y agoNonsense. The same set of people working on a monolithic kernel could work on a microkernel instead. It’s a purely technical decision. What you say is akin to saying that you don’t want to divide the storage in your basement into multiple crates instead of one large one, because you somehow would need multiple people to manage and access each individual crate? My hunch is that you’re somehow applying micro services in web development, and their motivation for existing, to OS design. This used to be a site for great technical discussion.
- 23B1 2y ago> The same set of people working on a monolithic kernel could work on a microkernel instead If this is true why doesn't it happen more often? See my first comment; there's more to building software than just the spec - it's political. I don't like it either. > This used to be a site for great technical discussion. Technical discussion has no utility if its done in a vacuum. Maybe academia. But it's not reality.
- anyfoo 2y agoIt happens all the time? Who said it didn’t? I don’t understand your very premise: Why does a monolithic kernel imply “central control” when developing, and a microkernel not? How does one or the other change the “politics” of the kernel? Can you state what you think the difference between a monolithic and a microkernel actually is?
- 23B1 2y agoThe "politics" isn't a technical paradigm, it's a human one. I'm not arguing the merits of one over the other, I'm offering an answer to OP's question.
- anyfoo 2y agoAgain, what is the difference between a microkernel and a monolithic kernel, and why does it influence the politics of development? And, again, why does a monolithic kernel imply “central control” in development, over a microkernel?