As I grew up, I became interested in writing software, first as a hobby, then as a professional career. Naturally, unhappy with writing applications on top of a black box designed by someone else, I wanted to work on operating system development, and advance the state of the art.
I had written real-time monolithic kernels for the Motorola 68000 and the Intel 386 as a hobby, without any new idea in them. I started thinking about designing my own operating system around 1996. Before I looked on the internet, I thought I was the only one with such a preposterous idea. After all, the bases were pretty well covered.
Windows had a lot of problems, but it got the job done. The power users, or the ones who wanted to feel special, had BeOS, Linux and MacOS. The server space had all things Unix, and NT coming up to smooth things over. The embedded space had lots of real-time kernels, none really special, but people made products with them that work in the end. Why would’ve anyone wanted to invest time in OS development anymore? I looked online anyway.
I was shocked to find a LOT of projects. Literally hundreds. I was thinking I should stop right then. Certainly, out of those hundreds of projects, someone was already doing what I was thinking about, and there was no point in duplicating the effort. I looked further and was surprised to see that all of them, except for a couple known to OSNews readers, were stuck at “dream stage" or "bootloader stage". Most of the time, the creator was gone or idle, replaced by another set of equally inactive people. Sometimes the sites were flat out unmaintained for a couple of years already. Online ghost ships.
Stuck in dream stage meant someone decided to create an operating system that would run Windows, Linux and MacOS applications all under one architecture, created a site, and explained how this is really a good idea that nobody has done before. Nobody had seen the opportunity. Then, the person realized how complex the dream was while being pointless, and left without a forwarding address.
Stuck in bootloader stage usually was expressed by a site starting with a goal such as, the next generation microkernel-based operating system. The site offered a bootloader, the small piece of software responsible for loading the kernel, for download. Nothing spectacular. It would read the kernel and jump into it, except there would be no kernel to be found. Somehow the author thought that if they could write the bootloader, the kernel would be a piece of cake, or something. Then somehow disappeared.
In this context, the few exceptions were like Las Vegas, a city of lights in the middle of a desert. I'm thinking of AtheOS and SkyOS. Today you can add OpenBeOS to the list. I personally hope we can add Syllabe to it soon.
How come they have a working system where others are stuck in bootloader land? Are they smarter? Do they know something the others don't? Well, considering AtheOS was written by one guy during weekends and leisure time over the course of only four years, the smart part probably doesn't hurt. Let it sink for a second: One guy. Hobby. Four years. Full kernel. Quite a few drivers. Graphical interface. Applications. One guy. Okay, let's proceed.
Back to the story of my life. I decided to go ahead with my project. I met the right people for it in 1998. We decided the idea was new enough to deserve a company to develop, market and support it. Probably it would be closed source, as it is now. The goal from day one was well defined. Today, we have a full OS, graphical interface, telecom stack, and real world applications, portable across several processor architectures. Around fifty people bang on it full-time. To paraphrase Joel Spolsky, our marketing department goes out to say that it cures baldness and heart attacks. If you buy two, neither is free but you get a really cool pen. All that really matters is that customers say it works.
Projects that work out to completion share common characteristics. They are in no way a recipe for success, but they form a prerequisite.
If you're thinking of starting, or working on, a new OS, not making decisions will leave you with a disaster. A site without a forwarding address. The umpteenth bootloader. Yet another TakeThatLinus!OS that aims to take over the mindshare of all open-source developers.
You can argue that you are going to work on it as a hobby, so I should shut up and go back to my company. What the hell am I doing writing this on a Saturday, instead of making plans for my business, right? Once you make these decisions, your project will be a lot more fun to work on. Taking out the frustration early on will make a much better use of your free time, and if we're lucky, we will be granted with a new project with the quality of AtheOS. It will be pointless for most of humanity, but they don't read OSNews in the first place.
- "The roots"
- "The OS writer playbook"