The Apache Software Foundation
Community > Code
Where do I start?
If you have no idea where to start your engagement with an Apache project, this is the page for you.
Finding the right project
The key to working on projects at Apache (and on any open source project, for that matter) is to have a personal reason for being involved. You might be trying to solve a day job issue or learn a new technology, or simply want to do something fun in your free time. We don’t care what your motivation is; we just care about you wanting to get involved.
If you don’t have a specific technical issue to solve you might be willing to work on any project. Our projects page provides a useful index which allows you to view projects alphabetically, by category or by coding language. When you view a project’s detail page in this list you will find information about their mailing lists, issue tracker and other resources.
You might also like to view our Incubating projects. These projects work in exactly the same way as our “top level projects” but are still developing their initial community.
Once you’ve found some interesting-looking projects, join their mailing lists and start “lurking”. Read the mails that come through the list. Initially you will not understand what people are talking about, but over time you will start to pick up the language, objectives, strategies, concerns and working patterns of the community.
Finding an issue to work on
If you are trying to satisfy a specific technical problem, you already know what you want to work on; but if you are looking for something useful to do in order to participate in an ASF project, the project’s issue/bug tracker is your friend. You can find a link to it from the project’s home page or from its entry on the projects page linked above.
In the project’s issue tracker you will find details of bugs that have been reported and feature requests the project is considering. This should give you some inspiration about how you might be able to help the project community. If you are looking for a beginner-level issue, try searching JIRA for issues with the label “GSoC” or “mentor”; these are issues the community feels are manageable for someone new to the ASF and their project. The community has also indicated that they are willing to help someone work on those issues through our mentoring program.
Joining the community
Once you have identified an issue you would like to tackle, it’s time to join the project’s mailing list (if you haven’t already) and get started.
Remember, community members are usually happy to help you, but they have to get something in return. The community needs to believe that you intend to contribute positively to their work. There is a limit to how much “hand-holding” you will get, so be ready to do some work if you expect to continue to be helped in your first foray into open source.
At this point you might want to ask if someone in the community can mentor you. See our mentoring programme for guidance on how to do this.
Alternatively you can dive straight in and work with the community. Since you’ve been lurking on the lists for a while, you should have a feel for how to get involved, so go for it.
A very good first step would be to introduce yourself in an email to the list. Explain your interest in the project and anything relevant in your background or skills, and identify the bug or feature request you would like to work on.