{"slug": "sel4", "name": "seL4", "category": "os", "category_name": "Operating systems and desktop", "description": "", "recommenders": 3, "commenters": 4, "warners": 1, "score": 1.792, "rising": 0.35, "first": "2025-12-10", "latest": "2026-10-21", "why": "I have had a bit of a dream of building a full desktop operating system around seL4 [1]", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 0, "warn": 1}, "spark": [0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "I have had a bit of a dream of building a full desktop operating system around seL4 [1]", "icon": true, "domain": null, "github_repo": "github.com/sel4/sel4", "official_url": "https://sel4.systems", "pricing": "", "aliases": ["seL4"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 802994656, "item_id": 50187166, "url": "https://news.ycombinator.com/item?id=50187166", "by": "clifflocked", "date": "2026-10-21", "stance": "recommend", "quote": "see the seL4 project, which provides machine-checked proofs for an OS kernel", "excerpt": "> Considering that it's been 54 years, and we've yet to find any human being, any at all[1], who can write C without UB Undefined behavior does not mean that a language is useless. C is quite nice to write as an abstraction over assembly, and I highly recommend writing C code and thinking about (and checking) what assembly it compiles into. Also, it is possible to verify that the types of UB that you are referring to", "context": "", "use_case": "verified OS kernel", "switched_from": "", "story": "Rust Style Guide"}, {"id": 771022560, "item_id": 48188910, "url": "https://news.ycombinator.com/item?id=48188910", "by": "deterministic", "date": "2026-05-18", "stance": "recommend", "quote": "I highly recommend studying SeL4.", "excerpt": "If you are interested in this I highly recommend studying SeL4. A practical industrial proven correct micro kernel used by billions of devices worldwide.", "context": "", "use_case": "secure microkernel", "switched_from": "", "story": "The foundations of a provably secure operating system (PSOS) (1979) [pdf]"}, {"id": 739654736, "item_id": 46228421, "url": "https://news.ycombinator.com/item?id=46228421", "by": "tombert", "date": "2025-12-10", "stance": "recommend", "quote": "I have had a bit of a dream of building a full desktop operating system around seL4 [1]", "excerpt": "I love blog posts like this. You're not wrong in saying that the kernel is sort of this magical block box to most engineers (including me). I know how to use systemd and I know how to use bash and I know a few other things, but the kernel has always been \"the kernel\", and it's something I've never really tried to mess with. But you're right: ulimately the kernel is just a program. Yes, it's a big and important progra", "context": "", "use_case": "basis for a desktop OS", "switched_from": "", "story": "Booting Linux in QEMU and Writing PID 1 in Go to Illustrate Kernel as Program"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 776450528, "item_id": 48528158, "url": "https://news.ycombinator.com/item?id=48528158", "by": "xvilka", "date": "2026-06-14", "stance": "warn", "quote": "seL4 despite being formally verified contained gnarly bugs", "excerpt": "seL4 despite being formally verified contained gnarly bugs, like [1]. Thus, it's not a silver bullet as some people think. Yes, it improves the quality, but only one of the aspects of hardening software, like ASAN, SAST, fuzzing, strict languages, and so on. [1] https://github.com/seL4/seL4/issues/1199", "context": "", "use_case": "", "switched_from": "", "story": "Formal Methods and the Future of Programming"}]}], "who": [], "tags": [], "use_cases": ["verified os kernel", "secure microkernel", "basis for a desktop os"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50186010", "title": "Rust Style Guide", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48526633", "title": "Formal Methods and the Future of Programming", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48177300", "title": "The foundations of a provably secure operating system (PSOS) (1979) [pdf]", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46147987", "title": "Booting Linux in QEMU and Writing PID 1 in Go to Illustrate Kernel as Program", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"recommend": 1}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"recommend": 1}, "2026-06": {"warn": 1}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 802994656, "item_id": 50187166, "url": "https://news.ycombinator.com/item?id=50187166", "by": "clifflocked", "date": "2026-10-21", "stance": "recommend", "quote": "see the seL4 project, which provides machine-checked proofs for an OS kernel", "excerpt": "> Considering that it's been 54 years, and we've yet to find any human being, any at all[1], who can write C without UB Undefined behavior does not mean that a language is useless. C is quite nice to write as an abstraction over assembly, and I highly recommend writing C code and thinking about (and checking) what assembly it compiles into. Also, it is possible to verify that the types of UB that you are referring to", "context": "", "use_case": "verified OS kernel", "switched_from": "", "story": "Rust Style Guide"}, {"id": 776450528, "item_id": 48528158, "url": "https://news.ycombinator.com/item?id=48528158", "by": "xvilka", "date": "2026-06-14", "stance": "warn", "quote": "seL4 despite being formally verified contained gnarly bugs", "excerpt": "seL4 despite being formally verified contained gnarly bugs, like [1]. Thus, it's not a silver bullet as some people think. Yes, it improves the quality, but only one of the aspects of hardening software, like ASAN, SAST, fuzzing, strict languages, and so on. [1] https://github.com/seL4/seL4/issues/1199", "context": "", "use_case": "", "switched_from": "", "story": "Formal Methods and the Future of Programming"}, {"id": 771022560, "item_id": 48188910, "url": "https://news.ycombinator.com/item?id=48188910", "by": "deterministic", "date": "2026-05-18", "stance": "recommend", "quote": "I highly recommend studying SeL4.", "excerpt": "If you are interested in this I highly recommend studying SeL4. A practical industrial proven correct micro kernel used by billions of devices worldwide.", "context": "", "use_case": "secure microkernel", "switched_from": "", "story": "The foundations of a provably secure operating system (PSOS) (1979) [pdf]"}, {"id": 739654736, "item_id": 46228421, "url": "https://news.ycombinator.com/item?id=46228421", "by": "tombert", "date": "2025-12-10", "stance": "recommend", "quote": "I have had a bit of a dream of building a full desktop operating system around seL4 [1]", "excerpt": "I love blog posts like this. You're not wrong in saying that the kernel is sort of this magical block box to most engineers (including me). I know how to use systemd and I know how to use bash and I know a few other things, but the kernel has always been \"the kernel\", and it's something I've never really tried to mess with. But you're right: ulimately the kernel is just a program. Yes, it's a big and important progra", "context": "", "use_case": "basis for a desktop OS", "switched_from": "", "story": "Booting Linux in QEMU and Writing PID 1 in Go to Illustrate Kernel as Program"}]}