• 0 Posts
  • 46 Comments
Joined 1 year ago
cake
Cake day: August 20th, 2023

help-circle





  • Parts of it are. The kernel is derived from a Mach microkernel (an experimental kernel in the 80s, which was theoretically supposed to allow different OS personalities to coexist in the same system, sharing resources; macOS’ Darwin/XNU kernel doesn’t implement this capability in full, but you do get the Mach Ports interprocess communication mechanism, and a BSD UNIX personality permanently attached).






  • Both of these services appear to be dependent on BlueSky. I.e., if BlueSky ceased existing, or cut them off from its API, they’d die. In that way, they’re not that different from “Log in with Facebook” or similar.

    One could theoretically make one’s own independent AT Protocol network, but not in a way that interoperates with BlueSky as a peer. You’re either a subsidiary part of its network or you don’t exist as far as it’s concerned, which is a much poorer value proposition than ActivityPub and related protocols.




  • There’s a Pareto effect when it comes to them, in that you can cover a large proportion of use cases with a small amount of work, but the more special cases consume proportionately more effort. For a MVP, you could restrict support to standard USB and SATA devices, and get a device you can run headless, tethered to the network through a USB Ethernet adapter. For desktop support, you’d need to add video display support, and support for the wired/wireless networking capabilities of common chipsets would be useful. And assuming that you’re aiming only for current hardware (i.e. Intel/AMD boards and ARM/RISC-V SOCs), there are a lot of legacy drivers in Linux that you don’t need to bring along, from floppy drives to the framebuffers of old UNIX workstations. (I mean, if a hobbyist wants to get the kernel running on their vintage Sun SPARCstation, they can do so, but it won’t be a mainstream feature. A new Linux-compatible kernel can leave a lot of legacy devices behind and still be useful.)


  • Drew DeVault recently wrote a simple but functional UNIX kernel in a new systems programming language named Hare in about a month, which suggests that doing something similar in Rust would be equally feasible. One or two motivated individuals could get something up which is semi-useful (runs on a common x86 PC, has a console, a filesystem, functional if not necessarily high-performance scheduling and enough of the POSIX API to compile userspace programs for), upon which, what remained would be a lot of finishing work (device drivers, networking, and such), though not all of it necessary for all users. Doing this and keeping the goal of making it a drop-in replacement for the Linux kernel (as in, you can have both and select the one you boot into in your GRUB menu; eventually the new one will do enough well enough to replace Linux) sounds entirely feasible, and a new kernel codebase, implemented in a more structured, safer language sounds like it could deliver a good value proposition over the incumbent.