146 lines
7.3 KiB
HTML
146 lines
7.3 KiB
HTML
+++
|
|
type = "article"
|
|
title = "Getting Started"
|
|
date = "2009-09-11T06:42:48.000Z"
|
|
tags = []
|
|
+++
|
|
|
|
The information on this page is intended to explain how you can get started with Haiku development.
|
|
|
|
<h3>Getting Involved</h3>
|
|
The best way to get into developing on the Haiku project is to get to know the
|
|
environment and make yourself familiar with the system. If you have programmed
|
|
for BeOS before, getting into the Haiku API shouldn't be a problem. If you are
|
|
new to Haiku, try spending some time with easier tasks (see below).
|
|
It is much easier for us to help you with problems you encounter after you
|
|
chose a task than to assign one to you as we don't know what your exact skills
|
|
and preferences are. Usually, by running Haiku for a while you will easily find
|
|
out things that don't work as expected or that can be improved.
|
|
|
|
<!--more-->
|
|
|
|
<h3>Submitting patches to Haiku</h3>
|
|
|
|
<p>Haiku uses Gerrit to handle patches for review. Patches are usually submitted
|
|
from the command line using git. Initially, all your patches must be reviewed in
|
|
this way, but after a while, you may be promoted to reviewer yourself and be
|
|
granted the right to push your changes to the repository directly.</p>
|
|
|
|
<p>Since working with Gerrit is a bit different than the usual "pull request"
|
|
flow some developers already know, please read our page about <a href="/guides/building/get-source-git">working with git</a>
|
|
for more details about the process.</p>
|
|
|
|
<h3>Easy Introductory Tasks</h3>
|
|
Here are a few possible starting points:
|
|
<ul>
|
|
<li>
|
|
<strong>Fix font sensitivity issues and hard-coded values</strong><br>
|
|
Run apps, see if everything looks alright at different font sizes, fix any
|
|
bugs. Check the source for use of hard-coded values (e.g., colors, paths) and
|
|
use the respective API call to retrieve the system-defined value (e.g., via
|
|
ui_color()).
|
|
</li>
|
|
<li>
|
|
<strong>Make our UI and applications more compliant to our HIG</strong><br>
|
|
Run apps, check if menus and buttons are named and positioned correctly
|
|
(e.g., menus/buttons that open a dialog should end with "..." using
|
|
B_UTF8_ELLIPSIS). Also, check, for example, if the preferences dialogs apply
|
|
changes immediately (or have an "Apply" button) and if they have a "Revert"
|
|
button (instead of "Cancel" and "OK"). Also see if they behave consistently
|
|
with the rest of our system preferences applications.<br>
|
|
See the <a href="https://www.haiku-os.org/docs/HIG/index.xml">
|
|
Human Interface Guidelines</a> for further information on this item.
|
|
</li>
|
|
<li>
|
|
<strong>Cleanup incompliant source files</strong><br>
|
|
We have <a href="/development/coding-guidelines">
|
|
Coding Guidelines</a> that all of our source should follow (except for
|
|
imported code from other projects). Some of the native applications do not
|
|
follow these guidelines yet. Clean them up so they are compliant and submit
|
|
a patch to our <a href="https://dev.haiku-os.org/">
|
|
bug tracker</a> as an enhancement ticket.
|
|
</li>
|
|
<li>
|
|
<strong>Easy tasks from our bugtracker</strong><br>
|
|
Please also take a look at our <a href="https://dev.haiku-os.org/wiki/EasyTasks">
|
|
list of easy tasks</a> at the bugtracker. They are mostly smaller bugs that can
|
|
be fixed by one person. Pick one of them, leave a comment that you are working
|
|
on it and attach a patch when you're done.
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Most Wanted Tasks</h3>
|
|
Anyone with an account at our bugtracker can up/downvote specific tickets. If you
|
|
can solve a ticket on the <a href="https://dev.haiku-os.org/report/9">"Most Wanted"</a>
|
|
list there, you'll be instantly loved by all. Beware though, most things listed
|
|
are non-trivial problems...
|
|
|
|
<br>
|
|
If you don't find something for you in this list, please ask at our development mailing
|
|
list by sending in a small introduction of yourself:
|
|
<ul>
|
|
<li>
|
|
What are your skills? - E.g.: "I'm a professional C++ developer." or "I'm
|
|
a hobby coder with 2 years C++ experience."
|
|
</li>
|
|
<li>
|
|
How many hour per week do you want to work? A rough estimate is enough,
|
|
just so that we can assess which kind of task may fit you.
|
|
</li>
|
|
<li>
|
|
Do you have experience with special development areas? - E.g.: kernel,
|
|
network, file systems...
|
|
</li>
|
|
<li>
|
|
Is there some specific area you want to work on?
|
|
</li>
|
|
</ul>
|
|
We will try to find something for you by asking some questions and maybe
|
|
pointing you to specific bugs.
|
|
|
|
<h3>When You've Found a Task</h3>
|
|
When you have found a task you'd like to work on, please feel free to ask
|
|
your questions on the development mailing list. Before writing code please
|
|
also read our Coding Guidelines and try to always keep them in mind (we are
|
|
strict about them). Then we wish you much luck and fun coding for Haiku!
|
|
|
|
<h3><a name="development_tools" title="development_tools"></a>What do I need for coding?</h3>
|
|
<ul>
|
|
<li>
|
|
Currently, Haiku is the best development environment.
|
|
Linux, BSD, and OS X also work.
|
|
BeOS, Zeta, Cygwin, and Solaris are no longer actively maintained as development environments and little to no support is offered for those platforms.
|
|
</li>
|
|
<li>
|
|
Subscribe to these mailing lists:
|
|
<ul>
|
|
<li>The <a href="https://www.freelists.org/list/haiku-development">development mailing list</a></li>
|
|
<li>The <a href="https://www.freelists.org/list/haiku">general Haiku mailing list</a></li>
|
|
<li><a href="https://www.freelists.org/list/haiku-commits">Commit logs</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Learn which <a href="/guides/building/pre-reqs">development tools</a> are needed on your platform.
|
|
</li>
|
|
<li>Read how to <a href="/guides/building">get and build our source code</a>.</li>
|
|
<li>Learn the basics of our <a href="/documents/dev/a_brief_introduction_to_our_source_repository_layout">source tree layout</a>.</li>
|
|
<li>
|
|
Get familiar with our <a href="https://dev.haiku-os.org/wiki">project management and bug/issue tracking system</a> (Trac).
|
|
</li>
|
|
<li>Learn our <a href="/development/coding-guidelines">Coding Guidelines</a>. All Haiku source code should comply to this standard.</li>
|
|
</ul>
|
|
|
|
|
|
<h3><a name="further_reading" title="further_reading"></a>Further reading</h3>
|
|
<ul>
|
|
<li class="icon-document"><a href="/development/faq#intro-tasks">FAQ: Do you have any easy introductory tasks for me?</a></li>
|
|
<li class="icon-document"><a href="/documents/dev/a_brief_introduction_to_our_source_repository_layout">Brief Introduction to the Source Repository Layout</a></li>
|
|
<li class="icon-document"><a href="/development">Developers Documentation</a></li>
|
|
<li class="icon-document"><a href="/legacy-docs/bebook/" title="The BoBook">The BeBook</a></li>
|
|
<li class="icon-document"><a href="http://www.oreilly.com/catalog/beosprog/book/"
|
|
title="http://www.oreilly.com/catalog/beosprog/book/">"Programming the Be Operating System"</a> (<a href="/files/downloads/programmingbeos.zip">mirror</a>)<br /></li>
|
|
<li class="icon-pdf"><a href="http://www.perforce.com/sites/default/files/pdf/WPLaura.pdf">Getting Started with Jam</a> (<a href="/files/WPLaura.pdf">mirror</a>)</li>
|
|
<li class="icon-document"><a href="https://swarm.workshop.perforce.com/view/guest/perforce_software/jam/src/Jamfile.html">Jam reference and documents</a></li>
|
|
<li class="icon-document"><a href="https://dev.haiku-os.org/wiki/GitStarted">Getting started with Git</a></li>
|
|
<!-- TODO: Replace this, add more resources! <li class="icon-document"><a href="/documents/dev/using_subversion_with_the_haiku_source_repository">Using Subversion with the Haiku Source Repository</a></li> -->
|
|
</ul>
|