ASF Glossary | Apache Software Foundation
ASF Glossary
This glossary provides a brief description of some of the organizational
terms used at the ASF and in Apache projects. For more information
about anything Apache, see the
/dev documentation
or the
Community Development project
Artifact
A file which is created as the outcome of a process, typically the
release preparation process.
ASF
The Apache Software Foundation, a non-profit organization.
Attic
A location for discontinued, abandoned, and retired
codebases
and
projects
. The
Apache Attic project
preserves the information for posterity, reference, and potential
future re-activation, while keeping it clearly distinct from active
work.
Board
The nine-person legal governing body of the ASF, elected by the
members
. The board provides the oversight of the
Foundation's activities and operation, and applies and enforces the ASF's
bylaws
. Among other
things, the board approves or rejects resolutions brought before it,
such as for the creation or dissolution of ASF
projects
funding requests, legal concerns, and disciplinary actions. As an open
and non-profit corporation, the ASF makes the minutes of board meetings publicly available at
These minutes include all decisions not made in
executive
sessions
. Also see
Director
Bikeshed Argument
Arguing (pointlessly) about which color to paint the bikeshed. As
explained
here
it
may happen when the argument is so trivial that it's easy for anyone
to have an opinion, and want to see theirs prevail.
Build
Build
is a package which is not suitable for distribution to the
general public. Builds are works-in-progress, and should only be available to people working on product
development at the Foundation.
Bylaws
Bylaws are a codification of the rules that an organisation follows.
Some, such as the
ASF bylaws
, are legally
binding and have significance outside the organisation. Others, such
as the
Jakarta bylaws
, are only
meaningful within the
community
and are only as binding
as the community itself makes them. The bylaws of an organisation
within the ASF may not contradict those of the ASF proper; any such
conflicting parts in the organisation bylaws are necessarily null and
void.
Chair
1.
The Chair of the
Board
of
Directors
of
the
ASF
, responsible for the orderly meeting and functioning
of the Board.
2.
The official head of a committee, such as a
Project Management Committee
PMC
. PMC Chairs are ASF
Vice Presidents
given charge of the proper operation of their
projects
Codebase
A meaningful group of source. Some
projects
use only a
single codebase, while others have several.
Commit access
ASF
projects
collaborate on code using
version
control
software to coordinate changes.
The ability to make direct changes to that code is known as
commit
access
(from the
[VCS] commit
subcommand). This process patches the
actual official code. Also see
Karma
Committer
An individual who has the privilege to directly commit changes to an Apache
codebase
commit
access
).
Commit-Then-Review
(Often abbreviated 'CTR' or 'C-T-R'.) A policy governing code changes
which permits developers to make changes at will, with the possibility
of a change being retroactively
vetoed
. C-T-R is an application of
decision-making through
lazy consensus
. The C-T-R
model is useful in rapid-prototyping environments, but because of the
lack of mandatory review it may let more bugs through in daily practice than the
R-T-C
alternative. Compare
R-T-C
, and see the description of the
voting process
Community
Group of individuals with a common cause. The community of a
project
consists of all those with an interest in that project.
Community Over Code (formerly called ApacheCon)
The official developer and user conference of the ASF (see the
Community Over Code Web site
).
Consensus Approval
'Consensus approval' refers to a
vote
(sense 1) which has
completed with
at least three binding +1 votes
and
no
vetos
. Compare
Majority Approval
Also see
Lazy Consensus
and the description of the
voting process
Contributor
Someone who makes consistent improvements to the entities under an
ASF
PMC
, code or documentation or otherwise.
This does not, in and of itself, imply
commit access
, though frequent and valued contributors are readily
voted
on for such access.
Contributor License Agreement
Contributor License Agreement (CLA) is sometimes referred to as
Individual Contributor License Agreement (ICLA). There is also a
Corporate Contributor License Agreement (CCLA). All are explained on
the
Licenses
page.
CTR , C-T-R
See
CommitThenReview
CVS
The Concurrent Versioning System, an older
version control
system
Darwinism
See
Software Darwinism
Developer
A user who contributes to a project in the form of code or
documentation becomes a developer. They take extra steps to
participate in a project, are active on the developer mailing list,
participate in discussions, provide patches, documentation,
suggestions, and criticism. Developers are also known as
"contributors".
Director
One of nine individuals elected annually by the
members
to the
Foundation's
board of directors
. Directors may or may not
have individual responsibilities, but all are generally expected to
stay informed about as much of the Foundation's operations and
activity as possible, since the Board provides oversight for the
Foundation as a whole.
Emeritus
A term used to formally designate someone as no longer active, but
still entitled to many of the rights and privileges of the position.
For example, an ASF member who hasn't attended any membership meetings
for a long time is declared emeritus; someone who no longer has time
to work on a particular
project
may declare themself
emeritus. Emeritus status indicates interest but not activity, as
opposed to having resigned.
Evolution
Progress by gradual accumulation of small changes. Typical mode for
Apache projects. Compare
Revolution
Executive Session
A portion of a
board
meeting which concerns confidential
matters and which therefore cannot be publicly minuted. Examples
include salary discussions, areas covered by non-disclosure
agreements, disciplinary actions, and some types of funding decisions.
Git
version control system
used by the majority of ASF projects.
Hackathon
Informal event at which ASF participants can get together, network,
and discuss/argue/hack/prototype according to their interests.
Hackathons are open to all
committers
and invited
contributors, and typically take place immediately preceding or
following the
ApacheCon
events.
Hibernation
Sleeplike state with a depressed metabolic rate. Sometimes used to
describe a
project
with low levels of activity.
Incubator
The Incubator
provides services to
projects which want to enter the ASF.
It helps those incoming projects (called
"podlings"
) adopt
the Apache style of governance and operation and guides them to the ASF
services available to our projects so they can become top-level
ASF projects (
"TLPs"
).
IPMC
Incubator
Project Management Committee
Since the Apache Incubator is also a top-level ASF project, it has its own
PMC as well.
Members of the IPMC can acts as a
podling's
mentor
Karma
1.
Sufficient access to perform an operation, such as committing
changes to a
version control
. ("Please grant Yo
Mega karma to the foo-bar.")
2.
Respect and
merit
in
the
community
. ("Al Faa and Ro Main have good karma because of the
careful and tactful way they make their points and the quality of their
technical contributions.")
3.
Any combination of senses 1 and two; they are indirectly related.
Lazy consensus
(Also called 'lazy approval'.) A decision-making policy which assumes
general consent if no responses are posted within a defined period.
For example, "I'm going to commit this by lazy consensus if no-one
objects within the next three days." Also see
Consensus Approval
Majority Approval
, and the description of the
voting process
License Header
Text, at the top of a code file, referring to the license for the file (as opposed to including the complete
license text).
Majority Approval
Refers to a
vote
(sense 1) which has completed with
at
least three binding +1 votes
and more +1 votes than -1 votes. (
I.e.
, a simple majority with a minimum quorum of three positive
votes.) Note that in votes requiring majority approval a -1 vote is
simply a vote against,
not
veto
Compare
Consensus Approval
Also see
Simple Majority
and the description of the
voting process
Mentor
Also called 'incubation mentors'.
The
Incubator
delegates a few mentors for each podling to
act as liaisons with the various ASF teams:
Incubator PMC
, Infrastructure team,
etc., and facilitate the podling’s growth and operations.
Member
The ASF uses this term in three ways, so it is important to specify which you mean unless the context makes it obvious:
An individual who has been elected to membership in the ASF by the
existing members. ASF Membership benefits include having a voice in
the functioning of the Foundation, and the ability to nominate and vote
on new Member candidates and on directors. Many writers capitalize "Member" when using it in this sense.
An individual who is part of the
Project Management Committee
of a top-level project, or of the Incubator.
An individual who contributes to the work of a
project
's community. This person could be an ASF Member, a PMC member, both, or neither.
Merit
The concept of 'merit' is central to the Apache philosophy and
community
methodology. Merit is a qualitative and
subjective term, referring to a combination of the
worth of one's accomplishments and the respect of one's
peers.
technical competence
ability to get along with others
positive contributions to discussions and code
The acquisition of merit is a cumulative process;
once acquired, it doesn't decay. It is possible to lose merit, though,
by violating community ethics, guidelines, or sensibilities.
Meritocracy
Meritocracy is one of the principles underlying the ASF and its
philosophy. As it has been put, 'the more you do the more you are
allowed to do.' As a person acquires merit, their stature in the
community
and (to a certain extent) the weight
given to their opinions grow.
Netiquette
Netiquette is the common rules of good online
behaviour. For the general case, it is defined in
IETF RFC
1855
; for the more specific
Apache environment, it boils down to things like:
don't flame
lurk for a while after joining a list before posting; this allows you to get a feel for the personalities,
attitudes, and issues, as well as existing rules for acceptable behaviour
be aware of the
project
's/list's guidelines (such as on voting), and don't violate them
if you have a question, search the list archives and the bug database before asking what may have already been answered>
These are just the rough outline of things that may be more (or less) the
rule on a per-list basis. They boil down to 'be polite' and 'don't
make unnecessary work for others'.
NOTICE file
The NOTICE file in a software release package is reserved for a certain subset of legally-required notifications
which are not satisfied by either the text of LICENSE
or the presence of licensing information embedded within the bundled dependency.
See
NOTICE modifications
Also section 4d of the
Apache License
Officer
An individual appointed by the ASF Board of Directors and given
specific authority over and responsibility for some portion of the
Foundation's activities. An officer may or may not be a
director
of the Foundation.
Package (sometimes referred to informally as Tarball or Distribution)
Package
is a compressed archive file created from a project's
source code with the intent to distribute. Packages are typically either
source packages or binary packages built from source; sometimes separate
documentation packages are released alongside the source package. Often
packages have external dependencies which may require additional
software be installed as a prerequisite.
PEO
Professional_employer_organization
PMC
Project Management Committee, the group of people with formal
oversight of a
project
. The chair of a PMC is always an
officer
of the Foundation. As the PMC has official
oversight responsibilities assigned by the
Board
, its
actions are considered to be on behalf of the Foundation, with all the
legal protections and responsibilities implied. See the
Bylaws
Avoid referring to a member of a PMC as "a PMC", as it can cause confusion about
whether you are talking about the group or an individual.
Podling
codebase
and its
community
while in the
process of being incubated. See the description of the
Incubation
process
PPMC
Podling Project Management Committee
, the group of people with formal
oversight of a
podling
PPMC doesn't have a chair. It runs under the oversight of
IPMC
espeically the
mentors
of the podling.
President
Primary executive officer of the
ASF
, serving at the
direction of the
Board
Project
In the Apache Software Foundation, the term '
project
' typically
refers to a
community
focussed on one or more
codebases
, overseen by a
PMC
Release Candidate
A source
package
and other accompanying
artifacts
to be inspected to see whether they are ready for release. The PMC then votes whether to release the candidate.
Release Manager
The individual who takes responsibility for shepherding a release through
the release process to final distribution. Any project
committer
can serve as Release Manager. Often abbreviated
as "RM".
Review-Then-Commit
(Often referenced as 'RTC' or 'R-T-C'.) Commit policy which requires
that all changes receive
consensus approval
before being
committed to the code base. Compare
C-T-R
, and see the
description of the
voting process
Revolution
In the Apache environment, some communities may decide to permit (or
encourage)
revolutions
as ways of reconciling differences,
particularly code changes which have been blocked on a particular
branch by a veto. Originally described by James Duncan Davison in his
'Rules for Revolutionaries,' the concept has been adopted, formally or
informally, by at least one Apache
project
. Essentially, a
revolution occurs when a group of committers decides to fork the
current main branch in order to work on problematic code or concepts.
This permits them to pursue it without disturbing the evolutionary
work on the main branch. A revolutionary branch may eventually be
merged back into the main branch, die out, split completely and become
a new main branch, or may absorb the current main branch into itself
(essentially no different than the first option). See the '
Rules for
Revolutionaries
' and compare
Evolution
Release
Release
is a package offered to the general public by The Apache
Software Foundation.
RTC , R-T-C
See
ReviewThenCommit
Simple Majority
Refers to a
vote
(sense 1) which has completed with
more +1 votes than -1 votes. Note that in votes requiring
majority approval a -1 vote is simply a vote against,
not
veto
Compare
Lazy Consensus
Also see
Majority Approval
and the description of the
voting process
Software Darwinism
A deceptively simple concept, often expressed as 'the best code
survives'. The
evolutionary
processes inherent in the
Apache peer-review environment support this idea.
Software Grant Agreement
See
details of SGAs
STATUS files
Due to the noninteractive style of communication practised by most of
the Apache development projects, maintaining a record of decisions
made -- and in progress -- can be a useful thing. A number of the
Apache projects accomplish this through the use of a file, typically
named
STATUS
, stored in the project's own code repository. In
addition to keeping existing developers informed of current issues,
such files also provide useful information to new would-be developers
investigating the project.
STV
Single Transferable Vote, used in Apache board elections for example.
See
Subversion
version control system
that is "a compelling
replacement for
CVS
". A minority of projects use Subversion (SVN).
SVN
See
Subversion
tabled
The term 'tabled' may be seen in minutes of Board meetings.
For example, "Special Order 7H, ... , was tabled."
In that context it means 'postponed' or 'deferred'.
TLP
Top Level Project, see also
PMC
Treasurer
The treasurer of the
ASF
is an
officer
of the
corporation, and is responsible for managing the funds and assets of
the Foundation, reporting tax information, and so on. The treasurer
need not be a
member
of the Foundation, nor a
director
, though the role is often filled by someone who
is.
Troll
Some definitions:
Gentle
Naughty
Definitive
For how to deal with trolls, see
this thread
but (for those who
are impatient) here's
Ted's opinion
(which acts as a good summary).
User
Someone who uses our software. Users contribute to Apache
projects by providing feedback to developers in the form of bug
reports and feature suggestions. Users participate in the Apache
community by helping other users on mailing lists and user support
forums.
Version Control System
Version control systems provide the ability to track (and potentially
revert) incremental changes to files, reporting them to a mailing list
as they are made, and can be used concurrently by many developers. All
of the Foundation's code and documentation are managed in such systems
thus providing a complete history for each codebase. See
Git
Subversion
and
CVS
Veto
According to the Apache methodology, a change which has been made or
proposed may be blocked through the exercise of a veto by a
committer to the
codebase
in question. If the
R-T-C
commit policy is in effect, a veto prevents
the change from being made. In either the R-T-C or
C-T-R
environments, a veto applied to a change
that has already been made forces it to be reverted. Vetoes may not be
overridden nor voted down, and only cease to apply when the committer
who issued the veto withdraws it. All vetoes
must
be accompanied by a
valid technical justification; a veto without such a justification is
invalid. In case of doubt, deciding whether a technical
justification is valid is up to the PMC. Vetoes force discussion
and, if supported, version control rollback or appropriate code changes. Vetoed code commits
are best reverted by the original committer, unless an urgent
solution is needed (e.g., build breakers). Vetoes only apply to
code or documentation changes; they do not apply to
procedural issues such as software releases.
Vice-President
ASF
vice-presidents are
officers
of the
corporation, with authority over and responsibility for specific
areas of the Foundation's work.
PMC
chairs
are
vice-presidents given charge of the proper operation of their
projects
Vote
1.
The process of making a formal decision. ('The vote for foo
will close in three days.')
2.
The expression of a positive or
negative opinion, or a veto, as part of a formal decision. ('My vote
is -1 because foo smells bad.')
Binding votes
are those
cast by the PMC committers for the
project
to which the
decision applies. Votes cast by others are advisory or indicative
only.
See also
ConsensusApproval
MajorityApproval
LazyConsensus
, and the description of the
voting
process
Subscribe to ASF Plus One, Our Monthly Newsletter
Subscribe Now