The Apache Software Foundation

Community > Code


This page is for people who are reasonably comfortable with open source development models but need a helping hand finding their way around the Apache Software Foundation (ASF) and our way of developing software (commonly called “The Apache Way”). For those wishing to start from the very beginning, we have a newcomers page and an overview of our Contributor Ladder.

Project Independence And Policies

While not all ASF projects practice all aspects of the Apache Way in the same way, there are a number of rules that ASF projects must follow – things like complying with PMC release voting, legal policy, brand policy, using mailing lists, etc., which are documented in various places.

One of these invariant rules is that projects are managed independently of any commercial interests. The goal is to create an environment in which all participants are equal and thus have an equal opportunity to contribute to and benefit from our software, regardless of motivation or financial objectives. This is discussed in more detail in our document Project Independence.

Communication on mailing lists

Development at the ASF has traditionally been done on mailing lists. This is not merely because we’ve always done it this way, but is an intentional decision, in order to include a wider community than who happens to be on your Slack channel at a particular moment.

This is why we say, at the ASF, If it didn’t happen on the mailing list, it didn’t happen.

Moving From Contributor to Committer

Anyone can be a contributor to an ASF project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which document the project and provide feedback to developers) through to providing new features as code patches.

If you become a valuable contributor to the project, the Project Management Committee (PMC) may invite you to become a committer. At the ASF, a committer is someone who is committed to a particular project. It brings with it the privilege of write access to the project repository and resources. In many projects, committers may also be invited to be part of the core group within the project that ensures the project’s vitality, the PMC. In a few projects only a subset of committers who have earned even more merit are invited to be a part of the PMC.

One thing that is sometimes hard to understand, when you are new to the open development process used at the ASF, is that we value the community more than the code. A strong and healthy community will be respectful and be a fun and rewarding place. More importantly, a diverse and healthy community can continue to support the code over the longer term, even as individual contributors come and go from the field.

In particular, we have some etiquette and behavior expectations when you work with ASF communities.

See also this detailed advice for how to become a committer

Anyone Can Become A Committer

There is nothing at the ASF that says you must write code in order to be a committer. Anyone who is supportive by contributing towards project, community, documentation or code is a likely candidate for committership.

The ASF strives to be meritocratic. That is, once someone has contributed sufficiently towards the project, they can be voted in as a committer. Being a committer does not necessarily mean you commit code; it means you are committed to the project and are productively contributing to its success.

One of the key contributions people can make to the community is through the support of a wide user base by assisting users on the user list, writing user-oriented docs and ensuring the developers understand the user viewpoint. A main idea behind being a committer is the ability to be a mentor and to work cooperatively with your peers.

Some users of a project’s software become committers in their own right. Some will test code, some will write documentation, some will do bug triage and some will write code.

For more details see “How it works”. You can also make suggestions for how to update this website you’re reading right now!

Questions and Feedback

You can provide feedback and ask questions by subscribing to our mailing list: send an email to [email protected]. Once subscribed, you can send your mail to [email protected].