# Bootleg OS An experimental OS, ideally written in Moonshine ###### tags: `sketchdance` Bootleg is my idea for a tiny, personal operating system. It is inspired by: * [STEPS Toward the Reinvention of Programming](http://www.vpri.org/writings.php), i.e., the idea of an OS + core apps in < 30,000 lines of code * [xv6](https://pdos.csail.mit.edu/6.828/2019/xv6.html) A simple unix-like OS * [xv6, the good parts](/6eCvuYMSSuiOaSRLebjV2Q) * [A constructive look at TempleOS](http://www.codersnotes.com/notes/a-constructive-look-at-templeos/) * [TempleOS, the good parts](/aQIxqkd1Ro6eSa8TjIQcig) * [Plan 9 / 9Front](http://fqa.9front.org/fqa0.html#0.1.1.1) * [Mercury OS](https://scribe.rip/introducing-mercury-os-f4de45a04289) A designer re-thinks the OS * [Collapse OS](http://collapseos.org/) An utterly minimal OS to run on scavenged hardware * [Dusk OS](https://git.sr.ht/~vdupras/duskos) Collapse OS's bigger sibling In addition to wanting to have my own personal OS to work in, hopefully productively, I want to make sure that Moonshine can also compile and build system of this complexity "from the ground up" ## Rendering the OS obsolete Been talking with Azlen and some themes keep emerging: * Scopeware / Lifestreams * OpenDoc * OLE * A runtime that can eventually become the OS * Detaching how systems look/behave from what they do, allow both to be customized independently * A substrate like Box or DDOM so data is transparently shared among all my devices and also backed up / versioned * Keep it simple * Probably the web at first * Data loosely coupled with transforms as needed. Something like XML or JSON where additional data can be layered on without breaking. * Implement 80/20. A JPEG interpreter shouldn't need every edge case of the spec, but when it hits something unknown it can send that to a translator (a server that *does* know the edge cases) and get a simpler version back. * Never say that we're rendering the OS obsolete out loud