oxidecomputer/hubris

A lightweight, memory-protected, message-passing kernel for deeply embedded systems.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 24 minutes ago
Added to GitGenius on September 19th, 2026
Created on April 2nd, 2020
Open Issues & Pull Requests: 350 (+0)
GitHub issues: Enabled
Number of forks: 239
Total Stargazers: 3,613 (+0)
Total Subscribers: 50 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.6 hours
Mean response time: 85.7 days
90th percentile: 199.0 days
Tracked items: 283

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Roughly one issue in three opened in the past year never receives a reply. 55% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "fault-management" is answered fastest, typically in under an hour, while "Triaged H2'26" waits about 8 weeks. 40% of tracked open issues have had no activity in three months. Only 42% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 181
New in 7 days: 3
Closed in 7 days: 2
Avg open age: 491 days
Stale 30+ days: 158
Stale 90+ days: 97

Recent activity

Opened in 7 days: 3
Closed in 7 days: 2
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • fault-management (37)
  • cosmo (35)
  • developer-experience (26)
  • service processor (26)
  • thermal 🚫🔥🚫 (25)
  • ⚠️ ereport (20)
  • Triaged H2'26 (19)
  • product (16)

Detailed Description

Hubris is a microcontroller operating environment designed for deeply embedded systems with reliability requirements.

Hubris addresses the challenge of building dependable firmware for embedded devices by providing a lightweight kernel built on memory protection and message passing. The system isolates tasks from one another through memory boundaries, preventing a fault in one component from cascading to others. Communication between tasks occurs through a message-passing interface, enforcing explicit data exchange rather than shared memory access. This architecture is implemented in Rust, leveraging the language's type system to catch entire classes of errors at compile time.

The project suits teams building safety-critical or high-reliability embedded systems where isolation and fault containment matter more than raw performance. Hubris works well for microcontroller-based applications where you can structure the system as independent, communicating tasks. The codebase is organized to support multiple hardware platforms through a modular structure: peripheral definitions live in the chips directory, drivers are separated into their own modules, and applications are built from reusable tasks and drivers. The repository includes comprehensive developer documentation and supports Linux and Windows as primary build platforms, with informal support for macOS and Illumos.

Development activity shows consistent engagement with the codebase. The project maintains an organized structure across multiple directories with clear separation of concerns between kernel components, drivers, applications, and supporting infrastructure. Pull requests are the standard mechanism for contributing changes, directed toward the master branch. The team has established specific build prerequisites and toolchain requirements, indicating active maintenance of the development environment. Documentation is kept current in the repository and rendered through GitHub Pages, suggesting ongoing attention to developer experience.