By Anil Madhavapeddy - 2013-12-09
First: read the overview and technical background behind the project.
When we started hacking on MirageOS back in 2009, it started off looking like a
conventional OS, except written in OCaml. The monolithic
repository contained all the
libraries and boot code, and exposed a big OS
module for applications to use.
We used this to do several fun tutorials at conferences
such as ICFP/CUFP and get early feedback.
As development continued though, we started to understand what it is we were building: a "library operating system". As the number of libraries grew, putting everything into one repository just wasn't scaling, and it made it hard to work with third-party code. We spent some time developing tools to make Mirage fit into the broader OCaml ecosystem.
Three key things have emerged from this effort:
With these components, I'm excited to announce that MirageOS 1.0 is finally ready to see the light of day! Since it consists of so many libraries, we've decided not to have a "big bang" release where we dump fifty complex libraries on the open-source community. Instead, we're going to spend the month of December writing a series of blog posts that explain how the core components work, leading up to several use cases:
Bear with us while we update all the documentation and start the blog posts off today (the final libraries for the 1.0 release are all being merged into OPAM while I write this, and the usually excellent Travis continuous integration system is down due to a bug on their side). I'll edit this post to contain links to the future posts as they happen.
Since we're now also a proud Xen and Linux Foundation incubator project, our mailing
list is shifting to mirageos-devel@lists.xenproject.org, and we very much
welcome comments and feedback on our efforts over there.
The #mirage
channel on FreeNode IRC is also growing increasingly popular, as
is simply reporting issues on the main Mirage GitHub repository.
Several people have also commented that they want to learn OCaml properly to start using Mirage. I've just co-published an O'Reilly book called Real World OCaml that's available for free online and also as hardcopy/ebook. Our Cambridge colleague John Whittington has also written an excellent introductory text, and you can generally find more resources online. Feel free to ask beginner OCaml questions on our mailing lists and we'll help as best we can!