Contributing

Why

Why should you contribute to the Andromeda kernel? It is not even a working kernel! Well, in that case I suggest you’ll help us get there! The process is very educative – the main goal of the project is education. Developing an operating system kernel is one of the best ways to get to know the world deep down in side the computer.

How

Contributions to the kernel are accepted rather easily. There are a couple of requirements to meet though. Not meeting those requirements will result in a very slim chance that any of the core developers will accept your code.

What

To begin with we’ve got a todo list. This can be used as a nice starting point, but of course, if you have some ideas not listed in the todo list, you can always build it. You don’t need our permission to do any development. Chances are, your contribution will end up in the kernel.

Requirements

  • The code you write is readable and well commented.
  • The code is written in C. Assembly may be used but for portability reasons only use it when there really is no other choice.
  • The code respects our code standards.

Getting us up to speed

You can either send us a pull request. A few options are:

  • A fork and pull request on github,
  • An e-mail with a URL to the server and branch name to the available code or
  • A git patch as attachment to an e-mail, preferably tarred.
When your code generates a merge conflict, we’ll not be the ones solving it. Something that will get your chances a little higher is to rebase your code onto the latest master branch in the main repository.

These requirements are for code changes only. Spelling corrections are always welcome, but please try to keep the number of merge conflicts down, even with spelling fixes.

Some things to get the new programmers started

As mentioned before, C is a pretty vital requirement, and knowledge of some assembly language isn’t such a bad thing to have either. So here are the articles that got us up to speed when we had to be taught.

C:

Assembly:

  • The art of assembly is a book written by Randall Hyde. There are free web versions available on the internet, a simple google-search should be able to reveal them.