Continuing the set of posts about the organization of diverse FLOSS communities, here we are with the next: Apache Software Foundation (ASF)
The ASF is a non-profit organization to support the Apache software projects. Was formed in 1999 although the Apache project began in 1995.
The ASF provides legal and financial framework for all projects managed by the foundation.
The ASF is a decentralized community of developers, all ASF’s projects are under Apache License which is a complete FLOSS license, approved by FSF, OSI and Debian.
2. Main work
As I mentioned before, the ASF provides a series of action points:
- Provide a foundation for open, collaborative software development projects by supplying hardware, communication, and business infrastructure.
- Provide a legal framework in which companies and individual users can be donate resources. This framework is also used by defend the ASF interest as well as their software projects and the rights which provides.
- Protect the Apache brand and their products.
- Create their own license, Apache License (version 2 is the most actual) and ensure that their own projects are always under this license putting some restrictions for ensure this.
And of course, develop FLOSS projects.
3. Internal structure
The ASF internal structure is based in sub-projects, in each project exists a complete board of members and roles.
The decisions are taken by consensus, don’t exist hierarchy, the ASF it’s based in meritocracy.
The communication are especially made by email.
For assigning resources for each project, acts as a central point of contact and communication for its projects, manages corporate services, including funds and legal issues and overseeing other ASF’s activities, the ASF has a Board of directors.
They don’t make technical decisions about technical projects, this are made by each individual Project Management Committees. The board is elected annually by members of the foundation.
On October 2010, the Board directors consist of:
- Shane Curcuru.
- Doug Cutting (chairman).
- Bertrand Delacretaz.
- Roy T. Fielding.
- Jim Jagielski.
- Geir Magnusson Jr.
- Sam Ruby.
- Nóiriín Shirley.
- Greg Stein.
So, we have that ASF has:
- Board of directors (boards). How we have seen, they are, the ASF bosses.
- Project Management Committees (PMC) (one for each project).
The PMC as a whole is the entity that controls and leads the project. Each PMC consist in at least one officer of ASF, who shall be designated chairperson, and may include one or more members of the ASF. Each PMC is independent and has its own rules. The role
of the PMC is not coding, but to ensure that all legal issues are addressed, that procedure is followed, and that each and every release is the product of the community as a whole.
The Board has the faculty to terminate a PMC at any time by resolution.
They are chosen by the Board, and exists one per project. They oversee the day-to-day affairs of the Foundation. Consist in a chair, a president, a treasurer, and a secretary. They are the executive arm of the ASF.
Inside each individual project, exists several roles:
It’s the basic scale in the Apache projects. They are the ASF projects users. They offer feedback derived of the software project. The feedback give information about bugs, something that runs wrong, and they make also petitions for develop or change features.
The developers contribute with the projects with some code or documentation. They are active in the mailing list, participate in the discussions, provide patches, documentation, suggestions and criticism. They are known as contributors.
A commiter is the person who has access to the repository with write rights. For make this they have signed the CLA. They don’t needing to depend on other people for the patches, they are actually make short-term decisions for the project. The PMC can agree and approve it into permanency, or they can reject it. The PMC makes decisions, not the individual people.
- PMC Member
A PMC Member is a developer or a commiter that was elected due to merit for the evolution of the project and demonstration of commitment. They have write access to the code repository and the right to vote for the community-related decisions and the right to
propose an active user for commitership.
- PMC Chair
The chair of a PMC is appointed by the Board from the PMC Members, and is the nexus between the Board and the Project.
- ASF Member
An ASF Member is a person who was nominated by current members and elected due to merit for evolution and progress of the foundation. Legally, a member is the “owner” of the foundation, one of the owners. They have the right to elect the Board, to stand as a candidate for the Board election and to propose a commiter for membership. They also have the rights for propose a new project for Apache Incubator9 , that means they can propose new projects for the possibility to become in an Apache Project.
4. Some projects
A few Apache projects are:
- Apache HTTP Server. This is the main Apache project, with it Apache began a successful set of projects.
- Apache Ant. This project make in a easy way the full project for build software projects. Also it can use in scripting tasks.
- Apache Axis. Apache Axis is a web services engine, including SOAP and WSDL engine, with implementations in C and Java.
- Apache Cassandra. This is the NoSQL, distributed and highly scalable database made by Facebook and now as ASF project.
- Others. Apache Software Foundation has many other projects.
ASF in the Wikipedia. http://en.wikipedia.org/wiki/Apache_Software_Foundation
Contributor Licsense Agreement. http://www.apache.org/licenses/#clas
ASF Foundation Project. http://www.apache.org/foundation/
ASF How-it-works. http://apache.org/foundation/how-it-works.html
ASF Contributors. http://apache.org/dev/contributors.html
And that all my friends!!!