Apache Governance: Board of Directors

This is the first in a series of essays describing Apache governance. While there are a number of existing documents that explain some of the “hows”, I’m hoping to fill in some of the key information about the “whys” of how the Apache Software Foundation (ASF) actually works day-to-day. Look for more articles on things like the Membership, PMCs, projects, and more coming up!

Organization

The board consists of 9 directors, each serving as an individual. After each annual board election, the board chooses a Chairman from it’s ranks. This is currently done a couple of months after the board election, to give the new board a chance to get to know one another. The board also appoints executive officers for the corporation at that time.

The board meets by conference call and IRC chat monthly. The agenda is published privately to the Membership. All corporate officers make a monthly written report to the board, and every Project Management Committee (PMC) makes a quarterly written report to the board. In this way, the PMCs report directly to the board, not to the President or other corporate officers. All ASF Members and invited guests are welcome at board meetings, except during very rare executive sessions of the board.

Currently, the average monthly agenda includes 10 corporate officer reports, 40 PMC reports, and often a handful of official resolutions. To ease the review process for reports, reports are due well before the meeting begins, and many directors “preapprove” reports by initialing them in the agenda file before the meeting. Each PMC report is assigned a director to serve as “shepherd” for the month; any questions raised before or during the meeting are taken by the shepherd back to the relevant officer or PMC for an answer or resolution. PMCs that report late or where serious questions are raised during the meeting may be asked to provide an additional report at the next monthly meeting.

The President is responsible for managing the day-to-day operations, and helps to coordinate the work of the VP, Infrastructure and the sysadmin team; however VP, Infrastructure also makes a monthly report directly to the board. In this way, the board exercises oversight over all official Foundation activities.

Legal

Article V. of the ASF bylaws specifies a Board comprised of 9 Directors, elected annually by the ASF Membership. The Apache Board is much like the board of directors of any other corporation, responsible for “…management of the corporate assets (funds, intellectual property, trademarks, and support equipment) and allocation of corporate resources to projects.”

The board is responsible for appointing any officers of the ASF, including executive officers – President, Secretary, Treasurer – and other officers, both those with corporate functions (Legal, Publicity), and Vice Presidents of individual Apache projects. The board also sets overall policy for Apache projects, or in many cases, delegates the details of policy setting and implementation to specific corporate officers. Official resolutions are used to appoint or change officer positions, create new Top Level Projects (TLPs) or retire unused projects, and in certain cases to make fundamental policy decisions. Most policy is simply agreed upon by the board and any relevant officer(s), and published on our website.

Communication

With the exception of monthly conference calls, board communication is done over private mailing lists. The board@apache.org mailing list is the primary place where official business is done. All directors, corporate officers and PMC chairs are expected to subscribe to this mailing list and track issues relevant to their areas of responsibility. Many ASF Members also participate, comment, and help resolve issues where appropriate.

Directors will regularly read and participate on various project mailing lists when a board-level issue or question has been raised. This participation is done wearing their board hat: i.e. as a strategic voice, addressing broad ASF policies or important community health issues. Directors participate technically in Apache projects as individuals: directors are not automatically granted committerships, PMC memberships, or even binding votes on any project matters. Directors wishing to influence the technical work of a project must gain merit and be voted in as a committer to that specific project like any other contributor.

Meetings

The board exercises oversight of Apache Projects by reviewing project reports at the monthly board meeting, and by explicitly approving all changes to PMC membership. When PMCs have voted in and nominated a new committer to serve on the PMC, they ask the board for an ACK, or acknowledgment, of the addition. Once any one director sends an ACK email, the official PMC membership roster is updated after a 72 hour wait, designed to give other directors a chance to comment or question the appointment before it is officially recorded.

PMCs are expected to provide accurate and thorough reports to the board of their community health and technical and software release activities. Projects that do not report or have serious issues in their report will be contacted by that month’s shepherd or another director to find a resolution. In extreme cases, where a PMC is dysfunctional or is not following required Apache policies, the board may unilaterally make changes to the PMC or may dissolve a project to correct the issue.

Merit

Board elections are held annually; currently, each board seat is for one year, so all 9 directorships are voted on annually. ASF Members are eligible to nominate people for board seats as well as to vote in the board election. Director candidates run individually, and Member votes are currently cast by Single Transferable Vote (STV). All nominations, position statements, and voting are conducted electronically either over private mailing lists or using our own software for casting votes. Individual votes are kept anonymous, although the full STV calculations are published privately amongst the Membership.

In the past, only existing Members with some history within the ASF have been nominated. While the bylaws allow for any person to be nominated for the board, the amount of trust and expected experience with the Apache Way for directors is such that nominees outside of the existing Membership are unlikely for the time being.

For the first several years after incorporation the board was quite stable, with a majority continuing to serve repeatedly. As the ASF grew in membership around 2004, the board began to change somewhat, with a few new faces appearing each year. Jim Jagielski, one of the founders of the ASF, has remained on the board since it’s beginning.

Directors are expected to serve as individuals on the board, representing the Membership and acting in the best interests of the ASF as a whole. Directors are expected to disclose any conflicts of interest they may have due to their current employment, and recuse themselves when necessary from votes or potentially discussions on subjects they have a conflict with.

Community

While Directors participate in a variety of communities both within and outside of the ASF, the primary community home for directors is the Membership. Most directors follow the main private Members mailing list, where any ASF Member start discussions about a wide variety of topics, spanning from new technologies, policy ideas, questions about project communities, or even personal announcements of weddings and births.

From time to time Directors participate in the communities of various Apache projects when a board-level issue or question is raised; however they do so wearing their individual Director hat. Many Directors are separately committers or PMC members on a variety of Apache projects, where they do technical and community work just like any other committer, wearing a committer hat.

Many Directors also serve in the public community; serving as spokespeople for the Apache Way or granting interviews about the ASF or our projects, or reviewing other open source or charitable foundation works.

Technical

The board does not provide technical direction for any of it’s projects or activities. The board does set broad policies – for example, requiring that all source control systems are run on ASF hardware, and controlled by ASF Infrastructure. Technical direction – either in terms of how to implement infrastructure or what code projects should work on is all delegated to the PMCs or relevant officers.

While this may be a surprise to some, it is a key reflection of how the ASF is intentionally structured to provide maximum freedom to it’s projects. The board and the ASF are happy to provide a home to any software project communities that are willing to follow the Apache Way. The mission of the ASF is to provide software for the common good: we are happy to help like-minded communities to provide that software; are confident that communities will form around software that is useful; and understand that there are many different ways to effectively and collaboratively build software.

Resources

Apache projects are independent and non-commercial

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. There are a few rules that I think may not be documented as succinctly as they should be.

A primary purpose of the basic requirements the ASF places on it’s projects are to help ensure long-lived and stable projects by having a broad enough community to maintain the project even in the potential absence of any individual volunteer or any sea change at a major vendor in that area. The Apache project governance model is explicitly based on a diverse community. This is different from other governance models, like the “benevolent dictator” idea or the often corporate-backed model that Eclipse uses.

Apache projects are independent

This is implicit in the fact that the Project Management Committee (PMC) runs the project, and the fact that PMC members are expected to contribute to the project as individuals, wearing their “PMC hat”. The concept of hats means that when a PMC member votes on project matters, they are casting their vote as an individual acting in the best interests of that PMC, and not as an employee or representative of some third party. There are also certain expectations of diversity within a PMC; the board may apply extra scrutiny to PMCs with low diversity (i.e. PMCs that are dominated by people with a common employer). Similarly, the ASF does not allow corporations to participate directly in project management, only individuals.

There are two important aspects to this independence: project management, and project use by end users.

Apache projects are managed independently

Apache projects should be managed independently, and PMCs must ensure that they are acting in the best interests of the project as a whole. Note that it is similarly important that the PMC clearly show this independence within their project community. The perception of existing and new participants within the community that the PMC is run independently and without favoring any specific third parties over others is important, to allow new contributors to feel comfortable both joining the community and contributing their work. A community that obviously favors one specific vendor in some exclusive way will often discourage new contributors from competing vendors, which is an issue for the long term health of the project.

Apache products may be used independently

All Apache projects must release their code under the Apache License, which clearly specifies the minimum restrictions that users of Apache software must agree to. Apache software is all about being able to use it for virtually whatever our users want: open source, proprietary, secret: we’re happy to have users take our software (although not our name) for virtually any purpose. While our legal guidelines allow certain other software licenses to be used for specific dependencies, the software we release always uses our license.

Extending this idea, users of Apache software should be able to find our software, learn how to use it, and actually apply it to all its common use cases solely by going to the Apache project’s own website. Apache projects should provide sufficient documentation, install features, basic user help (through mailing lists) and services for the common use cases to the user, without them having to rely on third parties. It is important that our users can both make use of our software freely – both in terms of not having to pay for the software, as well as not having to worry about IP claims or other more restrictive licenses on either the software or the configurations or other common materials required to actually use the software.

Apache projects are non-commercial

The ASF’s mission is to produce software for the public good. All Apache software is always available for free, and solely under the Apache License. While our projects manage the technical implementation of their individual software products independently, Apache software is released from the ASF, and is always meant to serve the public good.

We’re happy to have third parties, including for-profit corporations, take our software and use it for their own purposes – even when in some cases it may technically compete with Apache software. However it is important in these cases to ensure that the brand and reputation of the Apache project is not misused by third parties for their own purposes. It is important for the longevity and community health of our projects that they get the appropriate credit for producing our freely available software.

 


 

Reminder: “The postings on this site are my own and don’t necessarily represent positions, strategies or opinions of either my employer nor the ASF.”

Apache new(s): officers, projects, commits

A brief roundup of recent Apache news:

Please welcome a number of new top level projects that have recently been created:

  • Please welcome the Apache jUDDI project, a Java implementation of the UDDI v3 specification, which graduated in August from the Web Services project to be come a top level project.
  • Welcome also the Apache Pig project, a platform for analyzing large data sets often used with Apache Hadoop – where it recently decided to move from being a subproject to a TLP in it’s own right.
  • Likewise, the Apache Hive project has also split off from Apache Hadoop as well, providing a data warehouse providing a simple query language called Hive QL.
  • The Apache Shiro project recently graduated from incubation to become a TLP, and provides a security framework for authentication, authorization, cryptography, and session management.

Finally, I’d like to extend the appropriate thanks and appreciation (which are very large!) to our recently outgoing executive officers:

  • Justin Erenkrantz, our outgoing President, who’s literally traveled the world speaking at events and companies on the ASF’s behalf.
  • Sander Striker, our outgoing Executive Vice President, who’s also been a help in outreach and our infrastructure in many areas.