Hi Shane, On 5/16/07, Shane Moore <Shane.Moore@xxxxxxxxxxxxxxxxxxxxxx> wrote:
Waldemar Kornewald wrote: > First of all: you don't have to write a "brilliant piece of code". > That's nonsense and I think it was meant as a joke. :) Ok. I was not intending to inflame anyone by copying that phrase from someone else, and apologies if you felt I was berating the project.
Don't worry, I didn't feel that way.
However, I did not know then (and still don't) how to produce a patch file that others can apply, (and usually struggled to manually apply other peoples patches), due to lack of access to any document anywhere that clearly explained how to produce a patch (I had not been taught it at university).
I've added a very simple FAQ to get new devs kick-started: http://haiku-os.org/development/faq#patches It's definitely not a replacement for reading a Subversion tutorial, though.
Back then, I also was unclear on how to know what aspects of work needed to be done/ could be done/ were already being done by others.
Again, the FAQ lists easy introductory tasks: http://haiku-os.org/development/faq#intro-tasks You can also browse our bug/task tracker to find more things to do (the list is very long... ;): http://dev.haiku-os.org
The main other thing which I struggled to understand when I was trying to study the source code was exactly where to "find" particular elements of the system, i.e. it would be helpful if there was a document somewhere which clearly explained the purpose of each directory in the source hierarchy, i.e. pointers on where to go to look for particular things, and a brief statement of how the compiling gathers this all together. Maybe such a guiding document now does exist, but back then (2003) it did not.
There's still no description of the source tree, but I think the basics are rather self-explanatory. The most important folders are "headers" and "src". In "src" you'll find our servers, kits, applications, etc. Maybe our documentation team could explain the details (what are those other folders in "headers", where are the drivers, what build system do we use, etc.)?
I also found it took 6 hours to compile the code, under BeOS, on my machine, and at the time it was only the text-based floppy-disk booting thing. Obviously, things are much further advanced now, and I am grateful that there are also now downloadable compiled versions that I can simply copy onto a partition and boot those.
Due to BeOS' bad caching the *first-time* compilation takes pretty long, but subsequent *updates* normally only touch small portions of our code, so it might take only a few minutes. BTW, you can also use Linux for development (svn checkouts and compilations are much faster, there).
As I said, in my first posting a few days ago, I have mainly been observing since then, and for some unknown reason happened to look at the mailing list messages last Friday. For the next few weeks at least, I will probably also disappear from posting here, since I am quite busy at my place of employment. But after that, depending on my workload, I may see if I can spend some time on weekends contributing in some way.
That would be very nice! The biggest hurdle is to actually do the first step and code something. Once you're in you see that it can be a lot of fun and you don't really sell your life or soul to us (well, I'm still wondering what makes people disappear after they've offered help :). You decide how much you work. Bye, Waldemar Kornewald