The Apache Software Foundation
Community > Code
There are a number of useful Apache tools and services available for Apache projects and committers. This is a brief set of pointers or signposts to information elsewhere.
Apache Infrastructure Information
If you’re a committer, you can patch this very website yourself!
Decisions in Apache projects are the result of:
- consensus in the community
- (if needed) votes within the community
We have, over the years, developed a very simple and effective approach to consensus building and decision making. The vast majority of decisions are made using lazy consensus, if the “lazy” approach to consensus building is deemed unsuitable for a particular decision then we seek to build consensus within the community. Very occasionally, usually for formal reasons relating to legal responsibilities, it is necessary to call a vote.
Each of these three approaches is described more fully on various foundation and project sites. However, we’ve provided an initial introduction to decision making here on the community development site.
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.
Each project in Apache is free to define its own development processes as long as they respect our decision making, legal and independence requirements. However, over the many years that the ASF has existed many best practices have evolved and been documented across out projects. In this section we will try to bring together some of the most popular of these practices. Most Apache projects operate in ways that are largely similar to these processes.
- Crediting contributors is a critical part of community building
- ASF Licensing Policy
- Releases FAQ
- Release audit is a process each release candidate must go through to ensure IP is correctly managed
- RAT/Creadur is a tool to assist this process
- Release management is the process by which releases are prepared and released
- Handling cryptography in an Apache Release
- Source Headers and NOTICE Files
- Distribution best practices
- ASF Developer section sitemap
Assisting with project management and marketing
There are many visible contributions of value in an Apache projects (documentation, testing, coding user support, design etc.), but there are also plenty of “back office” tasks that are necessary to maintain a healthy project. This section describes some of the activities that you can help with. In most cases you will need to be a committer to carry out these activities, although non-committers can often act in supporting roles.
- Write informational blogs
- Assessing and approving new committers
- Board Reports
- Apache Project Branding/Trademark Resources
Speaking about Apache projects at Events
We encourage all of our committers to speak about Apache Projects, Technologies, and generally help to grow and enhance our community. For more information on getting started, see our Speakers section.
In addition, we also encourage all committers to list themselves as “Local Mentors”, and thus help out new committers and would be committers. For more information on what this program involves, and how to sign yourself up for it, please see the Local Mentors page.
There is no shortage of useful resources for committers at Apache, here are a few you might want to take a look at: