HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
btreut
a2
Modula-22016–2026
btreut / a2

a2

Active Oberon System (AOS), aka A2, and Bluebottle OS

5Distinct people
13Mentions
0Explicit recommenders
96GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Active Oberon System (AOS), aka A2, and Bluebottle OS

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year13 dated mentions

Observed mentions: 2016-03-19 20:38:14 UTC to 2026-08-09 18:33:56 UTC.

01232016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC303
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

13 sources
https://github.com/apache/arrow/tree/master/format Are your in-memory formatted structures. Even better, there are libraries in many languages for accessing them. As such you can consider the data almost as an ffi between languages. Metadata can also be attached to the arrow data. As far as the rest goes, A2/bluebottle defines that standard program unit similar to COM etc, ot has an object shell similar to Oberon or powershell, so looks to be pretty much what the author is looking for. Having said that, I'd prefer an OS with managed memory but no GC as per Composita. https://github.com/btreut/a2 http://www.composita.net/Composita.html
In Programmer's critique of missing structure of operating systems
Error handling is done the old style, you just test for error conditions and such. Generic programming and async are supported on the Active Oberon programming language in the Oberon family branch. Which also does support exception handling. Most recent version from Active Oberon http://cas.inf.ethz.ch/news/2 The A2 OS written in Active Oberon and respective documentation https://github.com/btreut/a2 Some A2 overview http://sage.com.ua/en.shtml?e1l0 While Modula-2 had co-routines and exceptions, Wirth has chosen a minimalist path with Oberon. Oberon-07 design goal has been to remove as many features as possible from original Oberon, while keeping a GC enabled systems programming language. Then you have the other path, taken by others at ETHZ, which extended Oberon into a more expressive language, namely Oberon-2, Component Pascal and Acti
Read the rest
ve Oberon. With Active Oberon being what is actually still used at ETHZ for teaching some OS classes and OS research subject.
In Compiler Construction by Niklaus Wirth [pdf]
Sure, You can read the Project Oberon 1992's book, sections 3.3 and 3.4 as starting point. http://www.ethoberon.ethz.ch/WirthPubl/ProjectOberon.pdf Then you can follow up with the 2003's edition. https://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.h... With a stop in the last pure Oberon iteration, Oberon System 3 Gadgets. http://www.ethoberon.ethz.ch/ethoberon/tutorial/ Oberon Companion describes gadgets and tools http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.472... The existing PDF book has a couple of rendering issues, but if you install BlueBottle, it has Oberon System 3 as demo application, with the original book in Oberon rich text format (not to mix with RTF). https://www.youtube.com/watch?v=t6NMJh0noDk&index=35&list=WL... Which by the way, also describes the Tools on its manual, A2 User Guide and Application Desc
Read the rest
In Native Oberon
As for the OS, I assembled some links here: https://liam-on-linux.livejournal.com/46523.html This is a good overview: http://ignorethecode.net/blog/2009/04/22/oberon/ Oberon, a tiny text-oriented OS, evolved into A2, a graphical OS with a zooming UI called Bluebottle. There's some info about A2/Bluebottle here: http://sage.com.ua/en.shtml?e1l0 Here is the OS on GitHub: https://github.com/btreut/a2 There are bare-metal versions for x86 -- I am running it on a Thinkpad X200 as well as under VirtualBox -- and also versions that run hosted on Windows, 32-bit and 64-bit Linux and Mac OS X.
In Oberon System Implemented on a Low-Cost FPGA Board (2015) [pdf]
In addition to that, here are some other examples. Go in Fuchsia, https://fuchsia.googlesource.com/third_party/netstack/ Oberon in Oberon (network stack but not TCP/IP though) https://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources... http://www.projectoberon.com/ Active Oberon in A2 - BlueBottle OS (TCP/IP stack) https://github.com/btreut/a2/blob/48dcfc1f1a6ed2bec110ca3af3... https://github.com/btreut/a2 Mesa at Xerox PARC (Courier RPC, XNX) http://www.bitsavers.org/pdf/xerox/mesa/3.0_1977/listing/ Sing# on Singularity https://archive.codeplex.com/?p=singularity Start at sourceCode\sourceCode\base\Libraries\System.Net\Sockets
In Let's code a TCP/IP stack, 1: Ethernet & ARP (2016)
It's been done in the past. OS's come to dominate mostly for marketing rather than technical reasons. Much like startups. Integration with legacy systems and rapid development increase chance they'll get uptake. The existing stuff is mostly C, C++, etc. So, the new stuff that dominates tends to reuse that. Redoing it all in a safe language will be a lot of work. That's why high-assurance security has focused on redoing the smallest, most-trusted parts of the stack or working on transformations of legacy code like Softbound+CETS or CHERI CPU that address root problems. Although I doubt we'll see a big one, there's already smaller projects that do useful stuff with safer languages. ExpressOS comes to mind given the kernel is C# and Dafny running Android apps that are Java. The L4 kernel and Linux remain in the system with L4 replaceable by
Read the rest
safe stuff like Muen in SPARK language. Replacing Linux will be a lot harder. ;) However, if wanting mobile or other apps that aren't Android compatible, one might be able to use work like Redox, JX, or Oberon to eliminate unsafe language entirely. https://haohuim.appspot.com/static/pubs/expressos-asplos13-s... Another in alternative OS's is A2 Bluebottle from Wirth's people at ETH written in an Oberon dialect. Main Oberon OS is designed for simplicity and teaching. A2 is a batteries-included OS with a GUI designed to be useful. When I tried it, it ran snappy fast with networking, editor, compiler, and so on. Very minimal given only a few students worked on it but it is usable and extendable. Below was first link I found in Google so I haven't vetted it. https://github.com/Ignat99/a2 Redox OS in Rust can do a lot currently. They plan to expand it more. Already has a GUI, shell, networking, and the standard library of Rust. http://redox-os.org/
In A survey of BSD kernel vulnerabilities [pdf]
Wirth and a few others went to Xerox to see their personal computer with GUI that Steve Jobs also envied. They were told they couldn't buy it. "So, I built one..." (Wirth) http://www.cfbsoftware.com/modula2/Lilith.pdf Lilith was a custom computer with all kinds of hardware. The mouse eventually inspired Logitech. The software included a safe language (Modula-2), its compiler, an OS (Medos-2), a relational DB, and some other stuff. The trick was safe language, modularity, and simplicity in implementation details. Two or 3 people over a few years. Later, that turned into the Oberon series of languages, compilers, and OS's. The extensions or ports usually took 1 or 2 students months to a year or two to pull off. Last one they released IIRC was A2 Bluebottle OS. Primitive, but usable. I keep telling people to rewrite it in other safe, C alter
Read the rest
natives to save them work. Students got it done fast so I'm sure hobbyists could too. https://github.com/Ignat99/a2
In Redox – A Unix-Like Operating System Written in Rust

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.