Warner Losh's "Working with Hats" article.
pointy hat to: mwlucas, for thinking he had committed this months ago...
This commit is contained in:
parent
8ad9855b62
commit
27764b85bc
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=13479
2 changed files with 142 additions and 0 deletions
14
en_US.ISO8859-1/articles/hats/Makefile
Normal file
14
en_US.ISO8859-1/articles/hats/Makefile
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
DOC?= article
|
||||||
|
|
||||||
|
FORMATS?= html
|
||||||
|
|
||||||
|
INSTALL_COMPRESSED?=gz
|
||||||
|
INSTALL_ONLY_COMPRESSED?=
|
||||||
|
|
||||||
|
SRCS= article.sgml
|
||||||
|
|
||||||
|
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||||
|
|
||||||
|
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||||
128
en_US.ISO8859-1/articles/hats/article.sgml
Normal file
128
en_US.ISO8859-1/articles/hats/article.sgml
Normal file
|
|
@ -0,0 +1,128 @@
|
||||||
|
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||||||
|
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
|
||||||
|
%man;
|
||||||
|
|
||||||
|
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
|
||||||
|
%freebsd;
|
||||||
|
|
||||||
|
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
|
||||||
|
%authors;
|
||||||
|
|
||||||
|
<!ENTITY % teams PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//EN">
|
||||||
|
%teams;
|
||||||
|
|
||||||
|
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//EN">
|
||||||
|
%mailing-lists;
|
||||||
|
]>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<articleinfo>
|
||||||
|
<title>Working with Hats</title>
|
||||||
|
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Warner</firstname>
|
||||||
|
<surname>Losh</surname>
|
||||||
|
<contrib>Contributed by</contrib>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
|
||||||
|
<pubdate>$FreeBSD$</pubdate>
|
||||||
|
|
||||||
|
<copyright>
|
||||||
|
<year>2002</year>
|
||||||
|
<holder role="mailto:imp@FreeBSD.org">Warner Losh</holder>
|
||||||
|
</copyright>
|
||||||
|
</articleinfo>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>This is not an official statement from core, but rather one
|
||||||
|
core member's personal interpretation of core's position, both
|
||||||
|
as a sitting member of core and as a former security
|
||||||
|
officer. This is only a guideline, not as a cudgel for
|
||||||
|
grievances. Much like &man.style.9 is a guideline for the
|
||||||
|
source code, this document is not intended as an absolute
|
||||||
|
straight jacket.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>When core appoints someone to a hat, they expect that person
|
||||||
|
to be responsible for an area of the source code tree. Core
|
||||||
|
expects that person to be the final authority in that area of the
|
||||||
|
tree, or have enough self knowledge to know that they aren't and
|
||||||
|
to seek qualified help. Core expects that person to guide
|
||||||
|
development in that area of the tree. Sometimes this means taking
|
||||||
|
an pro-active role in day to day affairs, while other times this
|
||||||
|
means taking a reactive role in reviewing committed code.</para>
|
||||||
|
|
||||||
|
<para>When people submit patches that potentially impact this area
|
||||||
|
of the tree, core expects the hat or his appointed deputies to
|
||||||
|
review the patches appropriately. Core expects that the hat will
|
||||||
|
work with the patch submitter to correct issues that there may be
|
||||||
|
with the patches. Core expects the hat to offer solutions and
|
||||||
|
work with the submitter to reach a compromise. Core expects the
|
||||||
|
hat to be courteous. It is reasonable for hats to request that
|
||||||
|
normal project rules be followed when reviewing patches (eg, that
|
||||||
|
they generally conform to style(9) or the prevailing style of the
|
||||||
|
file, that style and content changes be separated, etc).</para>
|
||||||
|
|
||||||
|
<para>When a dispute arises, core expects the hat to make his or her
|
||||||
|
best efforts to compromise or otherwise resolve the dispute. The
|
||||||
|
hat is expected to be courteous to all parties involved. In
|
||||||
|
extreme cases, core recognizes that hats may need to wield a big
|
||||||
|
stick and say <quote>no, that is not acceptable and cannot go in
|
||||||
|
(or must be backed out).</quote> Core views this last power as one
|
||||||
|
of last resort, and would frown on hats using that either too
|
||||||
|
often or as the first response.</para>
|
||||||
|
|
||||||
|
<para>Often times real life happens in the life of a hat. A
|
||||||
|
condition that core generally imposes upon the hats of the world
|
||||||
|
is that they have a deputy that can act in their absence. This
|
||||||
|
deputy is expected to be an active participant in the team that
|
||||||
|
the hat puts together and should be conversant with all the issues
|
||||||
|
that surround the part of the tree that the hat is guiding. The
|
||||||
|
deputy is expected to be able to act in the absence of the hat.
|
||||||
|
For example, the security officer deputies send out security
|
||||||
|
advisories when the SO is not around. In extreme cases, the
|
||||||
|
deputy can defer an issue until the hat returns, but that's
|
||||||
|
expected to be the exception rather than the rule, especially if
|
||||||
|
the hat's return is far in the future.</para>
|
||||||
|
|
||||||
|
<para>Hats are answerable to core. If they are doing good jobs,
|
||||||
|
core will leave them alone. If they are doing a bad job, core has
|
||||||
|
the option to remove them. Hats are expected to work with core if
|
||||||
|
core has issues with their performance of their duties They serve
|
||||||
|
at the pleasure of core.</para>
|
||||||
|
|
||||||
|
<para>Core sometimes will impose additional, specific requirements
|
||||||
|
for a given hat that doesn't apply to all hats. These conditions
|
||||||
|
may change over time.</para>
|
||||||
|
|
||||||
|
<para>Committers and others working with hats are expected to use
|
||||||
|
common sense, and be polite to the hats. They are expected to
|
||||||
|
work with the hat and his team to come to a solution acceptable to
|
||||||
|
everybody. In the event that no compromise can be reached, the
|
||||||
|
committers are expected to accept the decisions of the hat with
|
||||||
|
good grace. In exceptional cases, these decisions can be appealed
|
||||||
|
to core. However, core generally will not override the decisions
|
||||||
|
of the hats that it appoints unless the hat acted in bad faith or
|
||||||
|
arbitrarily. Core is not a technical review board, and has
|
||||||
|
created the hats as mini-TRBs to give dispute resolution a proper
|
||||||
|
framework.</para>
|
||||||
|
|
||||||
|
<para>If a committer feels that a hat is abusing his or her power,
|
||||||
|
or being regularly rude to contributors, then they should bring
|
||||||
|
the matter to core. This problem can be technical, social,
|
||||||
|
process, or some combination or subset of these. Core will hear
|
||||||
|
the case and reach a decision, and expects both sides to abide by
|
||||||
|
their decision. Core appreciates specific complaints rather than
|
||||||
|
general ones as those are easier to resolve.</para>
|
||||||
|
|
||||||
|
<para>Core expects committers to work together in the appropriate
|
||||||
|
mailing lists to resolve their issues. The hat and his team
|
||||||
|
should be relatively rarely involved in their role as hat, and
|
||||||
|
instead should usually be just another committer. (The one
|
||||||
|
exception to this is the security officer hat, which needs to
|
||||||
|
secretly solve vulnerabilities before they are announced.) The
|
||||||
|
hat should be a <quote>first among equals,</quote> not a chairman.
|
||||||
|
|
||||||
|
</article>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue