History

Cosmoe began, in a way, back in the latter half of the 1990’s. When BeOS came out, I was amazed at the clean UI, the deeply integrated multi-processing support, and the light footprint of the OS. The operating systems of the day had none of those things. I always hoped that Apple would purchase Be and adapt it for the next version of MacOS. Alas, that never happened, and due to a series of missteps and mergers that did not align well with Be’s strengths, Be and its eponymous operating system faded away. Once the dust settled from that collapse, I held out hope that BeOS would be open-sourced, but that never came to pass either.

In 2000, I got involved with an open-source operating system called Atheos, written almost completely by one man: Kurt Skauen. It was an amazing effort that captured many of the core strengths of BeOS, including a very similar class library. The Achilles heel, however, was lack of hardware compatibility. Due to having it’s own home-grown kernel, hardware support was minimal, which made it difficult to use and develop for.

Once I got the know the internals of the Atheos project well, it became clear that adapting it to run on the Linux kernel would not only be feasible, but very beneficial for developing and running it. With significant contributions from another like-minded Atheos devotee, Tom Marshall, I adapted the Atheos code to work on Linux and eventually released the first version of Cosmoe in 2002.

Not long after, Kurt Skauen ceased all work Atheos, so the Atheos/Cosmoe synergy came to a halt. However, another similar project had recently started: OpenBeOS. As the name implied, their goal was to create an open-source clone of BeOS. With the Atheos project seemingly dead, and this new project picking up steam, it made sense to align Cosmoe with them going forward. Even better, whereas Atheos was somewhat BeOS-like, OpenBeOS aimed for perfect source and binary compatibility. Given that I had already started moving Cosmoe in that direction, this was a welcome sign of things to come.

Things progressed quickly for both projects, and there was nice collaboration. Since I had the luxury of working on Linux and using newer versions of the gcc compiler, I was able to root out compile issues before they hit the much larger OpenBeOS project. And of course Cosmoe benefited greatly from their continuous development of the Be class libraries.

My family had also been progressing quickly, and by 2007, I found myself with 5 children under the age of 10! That’s when I hit a wall. I had no free time left to devote to Cosmoe, and decided to set aside Cosmoe to focus on my family and my sanity.

In mid-2024, my 3rd son Joshua, not even born when I started this project but who is now in college studying to be a programmer himself, had some questions about operating systems. I decided to dust off Cosmoe and see if I could get it running again, to show him what I had worked on. At first it would only compile and run on extremely old 32-bit versions of Mandrake Linux from 2007. But I had caught the bug again. Not only had I forgotten how fun Cosmoe was to program, but the intervening 17 years of progress made by OpenBeOS (now Haiku) made the certain aspects of this revival come at lightning speed. Day by day, week by week, I got it running on newer versions of Linux, and re-synchronized it with ever-more-recent releases of Haiku. After about 2 months of late-night effort, I had a version of Cosmoe that was 64-bit compatible, ran on multiple modern Linux releases, and was almost completely up-to-date with the latest Haiku source changes.