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.