How to start contributing to Xfce or any other open source project
It’s been a while since I’ve updated this website and even longer since
I’ve written anything useful. But since I’ve received a couple of mails
from people looking to contribute to Xfce recently, I thought I’d share
some “wisdom” acquired over the past few years while working on Xfce and
doing a lot of community work. My thoughts are not limited to Xfce and
will apply to a lot of other projects out there as well.
Here’s the bitter truth for those looking for some quick pointers to
start contributing to Xfce: you’ll have to find out yourself.
The reason is not that we are lazy or wouldn’t welcome your
contributions. In fact, the reason, I believe, is very simple: you will be more
excited, motivated and, ultimate, be more successful if you work on
something that interests you. We can help you in making the decision
what to invest your time in easier, e.g. by listing projects, features or
issues that we or our users consider worth working on. Some projects do
this very visibly (e.g. through bounties). In Xfce, this information is
hidden in the depths of the wiki. Here are a few links that you may find
interesting:
- Design SIG – working on improving the user experience of Xfce
- Component wish list – populated by our users
- Panel plugin wish list – populated by our users
Clearly, the above information could be more visible. There could be a
prominent link on the Xfce website to a well-maintained and up-to-date
list. Would that help people? Maybe.
Perhaps it is a good thing that the information isn’t just one click
away. Open source projects have always been about scratching your own
itch. This is how I got involved in everything I’ve done over the
years. this approach is reflected by what people do and sometimes even
by how companies make money. Thinking about it now, it is a concept
deeply rooted in the evolution of mankind (think: the invention and
improvement of tools, industrialisation and all that shit).
So: scratch your own itch.
If you want to start contributing to a project, try this exercise:
- Look at the project, think about what you don’t like or what you feel could be improved
- Try to collect information on what pieces are involved in e.g. the feature you’re missing or the bug you’ve spotted
- Try to find the place where you could try adding your feature or fixing your bug
- Ask whether developers are interested in the feature or look at whether there already is an item for your issue in the bug tracker
- The rest is communication and coding
It’s not a fast path because you might not be able to contribute
something of great value in the beginning. But if you’re dedicated,
have enough spare time to make a difference and are keen on improving
things step by step, you might eventually reach a point where you take
over responsibility for more and more exciting or important tasks.
Good luck!