[haiku-development] Re: Looking to contribute to Haiku OS...

  • From: "Ryan Leavengood" <leavengood@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 21 Apr 2008 12:18:38 -0400

Hi Guillaume,

Sorry for the delay in responding...

On Thu, Apr 17, 2008 at 8:21 PM, Guillaume Ardaud - Haiku
<haiku.poissonpilote@xxxxxxxxx> wrote:
>
> I've been meaning to contribute at my level to Haiku OS.
> I read the "Getting Started" documents on the website, and I have installed
> the required development tools as well as compiled the source code (I use
> debian).

Great, getting the code and compiling it is the important first step!

> Now I would like to get into the Haiku project, so I hope some of you will
> be able to give me a few pointers.
> I'm a student in first year of software engineering in France (I speak
> fluently both french and english). I can program in C and Ada fairly well (I
> reckon), and I know a bit about 68k assembly and python. At the moment
> however, I have no or very little knowledge of object oriented programming,
> even though I'm willing to learn about that.

Yes learning about object oriented code is definitely important, and
there is plenty of that kind of code in Haiku. Though it would
probably also be helpful for you to read some books or information on
the internet about it too. Though in my experience you won't really
learn it until you try to apply it :)

> In general, I am interested about graphics programming (I know a bit about
> the SDL) as well as Artificiall Intelligence. I also enjoy usability in
> general (reading and implementing Human Interface Guidelines does not bother
> me). However, I'd be fully willing to work on something else, and even
> though these fields interest me, I am not an expert in these.

In my opinion it is always good to work in areas you find interesting,
especially for a volunteer open source project. Though after a while
it is good to expand the areas you work to learn some new skills.

> I hope you guys can tell me what I can do to help, which teams are needing
> developers, etc.  I can spend roughly 5-15 hours per week into development,
> however that is a very broad estimation and is prone to fluctuate.

At this point we are quite flexible and many of the major Haiku
developers work in several areas of the code. For example Axel has
been known to work on the kernel, the net stack, the app_server,
drivers, and even small applications like the ActivityMonitor. He has
even written a game for Haiku. Ingo is similar. So there aren't really
"teams" anymore, though there are definitely certain people with
certain skills and knowledge of the code.

As for what you could work on, I will tell you how I figure out things
to work on. Generally I just get the latest Haiku code, build it, and
run it in VMware. I then mess around with it, trying different
programs and looking for bugs. At this point in the project I can find
quite a few bugs. I notice details a lot and also have an interest in
User Interface Design, so sometimes the "bugs" I see are just small
graphical glitches, or something about the interface I don't like. So
I will then look at that part of the code and try to fix the bug.
Sometimes doing that can find other problems in the code, and many
times a simple fix will become more complicated. But in general I try
not to go too complicated when making a fix, since at this point our
main focus is trying to get Haiku ready for an alpha release.

Another thing to do is look at the list of bugs others have reported
on http://dev.haiku-os.org. Fixing these is always good. Also if you
find a bug it is generally good to report it on the bug tracker, even
if you are going to fix it yourself (though I will admit I do not do
this very often.) But you should especially do this if you cannot see
how to fix the bug. Just make sure there isn't already a similar bug
posted.

Another good area to work on is to convert some of Haiku's
applications to use the GUI layout system. I will be posting some
articles to the web-site about this soon.

Once you have fixed a bug in the code, you can create a patch with svn
diff, and then either attach that to a bug (preferred) or send it to
this mailing list.

> Thanks in advance for your answers :)

No problem.

One thing I definitely want to suggest is to start small. It is
tempting to try to do something big right at the beginning, but
sometimes that can be frustrating when you are starting out. So just
fix a few small things and get some successes under your belt, then
you can try harder things. I say this because I too frequently like to
do things that are too hard at first :)

Also if you submit a patch, there is a good chance we other developers
will have some feedback. We try to be nice, but either way don't be
offended if we suggest changes or improvements. That is a great way to
learn how to write better code!

Finally be very sure that you carefully follow our coding guidelines
(http://haiku-os.org/documents/dev/haiku_coding_guidelines), as we are
very picky about that.

Regards,
Ryan

Other related posts: