How is the operation of the Apache Software Foundation

This article will provide an overview of the form of the Apache Software Foundation for the reader everything, I believe that you have been in doubt, but no time to inquire about the contents. Covers: the difference between member and committer, and who decides what, how elections are conducted, infrastructure and how it works, what the board is, what is the PMC, what philosophy incubator behind is, and how ASF deal challenges of the new project and the phenomenal growth of contributors brought over the years. This article will take you behind the scenes approached the Apache Software Foundation, a functioning mechanism behind the probe.

Author: suitable for SI

Original Source: https: //www.apache.org/foundation/how-it-works.html

Reprinted from public ALC Beijing No.

What the Apache Software Foundation?

Apache Software Foundation is a non-profit public charity registered in the United States 503 © 3, was established in 1999, the main purpose:

1. By providing hardware, communication tools and business infrastructure to provide backing for the collaborative development of open software projects.

2. The creation of a separate legal entity, so that you can be sponsored individual or company, and to be able to ensure that these resources will be used for the public interest.

3. individual volunteers to avoid legal proceedings against the Foundation project.

4. Protection "apache" brand for its software products, from other organizations abuse.

Readers are cautioned, the following will be dry boring facts show, but I believe many people still remain for Apache curious, how it all happen? It details how it was? But do not worry, let's recollection of a little history.

A Brief History of the Apache Software Foundation

Foundation was founded in 1999, there were only a few people who gave himself a name is called: "Apache Group", the reason why so called, because several years ago in order to safeguard and support they then developed by the NCSA HTTPD web service.

Then the situation is such that, HTTPD web service software is provided to you free manner, including not only the source code, also contains a modification to allow people to freely and secondary offering of the license agreement, but as time goes by , then gradually transfer the developer interest, other things start to get busy, resulting in a situation that is user projects, but no support.

At this time we began to have some users exchange with each other to fix the software (called "patch"), and how to fix problems and improve the information code, then, Brian Behlendorf created a mailing list on your own machine, so that we can collaborate to fix bug, maintain and improve the HTTPD web service.

Chose "Apache" such a name, mainly for a Native American tribe respect, Apache tribe with its superior skills in warfare strategy and endless stamina and famous. But it is interesting, it is also a pun, "a patchy web server" that is a patchwork of web services, but, to be honest, this is not everyone's mind. In this way, did not take long, the Apache Software development and maintenance of these people who called themselves as "Apache Group" was.

From 1995 to 1999, Apache HTTPD web service, this by the "Apache Group" led the development of the web server software has become the market leader, until now, even now occupy 65% ​​market share.

But the world has never stopped developing, with the growth of the network size, the corresponding economic benefits have also been developed, Apache began hosting a number of new related projects (projects such as mod_perl, php project, java projects, etc.), a growing need a more coherent and organized organizations to guard against potential legal attacks. So, Apache Software Foundation as the situation.

Elitism

Apache web server, and other software is not as developed under an open source license agreement, as it was not originally made by "Heroes" (such as the Linux kernel, Perl, or Python language) initiated an independent, but is owned by several common ideas, people know each other by exchanging information, tinkering, the parties continue to accept the recommendations created.

As the group began to develop their own software version, abandoned the original version of NCSA, more and more people are attracted to and began offering help, first by sending a few patches or suggestions, or reply to e-mail mailing list , then it is possible to provide a more significant contribution.

When the team thinks one developer who had "won" when the qualifications of a community, they would grant the developers direct access to the code repository, which continue to increase the strength of the team, but also improve team development project ability, resulting in more efficient maintenance and development of the team.

We call this basic principle called "elitism": literally, this is the main advantage of the government or common names.

It is worth noting that this model of development is very good, did not generate too much friction, and this is because the other in different ways, and here there is no centralized power and become conservative in Apache team, the couple is considered desirable to provide help of volunteers, not those who want to steal jobs.

Because without those resources (money, energy, time) confusing, so Apache team very much hope that new people can help, they just screening people they consider adequate to accomplish this task and match with others required a friendly attitude, especially when there is disagreement.

In the following, we take a look at the organizational structure of the ASF, then let's sort out what role.

Organization Foundation

With the popularity and market share of Apache Web Server began to gradually increase, due to the openness of the community behind the project and its technical advantages, people began to create a number of projects around the periphery of the Apache web server. Due to their own cultural influence by the community has always been, these projects also used around the same community management model.

So, when you create ASF, though there are several separate communities, each community are concerned about different issues web services, but these communities all agree: while in the process of communication and the establishment of a common goal, follow the same set of cultural rules.

These independent community known as the "project", although similar, but each community showed little difference, which makes them special.

In order to reduce friction and to encourage the diversity of development, ASF did not choose a single so-called high culture compulsive, so the Apache world, each project is its own central decision-making body. Each project is its own software development authority, and there is a great degree of freedom in designing their own technology and its own statutes governance rules.

So many years passed, the cultural influence of the native Apache team is very deep and wide that still has a very high degree of similarity between the current communities.

Foundation is managed by the following entities:

  • Foundation is managed by the Board of Directors is composed of members.

  • Project Management Committee (PMC) Management of specific projects, they constitute the submitter. (Note that each member is defined according to the submitter)

  • Appointed by the board of executives of the company's various policies in specific areas Foundation (legal, branding, fundraising, etc.).

1  Board of Directors (Board)

The Board is responsible for the management and supervision according to the foundation charter company's business and affairs. This includes (infrastructure funding, intellectual property, trademarks and support needed for the project) management of the foundation's assets and the allocation of resources for the project.

However, technical decision-making power concerning the content and direction of the Apache project is assigned to each project management committee.

The Board currently consists of nine members, elected by the members of the Foundation. Details have not specified the number of executive board should have, but historically, this is the first time the number of Board of Directors, has never changed. Every year, the Board of Directors election.

Board page provides additional information, such as the current list of directors, meeting schedules and past meeting minutes.

2  Project Management Committee (PMC)

Project Management Committee established by resolution of the board of directors, responsible for one or more active management of the community, which is also determined by resolution of the Board.

Each PMC consists of at least one ASF officials, they will be designated as chairman, and may include one or more other members of the ASF.

PMC chairman appointed by the Board and to the ASF management (VP), Chairman of the Board of Directors bear the main responsibility and the right to establish rules and procedures for the daily management of the PMC community is responsible, including the composition of PMC itself. Further discussion, the Chairman of the venue Why are managers.

ASF charter defines the mission and the Chairman of the PMC, mailing list information in the past can get further clarification: here and here.

From the point of view Foundation's role is to oversee the PMC. The main role of the PMC is not writing the code, the code is not a review, but to ensure that all legal issues are resolved, the program is followed, each released version is completely community-based. This is the key to our litigation protection mechanisms.

Secondly, the role of the PMC is to promote throughout the community long-term and healthy development, and ensure a certain balance, and access to colleagues praise, and enables collaboration continue. Within the ASF, we are worried about is that the community is a minority-controlled or manipulated, as this community for long-term development is concerned, in terms of robustness or stability are harmful, both in terms of the code, or community structure itself is concerned.

We firmly believe that the role of the role, your role in the ASF, is up to you to decide your own personal, and is a fellow by the ASF granted, it has nothing to do with your job or current employer or company.

ASF is for the PMC has a very high standard. As a PMC, especially PMC Chairman, in fact, ASF board of directors of "eyes" and "ears", so rely on and trust the legal supervision provided by this role.

The Board reserves the right to terminate the PMC passed a resolution.

In Apache Developer Information page has more information on the PMC work, of course, you can also browse all current top-level Apache project.

3  managers

Management staff of the Apache Software Foundation is responsible for overseeing the daily affairs of the Foundation, managers elected by the board.

Roles

In each community Apache project, the elite system implies the need to distinguish between different roles:

user

The user  is to use the public Apache software. They provide feedback to the developers by reporting errors and functional form of recommendations, to contribute to the Apache project. Users can also contribute to the project by helping other users on the mailing list.

Developer

Developers  are relatively well understood, is to write code or documentation is written in the form of projects to contribute to people that they have more diverse forms of participation in the project, such as active in the developer mailing list for discussion, submit code patches, submit a document, suggestions, and even criticism. Developers are also commonly known as  a contributor .

Submitted by

Submitted by  means developers have to write code repository operating authority, and they also signed a Contributor License Agreement (CLA) file, they have to apache.org suffix e-mail address, when they submit patches, does not depend on others, in fact, they can do some minor short-term decision for the project. Project Management Committee members (PMC) may agree (in fact, is the default) and approved by some developers as committers, can be permanent, of course, PMC can also refuse to be submitted by a developer. Please note that here: PMC is a decision, not some independent members.

Members of the Project Management Committee

PMC members are elected by the outstanding performance of developers in the development of the project or to submit those winners, they have permission to write code repository to apache.org suffix e-mail address, with community related affairs of the voting rights, and the right to submit an active user participation. PMC is the only entity as part of its project to, and no other groups can participate. Special emphasis is, PMC must vote its official release project software products.

Chairman of the Project Management Committee

Chairman of the Project Management Committee (PMC) is appointed by the Board from PMC members. PMC is the control and leadership of the project entity. The role of the President is to act as a bridge of communication between the board and the project, of course, as Chairman of the Project Management Committee as well as some other specific duties.

ASF members

ASF members  are nominated by a current member, and then promote the evolution of the Foundation to carry out the elections according to availability. ASF members of concern is the Apache Software Foundation itself, which is usually evidenced by the root causes of project-related and cross-project activities. Legally speaking, the members of the Foundation's "shareholders", is also one of the owners. Their right to elect the board of directors, the board of directors election as a candidate, and made a member of the proposers. They also have the right to propose a new incubator project (we'll see what that means later). ASF members to carry out their daily work coordinated through mailing lists and annual meetings.

Project management and collaboration

Apache projects are managed based on the consensus of the collaborative process. Apache is no hierarchy, of course, different groups of contributors with different rights and responsibilities in the organization.

As the designated Project Management Committee have the right to establish its own rules of self-government, there is no single vision for how the project management committee to run the project and their communities.

At the same time, although there are some differences, but all projects have some similarities:

communication

Communication is done via mailing lists. This means that all the "virtual meeting room" are asynchronous, and based on this is because the developers when located around the world, it is particularly important. (For each project in terms of the Apache, from around the world it is often the case)

Some projects are also additional use, you can synchronize tool of communication, (such as IRC or some other instant messenger), the use of voice communication way is very rare, usually because the barriers of cost and language (verbal text than in writing more difficult to understand).

In general, asynchronous communication is more important because it can create an archive (for search and inspection), and more important is asynchronous communication in line with the nature of community volunteers.

File

Each project has its own project site is responsible, more information can be accessed ASF infrastructure - there have to submit relevant information mentors, developers, PMC and so on.

decision making

Projects are usually self-managed, that is driven by volunteers to do some work. This is known as the "do-ocrac" mode, which means that their choice to complete the task yourself, no one assigned no one is watching. It usually works well!

When the need to coordinate the final decision is adopted by consensus than the lazy method: some of the negative vote of no positive vote is sufficient.

There are three forms of voting the following:

  • +1 - agreed to vote

  • 0 - abstained, no comment

  • -1-- opposition

When the vote, it shall clearly explain in detail alternatives, and voted against. Community and then try to reach a consensus on an alternative proposal to solve the problem. In most cases, this approach can lead to resolve concerns about the negative vote.

This process we call: "consensus", and we think this is a community make healthy functioning of an important symbol.

Principle (philosophy)

Although not explicitly recognized or designated official, but the following six principles is the core idea behind the foundation of philosophy. This is to be praised by the crowd "Apache Way":

  • Collaboration for software development
  • Business-friendly standard license
  • To maintain a consistent production of high-quality software
  • Respect, honesty, technology will be friends
  • Faithful implementation of standards
  • As a mandatory security features

All ASF projects follow these six principles, the same, Apache projects require separate treatment, as far away from inappropriate commercial influence.

Operations

All Apache projects are staffed by volunteers, no one (even if it is Apache members or administrators) are paid by the Foundation to pay, perhaps there are some who are submitted to the contribution from the get paid, but that's not the Apache Software Foundation paid. Party remunerated are those companies use Apache software, want the software to be more robust, so that certain improvements.

Solemnly Tip: Apache is to undertake a number of services, such as accounts, news, media relations and infrastructure management.

ASF principle of individuals

All participating members of the ASF: board seats, management personnel, the submitter, as well as members, all are independent individuals, which is an advantage ASF, the affiliation will not affect the personal contribution.

Unless they specifically stated otherwise, any of the things they mentioned in the message list by themselves to complete. This is entirely a personal point of view independent, ta on behalf of the individual, not as a representative of the company's issued ta salary, can not even be ASF director of view.

In fact, all ASF members have their respective roles: in particular, the Board, managers and PMC chairman. They sometimes need to talk about a policy issue, so in order to avoid expressing personal opinions, they will say that they are talking to their special status. However, in most cases this is not necessary, because personal opinions are usually very effective.

Some people by using a special footer in their email to declare their roles, there are some who sucked their statements enclosed in quotes particular, there are some people use to apache.org suffix mail address, even though they You can use a personal mailbox, the last method is not to be encouraged, because many people have apache.org suffix-mail.

About balance between privacy and open discussion

We discuss as much as possible in public, which encourage openness, public records, and encourage the wider community.

But sometimes internal private mailing list is necessary, without the express permission list, you must not disclose such information in public. Do not copy the e-mail (you do not need CC) between the private and public lists. Such an event would exceed the normal requirements for e-mail etiquette, and lost trust. It can have serious consequences, causing unnecessary confusion and discussion unwise.

Private list is normally used only with personal-related matters (such as a new author's vote), and confidential legal matters.

Foundation incubator project

For a new project to create a smooth, ASF specially set up such a project incubator, to be responsible for helping new projects can successfully join ASF.

Because of elite rule in ASF is a bottom-up operation for the long-term stability of such governance is essential, when the initial stage of the project involved the contributor must understand this, again, its ASF project expected cooperation and openness with the same philosophical attitude.

Incubator responsibilities include the following:

  • Filter letter of intent on creating a new project or subproject

  • Needed to help create the project and its infrastructure

  • Incubation of community supervision and guidance, which have allowed them to achieve excellent open culture

  • Maturity Assessment incubation project, or be upgraded to the official project / sub-project of the state, whereas if the conclusion is a failure, then be resolved through retirement.

It must be noted that the incubator (just like the board) does not perform filtering based on technical issues. This is because the foundation of respect and recommend a variety of technical methods. It does not worry about innovation, and even allows for competition between and within project overlap in functionality.

Incubator is based on the likelihood that a successful elite groups to filter the project, project incubation of the most basic requirements are:

  • A usable code repository - after many years, also experienced a variety of failures, the Foundation gradually began to understand one thing: if there is no initial available code repository, you want to start a community basically very difficult.  In fact, the reason is very simple, that is, you do not even code repository, developers who want to understand you are unable to start, in addition, alone to talk about the idea, then rub some very, very much, to be destroyed in the atmosphere of an early stage of communities out.

  • Intentional it will contain software copyright and intellectual property donated to the Foundation - which obtained an irrevocable and perpetual rights to reallocate the foundation and provide the conditions for handling code, and without fear of being locked itself or its users.

  • ASF members or officials support - this will serve as the primary mentor to provide guidance for programs to help deal with everyday details, as well as keep in touch with the Incubator PMC.

The length of the incubation period of the project's main decision is to look at:

  • The project will increase the diversity of its contributors

  • It can be a good foundation in accordance with the rules established by the elite running

All this seems to realize it is not so difficult, but be sure to keep in mind are all volunteers, and has promoted the harsh conditions of the environment, to attract new contributors is not so easy.

Diversity is very important contributors, mainly by the following two reasons:

  • It provides for the development of the project the long-term stability: in fact, developers who come from the same company or organization at the same time leaving the chances of the project together, much larger than the individuals scattered in different companies or organizations.

  • It provides a more technical vision: it can better ensure compliance with environmental constraints and meet the needs of users, resulting in more efficient grasp of the actual use of the software.

Other Matters Foundation

Like the incubator, the Foundation additionally there are several projects across the Foundation, for example, ASF and no actual office space or building, it is a virtual entity that exists only on the Internet, and allow everything to function properly infrastructure are made to transport infrastructure and maintenance and management of the team.

Detailed description of these projects across the Foundation, please move Foundation page.

ASF also host the Foundation's entire mailing list, the same for more details, please move the mailing list page.

The struggle continues ......

Apache Software Foundation has operated for 21 years, it turns out, the Apache Software Foundation represents one of the best practices of open organization to find a balance between structure and flexibility. We continued to grow from 200 to 7,000 or more contributors, and that number continues to grow, we have created a number of software products in a leading position in its respective market, we also find open between sexual and economic feasibility a good balance point, and now we win everyone's respect and recognition, they include an independent individuals, including some large multinational companies, we also hope for the future of business, government, educational and other software Foundation inspiration.

Guess you like

Origin www.oschina.net/news/114318/how-the-asf-works