Linked by Emmanuel Marty on Mon 5th Aug 2002 05:58 UTC
Editorial I've always been curious about how things work. When I was little, I annoyed my parents with millions of questions. Why is the sky blue? How does water come out of the tap when you open it? Maybe I was born without the mental switch that lets you be happy with using something, without trying to figure out how it works.
Permalink for comment
To read all comments associated with this story, please click here.
The bootloader syndrom & herding cats
by Vanders on Mon 5th Aug 2002 09:02 UTC

The problem with Operating Systems is that they're complicated. Once you have a bootloader in place, you're faced with the prospect of having to create a working kernel, and that is where everything suddenly becomes a lot of work.

A lot of people want instant results; they want to see a process running, they want to read and write to a harddisk, they want to draw windows on the screen...but it doesn't work like that. Kernels are big, and interdependent. You have to write almost all of the kernel before you can even compile it! A lot of people get disheartened right around the stage where they realise that they've got 40k of source, and they havn't seen any of it do anything yet...

He did most of it by himself, not encouraging external contribution, enforcing consistency.

Well, that had some advanages, and a disadvantages. The advantage, as you state, was that the AtheOS base distribution is consistent.

The disadvantages? Well first of all, that consistentcy is only skin-deep. Because there was no standard way to do E.g. ImageButtons with the base libatheos, almost every application developer crearted their own. The resuly is a mish-mash of styles and images, and its ugly!

On top of that, everyone else is dependent on one person for doing all of the work. Good ideas go to waste, because the developer doesn't have the time to keep track of them all.

Last but not least, it created a lot of confusion in the AtheOS community. Some patches would be accepted (Wheel-mouse support, ISA DMA), and some drivers would make it into the base (The nVidia driver). However, a lot of people never sent their work to Kurt, as they thought that he didn't want any contributions. It can be very frustrating to see a lot of good work left out on the side, like an abandoned child.

If you go the open-source route and enroll fellow hackers, they will come up with their 130 ideas they want in your kernel, plus their 200 itches to be scratched (such as "semaphores suck!"), and their own idea of your project. If you let people hack away merrily, you will end up with the opposite of efficient.

You create your project - you own it. Be sure that contributions are consistent with your vision. Don't hesitate to ask people to rewrite something so it fits your goals and your architecture.


One tool we've found to be a great help with Syllable has been a Wiki site. It allows us to keep track of ideas, discuss them, offer alternative solutions etc.

Its much easier than dealing with a bunch of emails, and everyone can easily follow the conversation. Once you have a solution, its there, on the page, and you can refer back it whenever you want.

Hopefully I havn't scared anyone off though ;) Go and write your own OS, and learn as much as you can. Just don't be under any ilusions that it will be easy, or instant.