'Me' and 'We'. They're the same thing, just with a slightly different way of
looking at it. There's always something to do, some way of helping further
the Haiku Project ... though it's not all glitz, glamor, and fame. In fact,
a good portion is, well, it's tedious; it's boring; it's stuff we'd rather not
be doing. For a volunteer based project such as ours, that can be a death
sentence for those tasks. So, hopefully these words will encourage you to see
the usefulness of those tasks and enable you to find the motivation to
contribute to them.
Sometimes, it's easier to figure out what you want to be or do by crossing-off
the bits that you know that you don't want. While this doesn't outright give
you an answer, it helps by trimming down the possibilities. This makes the list
more inviting to think about.
First, I've made amends that being a C/C++ developer will not be on my list of
abilities, at least not in the next year or two. Sure, I can fix some typos and
make other small changes to that code. But my skills are nothing in comparison
to our past and current Google Summer of Code students, let alone any of the
other regular C/C++ contributors. And that's OK, as there's other tasks that
need to be done.
At one point the idea formed that by helping the developers with their
non-coding tasks, they were reclaiming time and energy that could be used
elsewhere. This is still the keystone for my motivation -- keeping the
developers free to write code, free to do tasks that I'm not yet capable of,
free to further the Project.
Reviewing and applying patches
This is a task that with some investment of time and energy, can
repay itself in the form of fueling the motivation of new and
interested developers. By helping with this, you would be
improving the Project's reputation of managing and accepting
patches. In turn, this will encourage other newcomers to provide
patches, with the reassurance that it'll be looked at and hopefully
used.
Maintaining tickets
- Polling old tickets for a status update
- Asking ticket reporters to include additional relevant details
- Pointing out duplicate tickets
Our development tracker, dev.haiku-os.org
is one of the key components to the project. It informs people of problems
and issues with the software, keeps track of what needs to be done, and many
other things.
These tasks help to streamline the process, allowing things to move more
smoothly. Even people who are not committers can receive the permissions
to manage tickets. All that is needed is a familiarity with Trac and the
willingness to learn some basics of the Project -- what information is
needed for which type of bugs and which bugs belong to a certain component
for example.
Documentation
- Haiku Book / Code
- Improving existing information
- Pointing out outdated/incorrect text
- Offering corrections
- Where/How to submit it? : open a new ticket on Trac or ship it to a mailing list
Here's another way of looking at writing documentation...
Knowledge is power. Sharing that knowledge and making it easily
accessible empowers you, the people seeking it, and other people
who would normally need to spend the time to answer those questions.
In addition to this, since documentation is typically a weak point for
F/OSS projects, you will help Haiku stand out as one of the groups with
a good and useful level of documentation.
Improving websites
- Plugins for Trac
- PHP/JavaScript/etc...
- CSS tweaks
- Suggestions for new project controlled websites
- Creating themes for 3rd party sites
- Offering improvements for project related sites
Websites are literally a portal for people to learn about us.
It can be the first impression for them. For others, it's a means
of interacting with us, to find information, to communicate.
Report issues to the developer
...even if you heard it on IRC or a forum.
There's two types of bugs that get fixed: ones that you make a patch for
and ones that the developer is informed about. And let's admit it, there
is little chance for any single person being able to test for, let alone
find every bug in a program. This is particularly true for locking, timing,
and other race-condition bugs as certain hardware simply won't expose it.
Building, packaging, and testing software for Haiku
Offering to build and package the next release of some software is a great
way to inspire developers. It shows that there are people who use their
software and are looking forward to the next release. And surprisingly,
this can be a task that de-motivates developers. It takes time to prepare
an archive for distribution and ensure that it'll work on other people's
installations.
Expressing sincere gratitude
It is truly amazing how even a few words can be gratifying and motivating.
These are tokens of appreciation are truly gems and can have a lasting effect.
In closing ...
Motivation is the life-force of volunteer based efforts. Particularly ones
like ours, where there is no corporate sponsorship, no government funding,
no wealthy entrepreneur pouring funds into the project to make things happen.
Nearly every ounce of motivation comes from within. It can be as simple as
honestly asking yourself "Do I want to help this project"? Whenever that answer
is 'yes', a seed is planted in yourself, an opportunity for growth, a chance to
make a positive impact. What you make of that and how you shape it is within
your own hands.