Skip to content

Commit f4512d9

Browse files
authored
(data) Add robur success story (#2862)
* add robur success story * more prose, focused on the back story * update logo * addressing review comments
1 parent 5cdba2f commit f4512d9

File tree

5 files changed

+92
-0
lines changed

5 files changed

+92
-0
lines changed
371 KB
Loading
12.2 KB
Loading
10.4 KB
Loading
Lines changed: 52 additions & 0 deletions
Loading

data/success_stories/robur.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: Secure Internet Services with OCaml and MirageOS
3+
logo: success-stories/robur.png
4+
card_logo: success-stories/white/robur.png
5+
background: /success-stories/robur-bg.jpg
6+
theme: blue
7+
synopsis: "A worker-owned collective leverages OCaml and MirageOS to build secure, high-performance, and resource-efficient software solutions"
8+
url: https://robur.coop/
9+
priority: 7
10+
why_ocaml_reasons:
11+
- Static Typing with Strong Guarantees
12+
- High Performance
13+
- Modular Architecture
14+
- Predictability
15+
- Stable Ecosystem
16+
- Optimized Resource Usage
17+
---
18+
19+
## Challenge
20+
Hannes Mehnert's journey that led to the founding of Robur began with a passion for improving system infrastructure while fostering a collaborative, non-hierarchical work environment. Initially focused on formal verification during his PhD studies, he found the process to be tedious and impractical for large-scale impact. In his academic work, he encountered weakly typed languages often used for network stacks, which introduced significant inefficiencies. These languages required runtime checks to ensure safety, resulting in performance costs and errors that only surfaced during execution. Seeking an alternative, Hannes envisioned a better approach: building secure, high-performance systems within a collective that valued open collaboration and sustainable practices.
21+
22+
## Result
23+
In 2018, Hannes and a group of like-minded peers established Robur, a worker-owned collective committed to advancing MirageOS and creating impactful software solutions. The team quickly demonstrated their ability to deliver results. For instance, they developed a high-performance OpenVPN implementation, securing funding in 2019 and again in 2023 to optimize performance and finalize the protocol. Another achievement involved maintaining and extending the QubesOS Firewall, originally developed in 2015, to strengthen the security of isolated virtual machine environments.
24+
25+
Robur also contributed significantly to cryptographic tools and protocols, including Mirage-Crypto and a robust TLS stack. Beyond development, the team uses MirageOS unikernels to host essential services such as their own DNS and CalDav servers. This active use ensures the reliability of their work while directly contributing to the stability and maintenance of MirageOS. These successes reflect the power of their collective model, where [decisions about funding, projects, and partnerships are made collaboratively](https://blog.robur.coop/articles/finances.html), fostering a culture of shared responsibility.
26+
27+
## Why OCaml
28+
Robur selected OCaml as the backbone of their work due to its unique suitability for building secure and efficient systems. The language's static typing eliminates runtime errors, providing developers with confidence in the reliability of their code. OCaml’s garbage collector and allocation strategy offer predictable performance, enabling developers to intuitively understand how their code will behave under various workloads.
29+
30+
The modular design of OCaml integrates seamlessly with MirageOS, supporting the architecture required for building unikernels. Unlike other languages, such as Haskell, where lazy evaluation can complicate performance and resource predictability, OCaml provides the clarity and control needed for system-level programming. For Hannes, who had experience with languages like Haskell, Java, Scala, and Lisp, OCaml emerged as a practical, efficient choice for creating scalable and secure solutions.
31+
32+
## Solution
33+
Robur has successfully implemented OCaml-based solutions to address complex challenges in network and system infrastructure. Their work on cryptographic protocols, such as TLS and Mirage-Crypto, highlights OCaml’s ability to handle demanding computational tasks with both efficiency and security. These protocols form the backbone of secure communications for many applications.
34+
35+
Performance optimization tools, such as `statmemprof`, are integral to Robur’s workflow, enabling fine-tuned control over resource usage. By hosting services like DNS and CalDav on unikernels, Robur demonstrates the real-world applicability and reliability of their approach. Besides their work on MirageOS, Robur also contributes to the OCaml ecosystem, e.g. in terms of security (e.g. of opam), reproducible builds, and opam repository archiving.
36+
37+
## Lessons Learned
38+
One key lesson from Robur's success is the importance of starting with small, focused projects to explore OCaml’s advantages, such as type safety, modularity, and predictable performance. Collaboration is another critical factor; contributing to the ecosystem not only strengthens the tools available but also fosters a supportive community of developers.
39+
40+
While OCaml’s ecosystem is robust, there are challenges, including variability in package quality and limited adoption by some industries. Robur emphasizes the value of profiling tools like `statmemprof` for performance tuning and encourages more organizations to adopt OCaml, as broader usage will drive improvements in package quality and tooling.

0 commit comments

Comments
 (0)