The Apache Software Foundation
Community > Code
This page is intended for those people who are reasonably comfortable with open source development models but need a helping hand finding their way around The Apache Software Foundation 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 too.
Project Independence And Policies
While not all aspects of the Apache Way are practiced the same way by all projects at the ASF, there are a number of rules that Apache projects are required to 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 and used 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.
Moving From Contributor to Committer
Anyone can be a contributor to an Apache 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 documents the project and provides feedback to developers) through to providing new features as patches.
If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a term used at the ASF to signify 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 are also invited to be part of the core group within the project that ensures the project’s vitality (represented by the Project Management Committee, PMC). In a few projects an 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 companies come and go from the field.
In particular, we have some etiquette and behavior expectations when working with Apache communities.
Contributing A Project - CoPDoC
The foundations of an Apache project and how the community contributes to it is sometimes referred to by the acronym CoPDoC:
- (Co)mmunity - one must interact with others, and share vision and knowledge
- (P)roject - a clear vision and consensus are needed
- (Do)cumentation - without it, the stuff remains only in the minds of the authors
- (C)ode - discussion goes nowhere without code
Anyone Can Become A Committer
There is nothing at The Apache Software Foundation that says you must write code in order to be a committer. Anyone who is supportive of the community and works in any of the CoPDoC areas is a likely candidate for committership.
Apache strives to be meritocratic. That is, once someone has contributed sufficiently to any area of CoPDoC 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 user viewpoint is understood by all developers. A main idea behind being a committer is the ability to be a mentor and to work cooperatively with your peers.
Some of those users become committers in their own right. Some will test code, some will write documentation, some will do bug triage and some will write code.
Questions and Feedback
Feedback can be provided and questions asked by subscribing to our mailing list by sending a mail to firstname.lastname@example.org. Once subscribed you can send your mail to email@example.com.