The Apache Software Foundation

Community > Code


What makes Apache projects different?

Published on Thursday, Jun 3, 2010 by bdelacretaz

Sharing a code repository with some other programmers might seem enough to create an open source project; the Apache Software Foundation goes further and focuses on making projects sustainable in the long term, and ensuring that our code is legally clean.

This means that our projects have to follow a (small) number of rules, and a number of best practices have been established over the years.

Here’s a quick description of how Apache projects are born and live on - some of the items below are derived from the ASF’s bylaws (http://www.apache.org/foundation/bylaws.html), while others are best practices that evolved over time.

Projects enter the ASF via the Incubator, anyone can suggest a new project as described on the Incubator website (http://incubator.apache.org).

A Project Management Committee (PMC) oversees each project on behalf of its users, contributors, committers and the foundation itself.

New committers and PMC members are elected by the PMC based on merit.

Committers and PMC members are not necessarily ASF members, to be members they have to be elected separately (see " roles" in http://www.apache.org/foundation/how-it-works.html).

Each project has at least one private and one public (development,“dev”) mailing list which are the only official communication channels for the PMC members and committers.

Discussions and decisions about people (such as the elections mentioned above) usually happen on the project’s private list, but that’s not a hard rule, each PMC can decide.

All other decisions happen on the dev list, discussions on the private list are kept to a minimum.

“If it didn’t happen on the dev list, it didn’t happen” - which leads to:

a) Elections of committers and PMC members are published on the dev list once finalized.

b) Out-of-band discussions (IRC etc.) are summarized on the dev list as soon as they have impact on the project, code or community.

Where possible, decisions are made by consensus. The ASF has voting procedures to help reach this consensus (http://www.apache.org/foundation/voting.html).

Releases are created according to the ASF’s release rules (http://www.apache.org/dev/release.html), and all released software uses the Apache License (http://www.apache.org/licenses/).

A formal PMC vote is required to publish a release. By voting to accept the release, the PMC makes the release an act of the foundation, as opposed to a personal action of the the release manager. This is a very important distinction should any legal issues arise.

Each PMC reports to the ASF’s board of directors, usually quarterly. The PMC’s report mentions progress made and any problems encountered. Items of particular relevance to the board include community activities, software releases, development work and compliance with the ASF’s rules and best practices.

Trademarks and logos used by ASF projects belong to the ASF.

Don’t hesitate to ask on the community development mailing list (http://community.apache.org/) if you have questions about this - and in the meantime, have fun at the ASF, commit early and communicate often!